Files
jigaido/README.md
shokollm 99a80b0c62 fix #16: cleanup - remove old/dead code and update docs
- Delete apps/telegram-bot/storage.py (replaced by adapters/storage/json_file.py)
- Delete apps/telegram-bot/__init__.py (empty file)
- Delete apps/telegram-bot/requirements-dev.txt (dev deps in pyproject.toml)
- Update SPEC.md with new hexagonal architecture (core, adapters, apps)
- Update SPEC.md command reference: /update -> /edit
- Update README.md with new project structure and quick start
- Update CONTRIBUTING.md with new architecture and dev setup
2026-04-03 15:12:31 +00:00

57 lines
1.9 KiB
Markdown

# JIGAIDO
> Named after Nanami Kento's Cursed Technique restriction. Suppresses power during normal hours, exerts it during overtime.
A bounty tracking platform. Currently ships with a Telegram bot for managing and tracking bounties in groups and DMs.
## Apps
- **[Telegram Bot](./apps/telegram-bot/)** — Group and personal bounty tracking via Telegram commands, with due date reminders
## Overview
- **Group bounties**: Each Telegram group has its own bounty list
- **Personal bounties**: Private DM bounty list for individuals
- **Admin-only posting**: Only group admins can add/update/delete bounties
- **Universal tracking**: Any member can track bounties to their personal list
- **Due date reminders**: Daily cron notifies users when bounties are due within 7 days
- **Free-form dates**: Natural language due dates (`"tomorrow"`, `"in 3 days"`, `"april 15"`)
- **Link deduplication**: No duplicate links within the same group
## Project Structure
```
jigaido/
├── core/ # Domain layer (pure Python, no external deps)
│ ├── models.py # Domain dataclasses (Bounty, Tracking)
│ ├── ports.py # Port interfaces
│ └── services.py # Domain services
├── adapters/ # Infrastructure adapters
│ └── storage/
│ └── json_file.py # JSON file storage implementation
├── apps/
│ └── telegram-bot/ # Telegram bot CLI application
│ ├── bot.py # Bot entry point
│ └── commands.py # Command handlers
├── tests/ # Unit tests
├── config.py # Configuration management
└── SPEC.md # Full design specification
```
## Quick Start
```bash
# Install dependencies
pip install -r apps/telegram-bot/requirements.txt
# Set bot token
export JIGAIDO_BOT_TOKEN="your_bot_token"
# Run bot
python -m apps.telegram-bot.bot
```
## License
MIT