|
| 1 | +This repository is the Rust SDK for the Agent Client Protocol (ACP). |
| 2 | + |
| 3 | +The mdbook Table of Contents in `md/SUMMARY.md` contains all relevant documentation. You should keep it up to date as you work. |
| 4 | + |
| 5 | +The crates are found in `src/*`. Each crate's `README.md` and `CHANGELOG.md` describe its purpose and history; the `md/introduction.md` chapter gives a map of how the crates fit together. |
| 6 | + |
| 7 | +## Crate Layout |
| 8 | + |
| 9 | +- `agent-client-protocol` – Core protocol SDK (roles, connections, handlers, schema) |
| 10 | +- `agent-client-protocol-tokio` – Tokio utilities (process spawning, stdio transports) |
| 11 | +- `agent-client-protocol-rmcp` – Integration with the `rmcp` crate |
| 12 | +- `agent-client-protocol-cookbook` – Usage patterns rendered as rustdoc |
| 13 | +- `agent-client-protocol-derive` – Proc macros |
| 14 | +- `agent-client-protocol-conductor` – Conductor binary and library for proxy chains |
| 15 | +- `agent-client-protocol-test` – Shared test utilities and fixtures |
| 16 | +- `agent-client-protocol-trace-viewer` – Interactive sequence diagram viewer |
| 17 | +- `yopo` – "You Only Prompt Once" example client |
| 18 | + |
| 19 | +## Working With the Book |
| 20 | + |
| 21 | +- Source lives under `md/` and is configured by `book.toml`. |
| 22 | +- The `mdbook-mermaid` preprocessor is required for diagrams; install both tools with `cargo install mdbook mdbook-mermaid`. |
| 23 | +- Before the first local build, run `mdbook-mermaid install .` from the repo root to drop `mermaid.min.js` and `mermaid-init.js` alongside `book.toml` (both files are git-ignored). |
| 24 | +- Build the book with `mdbook build`; preview with `mdbook serve`. |
| 25 | +- Publishing is automated by `.github/workflows/mdbook.yml`, which installs the mermaid assets and deploys to GitHub Pages on pushes to `main`. |
| 26 | + |
| 27 | +## Conventional Commits |
| 28 | + |
| 29 | +This repository uses **Conventional Commits** for automated releases via release-plz. All commit messages should follow this format: |
| 30 | + |
| 31 | +``` |
| 32 | +<type>[optional scope]: <description> |
| 33 | +
|
| 34 | +[optional body] |
| 35 | +
|
| 36 | +[optional footer(s)] |
| 37 | +``` |
| 38 | + |
| 39 | +### Commit Types |
| 40 | + |
| 41 | +- **feat:** A new feature (triggers minor version bump) |
| 42 | +- **fix:** A bug fix (triggers patch version bump) |
| 43 | +- **docs:** Documentation only changes |
| 44 | +- **style:** Code style changes (formatting, missing semicolons, etc.) |
| 45 | +- **refactor:** Code changes that neither fix bugs nor add features |
| 46 | +- **perf:** Performance improvements |
| 47 | +- **test:** Adding or updating tests |
| 48 | +- **chore:** Maintenance tasks, dependency updates, etc. |
| 49 | +- **ci:** CI/CD configuration changes |
| 50 | +- **build:** Build system or external dependency changes |
| 51 | + |
| 52 | +### Breaking Changes |
| 53 | + |
| 54 | +Add `!` after the type to indicate breaking changes (triggers major version bump): |
| 55 | + |
| 56 | +``` |
| 57 | +feat!: change API to use async traits |
| 58 | +``` |
| 59 | + |
| 60 | +Or include `BREAKING CHANGE:` in the footer: |
| 61 | + |
| 62 | +``` |
| 63 | +feat: redesign conductor protocol |
| 64 | +
|
| 65 | +BREAKING CHANGE: conductor now requires explicit capability registration |
| 66 | +``` |
| 67 | + |
| 68 | +### Examples |
| 69 | + |
| 70 | +``` |
| 71 | +feat(conductor): add support for dynamic proxy chains |
| 72 | +fix(agent-client-protocol): resolve deadlock in message routing |
| 73 | +docs: update README with installation instructions |
| 74 | +chore: bump tokio to 1.40 |
| 75 | +``` |
| 76 | + |
| 77 | +### Scope Guidelines |
| 78 | + |
| 79 | +Common scopes for this repository (typically the crate name without the `agent-client-protocol-` prefix where unambiguous): |
| 80 | + |
| 81 | +- `acp` – Core protocol changes |
| 82 | +- `conductor` – Conductor-specific changes |
| 83 | +- `tokio` – Tokio utility changes |
| 84 | +- `rmcp` – rmcp integration changes |
| 85 | +- `cookbook` – Cookbook patterns and docs |
| 86 | +- `trace-viewer` – Trace viewer changes |
| 87 | +- `deps` – Dependency updates |
| 88 | + |
| 89 | +**Agents should help ensure commit messages follow this format.** |
0 commit comments