- 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
1.1 KiB
1.1 KiB
Contributing to JIGAIDO
Development Setup
git clone https://git.fbrns.co/shoko/jigaido.git
cd jigaido
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r apps/telegram-bot/requirements.txt
# Run tests
pytest
# Run bot
export JIGAIDO_BOT_TOKEN="your_bot_token"
python -m apps.telegram-bot.bot
Architecture
JIGAIDO follows hexagonal architecture:
- Core (
core/): Pure domain logic - models, ports (interfaces), and services - Adapters (
adapters/): Infrastructure implementations - storage adapters - Apps (
apps/): CLI applications - Telegram bot
Code Style
- Python 3.10+ with type hints
- Async/await for Telegram handlers
- Docstrings for public functions
- Follow existing code patterns
Pull Request Workflow
- Branch from
main - Make changes
- Test locally with
pytest - Open PR with description of what changed and why
- Someone reviews and merges
Issues
Use GitHub Issues for bugs and feature requests. Please be specific — include error messages, steps to reproduce, and your environment.