name: doc-generation description: Guide for regenerating Axone contract schemas and rendered Markdown docs. Use when contract APIs or metadata change, when checking generated-doc drift, or when preparing documentation commits. license: BSD-3-Clause metadata: author: axone.xyz version: "1.0"
Generated Documentation
Source of Truth
Generated docs come from Rust API types and schema metadata:
Rust messages/types + metadata.json
↓
contracts/*/schema/*
↓
docs/*.md
In this repository, the canonical command is:
cargo make docs
Do not treat docs/*.md as hand-edited source files. The Rust types and metadata are the source of truth.
What cargo make docs really does
cargo make docs already depends on:
- prerequisite checks (
npx,awk,perl,jq) cargo make schema
That means one docs refresh can update both:
contracts/*/schema/*docs/*.md
Standard Workflow
Regenerate everything
cargo make docs
Inspect what changed
git status --short
git diff -- docs contracts
Commit the generated artifacts
If the change is documentation generation only, prefer a message such as:
docs(gov): regenerate documentation
docs(vc): regenerate documentation
docs: regenerate generated documentation
Avoid vague subjects such as docs: update generated documentation.
When regeneration is required
Refresh generated docs whenever you change:
- message types in
msg.rs - response types exported in schemas
- doc comments that feed schema descriptions
metadata.json- schema generation code in
src/bin/schema.rs - the docs generation pipeline in
Makefile.toml
File Expectations
After regeneration, review and commit all relevant generated artifacts:
docs/*.mdcontracts/*/schema/*
Even if CI only reports drift on docs/*.md, schema files are still generated source artifacts in this repo and should stay in sync with the code.
Repo-Specific Notes
cargo make docsis the preferred entrypoint; it already triggers schema generation.- The docs renderer uses
@fadroma/schema,jq,awk,perl, andprettierthroughMakefile.toml. - The generated docs reflect the semantics encoded in Rust doc comments. Fix the Rust comments first, then regenerate.