Contributing¶
Setup¶
git clone https://github.com/theagenticguy/code-context-agent.git
cd code-context-agent
uv sync --all-groups
Common Tasks¶
| Task | Command |
|---|---|
| Install dependencies | uv sync --all-groups |
| Run CLI | uv run code-context-agent |
| Lint | uvx ruff check src/ |
| Format | uvx ruff format src/ |
| Type check | uvx ty check src/ |
| Test | uv run pytest |
| All checks | mise run check |
| Commit (conventional) | uv run cz commit |
| Bump version | uv run cz bump |
| Security scan | uv run bandit -r src/ |
Dependency Groups¶
| Group | Purpose | Install |
|---|---|---|
| (default) | Runtime dependencies | uv sync |
dev | Dev tools (ruff, pytest, commitizen, lefthook) | uv sync --group dev |
security | Security tools (bandit, semgrep) | uv sync --group security |
docs | Documentation (mkdocs-material) | uv sync --group docs |
| All groups | Everything | uv sync --all-groups |
Versioning¶
This project uses Commitizen with Conventional Commits for automated version management.
Commit Message Format¶
Types:
| Type | Description | Version Bump |
|---|---|---|
feat | New feature | MINOR |
fix | Bug fix | PATCH |
docs | Documentation only | None |
style | Formatting, no code change | None |
refactor | Code change that neither fixes nor adds | None |
perf | Performance improvement | None |
test | Adding tests | None |
chore | Maintenance tasks | None |
ci | CI/CD changes | None |
Breaking changes: Add ! after type or BREAKING CHANGE: in footer (bumps MAJOR).
Version Files¶
Commitizen updates version in two locations:
pyproject.toml->project.versionsrc/code_context_agent/__init__.py->__version__
Pre-commit Checks¶
Run all checks before committing:
Or individually: