com um clique
api-doc-comments
// Guide for writing Rust doc comments that produce accurate generated contract documentation. Use when editing Instantiate/Execute/Query/Response types or any public schema-facing API.
// Guide for writing Rust doc comments that produce accurate generated contract documentation. Use when editing Instantiate/Execute/Query/Response types or any public schema-facing API.
Axone contract structure and Abstract SDK patterns. Use when scaffolding or refactoring contracts, deciding layer boundaries, wiring AppContract entrypoints, or adding module metadata and replies.
Axone deployment workflows with cargo-make, cw-orch, and Abstract. Use when publishing modules, installing them on accounts, running local chain tasks, or inspecting deployments.
Domain-driven modeling patterns for Axone contracts. Use when introducing domain concepts, encoding invariants, or deciding boundaries between domain, handlers, services, gateways, queries, and state.
Repository quality gates for Rust and generated artifacts. Use when validating changes locally or before committing Rust, schema, or documentation updates.
Patterns for Rust testing in Axone CosmWasm contracts. Use when adding unit tests, integration tests, data-driven cases, or coverage-oriented test scenarios.
Best practices for designing CosmWasm smart contract APIs. Use when defining message types, designing execute/query interfaces, or optimizing API ergonomics.
| name | api-doc-comments |
| description | Guide for writing Rust doc comments that produce accurate generated contract documentation. Use when editing Instantiate/Execute/Query/Response types or any public schema-facing API. |
| license | BSD-3-Clause |
| metadata | {"author":"axone.xyz","version":"1.0"} |
The generated documentation is only as good as the Rust doc comments on schema-facing types.
Write the comments on the source types first, then regenerate docs with the doc-generation workflow.
Document all schema-facing public items:
Prefer comments that are:
Avoid comments that are:
Explain what the message or field means in the protocol, not only its Rust type.
Document constraints such as:
When the public API intentionally uses String or Binary, document the encoded format explicitly.
Examples from this repository include:
StringBinaryUse short examples when the payload format is not self-evident, especially for:
For Axone contracts, strong API comments often need to explain:
These semantics matter more than low-level implementation detail.
Good details to include:
governance:decide/3"Weak details to avoid:
api-design to shape the contract surface itself.doc-generation after comment changes to refresh generated artifacts.