ACP Kit uses uv for dependency management, tool execution, and workspace syncing.
Use the repo commands below instead of ad hoc pip, poetry, or one-off local flows.
- Python
3.11+ uvgit
git clone https://github.com/vcoderun/acpkit
cd acpkit
uv sync --all-extrasuv sync --all-extras is the simplest contributor setup. It installs the root package,
workspace packages, test tools, docs tools, and the pydantic-acp adapter surface used by
most development work.
If you want a narrower environment, the minimum useful setup for code contributions is:
uv sync --extra dev --extra pydanticFor docs work without the full extras set:
uv sync --extra dev --extra docs --extra pydantic --extra codexYou usually do not need to activate .venv manually because the commands below use uv run.
Install hooks with:
uv run pre-commit installRun them manually with:
uv run pre-commit run --all-filesCurrent hook behavior:
- validates YAML and TOML files
- runs
uv run --extra dev ruff check --fix - checks that local package versions are ahead of the latest published PyPI versions
- runs
make check-coverageandmake prodonly for major staged changes
If ruff check --fix rewrites files, re-stage them before committing.
Formatting and validation:
make format: runruff formatmake check-formatted: verify formatting withruff format --checkmake check: runruff check,ty check, andbasedpyrightmake all: runmake formatandmake check
Tests and coverage:
make tests: run the full test suite withpytestmake check-coverage: enforce line and branch coverage thresholds for the adapter packagesmake save-coverage: run the same coverage job and write the summary to COVERAGEmake check-matrix: run lint and type checks across the supported Python version matrix
Docs:
make serve: run the MkDocs dev server on127.0.0.1:8080uv run --extra docs --extra pydantic --extra codex mkdocs build --strict: run the strict docs build used in CI
Higher-cost validation:
make prod: runtests,format, and the multi-versioncheck-matrixgate
For most changes:
- Sync dependencies with
uv sync --all-extras. - Make your change.
- Run
make format. - Run
make check. - Run
make tests. - Run
uv run pre-commit run --all-filesif you want the same hook surface before commit.
Run the stricter commands when they matter:
- If you touched adapter runtime, plan, approval, bridge, or projection code, run
make check-coverage. - If you touched docs or README-linked docs surfaces, run
uv run --extra docs --extra pydantic --extra codex mkdocs build --strict. - If you changed packaging, CI, or anything release-sensitive, run
make prod.
Before opening a pull request:
- Make sure your branch is up to date with
main. - Ensure
make checkandmake testspass. - Run the stricter coverage or docs gates when your changes affect those surfaces.
- Commit with a clean
pre-commitresult. - Push your branch and verify GitHub Actions passes.
- Prefer
uv run ...over activating the environment and calling tools directly. - Do not add new contributor instructions that depend on
pip,poetry,pdm, orpip-tools. - If you change the hook configuration, reinstall hooks with
uv run pre-commit install.