Thanks for helping improve the Agent Client Protocol Python SDK! This guide mirrors the concise tone of the README/index so you can skim it quickly and get back to building.
- Report bugs — file an issue with repro steps, OS + Python versions, and any environment toggles.
- Improve docs/examples — clarify workflows, add integration notes, or document a new transport.
- Fix issues — search for
bug/help wantedlabels or tackle anything that affects your integration. - Propose features — describe the use case, API shape, and constraints so we can scope the work together.
When reporting a bug or requesting a feature, include:
- The ACP schema / SDK version you’re using.
- How to reproduce the behaviour (commands, inputs, expected vs. actual).
- Logs or payload snippets when available (scrub secrets).
- Fork & clone your GitHub fork:
git clone git@github.com:<you>/python-sdk.git. - Bootstrap tooling inside the repo root:
make install. This provisionsuv, syncs deps, and installs pre-commit hooks. - Create a topic branch:
git checkout -b feat-my-improvement. - Develop + document:
- Keep code typed (Python 3.10+), prefer generated models/helpers over dicts.
- Update docs/examples when user-facing behaviour shifts.
- Run the test gauntlet:
Optional:
make check # formatting, lint, type analysis, deps make test # pytest + doctests
ACP_ENABLE_GEMINI_TESTS=1 make testwhen you have the Gemini CLI available. - (Optional) Cross-Python smoke:
toxif you want the same matrix CI runs. - Commit + push:
git commit -m "feat: add better tool call helper"followed bygit push origin <branch>.
- PR title follows Conventional Commits.
- Tests cover the new behaviour (or the reason they’re not needed is documented).
-
make check/make testoutput is attached or referenced. - Docs and examples reflect user-visible changes.
- Any schema regeneration (
make gen-all) is called out explicitly.
Open a discussion or ping us in the ACP Zulip if you’re stuck on design decisions, transport quirks, or schema questions. We’d rather collaborate early than rework later.