Thanks for your interest in contributing!
- Fork and clone the repo
- Create a virtual environment:
python -m venv .venv && source .venv/bin/activate - Install dev dependencies:
pip install -e ".[dev]" - Run tests:
pytest tests/ -v - Lint:
ruff check src/
- Fork the repo and create a feature branch
- Add tests for any new functionality
- Ensure all existing tests pass
- Run
ruff check src/ --fixbefore committing - Keep PRs focused on a single change
- Ensure CI passes (ruff lint, pytest, CLI checks)
- Use GitHub Issues
- Include Python version, OS, and steps to reproduce
- Include relevant error output
- Python 3.10+
- Type hints where practical
- Follow ruff defaults (Black-compatible formatting)
- Use conventional commits for commit messages (feat:, fix:, docs:, chore:, refactor:, test:)
- Write unit tests for new functions in
tests/test_cli.py - Run full test suite:
pytest tests/ -v --tb=short - Target: 100% coverage for new code
- Never commit secrets or API keys
- Use
pip auditbefore adding dependencies - Follow the security practices in SECURITY.md
By contributing, you agree your work will be licensed under the same license as this project (MIT).