Thank you for your interest in contributing to this project!
This project uses Devenv to configure a hermetic developer shell with Python, uv, Ruff, Ty, pytest, and git pre-commit hooks.
- Ensure Nix flakes are enabled on your machine.
- Activate the developer shell:
(Or allow
devenv shell
direnvwithdirenv allowfor automatic activation).
- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh - Sync all project and development dependencies:
uv sync --all-groups
Before submitting a pull request, ensure all validation checks pass:
# Run all quality and security checks
just check
# Run individual steps
just check-format
just lint
just typecheck
just test
just coverage
just audit# Check code formatting without modifying files
devenv shell format-check
# Format files in place
devenv shell format
# Run Ruff linter
devenv shell lint
# Run type checker
devenv shell typecheck
# Run unit tests
devenv shell test
# Run supply chain security audit
devenv shell audit
# Run devenv integration tests and pre-commit hooks
devenv test# Check formatting
uv run ruff format --check .
# Format code
uv run ruff format .
# Lint code
uv run ruff check .
# Type check
uv run ty check .
# Run unit tests
uv run pytest
# Audit dependencies for vulnerabilities
uv run pip-audit- Atomic Commits: Keep commits focused and logically structured.
- Strict Code Quality: Code must pass
ruff check,ruff format --check, andty check. - Comprehensive Tests: Add unit tests under
tests/for any new functionality and maintain high coverage. - Documentation: Update docstrings and
README.mdfor any CLI or API modifications.