Further improve docs#8
Merged
nikomatsakis merged 8 commits intoagentclientprotocol:mainfrom Nov 4, 2025
Merged
Conversation
Updated the lib.rs crate-level documentation to include: - Quick start example showing how to build an ACP agent - Links to learning resources and examples - Related crates section This makes the crate documentation more discoverable and user-friendly, matching the content from the README.
Updated all documentation examples to use the cleaner cloning pattern:
```rust
cx.spawn({
let cx = cx.clone();
async move {
// ...
}
})
```
Instead of the previous pattern:
```rust
let cx_clone = cx.connection_cx();
cx.spawn(async move {
// ... use cx_clone
})
```
This makes the examples more idiomatic and easier to read by keeping
the clone close to where it's needed and scoping it within the spawn call.
Added crate-level documentation to sacp-proxy lib.rs including: - Overview of what proxies are and their use cases - Quick start example showing minimal proxy setup - Example showing how to add MCP servers - Explanation of key concepts (predecessor/successor, extension traits) - References to example files (minimal.rs, with_mcp_server.rs) - How proxies work under the hood - Related crates section This makes the crate documentation more discoverable and helps users understand how to build proxy components that extend agent functionality.
Added #![deny(missing_docs)] to both sacp and sacp-proxy crates and documented all previously undocumented public items: sacp: - Module documentation for acp, capabilities, jsonrpc, and util - JrHandler::describe_chain method - Handled enum variants - JrRequestCx::cast method - UntypedMessage fields and methods - Handler structs (RequestHandler, NotificationHandler, MessageHandler, ChainHandler) - Utility functions (internal_error, parse_error) sacp-proxy: - MCP over ACP protocol constants and types - AcpProxyExt trait - Handler constructors for successor messages - McpServiceRegistry::new This ensures all public APIs have documentation and helps maintain documentation quality going forward.
Renamed the `json_rpc_cx` method to `connection_cx` for better clarity and consistency with the `JrConnectionCx` type name. BREAKING CHANGE: The `JrRequestCx::json_rpc_cx()` method has been renamed to `JrRequestCx::connection_cx()`. Update all call sites accordingly.
Added crate-level documentation to sacp-conductor lib.rs including: - Overview of what the conductor does and its role - Usage examples for both agent mode and MCP bridge mode - Explanation of how component communication works - Process management details - Example use case showing proxy stacking - Module documentation for component, conductor, and mcp_bridge - Related crates section This makes the conductor's purpose and usage clear for users wanting to orchestrate proxy chains or bridge MCP servers.
Added comprehensive documentation to elizacp's main.rs including: - Overview of what elizacp is and its use cases - Feature list highlighting classic Eliza patterns and ACP support - Usage examples showing how to run the binary - Implementation notes about per-session state management While elizacp is a binary crate without lib.rs, this documentation helps anyone reading the source code understand the purpose and architecture of the Eliza ACP agent.
Added clickable links to example files in the crate-level documentation: sacp: - simple_agent.rs - Minimal agent implementation - yolo_one_shot_client.rs - Complete client example sacp-proxy: - minimal.rs - Simplest possible proxy - with_mcp_server.rs - Proxy that adds MCP tools This makes it easier for users reading the docs to navigate directly to the example code on GitHub.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.