- Mintlify documentation source for docs.x402.org
- MDX/Markdown files with
docs.jsonas navigation configuration
advanced-concepts/— Advanced topics (lifecycle hooks, etc.)core-concepts/— Protocol explanations (HTTP 402, client-server, facilitator, wallet)extensions/— x402 extension documentation (Bazaar discovery, and future extensions)getting-started/— Quickstart guides for buyers and sellers (MDX files with tabs)guides/— How-to guides (MCP server, v1→v2 migration)introduction.md— Welcome/landing pagefaq.md— Frequently asked questionsdocs.json— Mintlify navigation and configurationsdk-features.md- Feature list of SDKs
- Changes to
typescript/packages/core/src/affect Core Concepts docs - Changes to
typescript/packages/extensions/src/affect Extensions docs (Bazaar, etc.) - Changes to
typescript/packages/*/src/affect SDK references and quickstart guides - Changes to
python/x402/affect Python SDK references - Changes to
python/x402/extensions/affect Extensions docs - Changes to
go/affect Go SDK references - Changes to
go/extensions/affect Extensions docs - Changes to facilitator endpoints affect quickstart guides
- Changes to
specs/may require updates to core-concepts docs
- Use TypeScript for primary code examples (it's the reference SDK)
- Include error handling in all API examples
- Write for developers with 2-5 years experience
- Use MDX components (
<Tabs>,<Tab>,<Callout>,<Card>) for interactive content - Show both success and error response examples for API endpoints
- Use real-world parameter values in examples (not foo/bar placeholders)
- DO: Add new pages to
docs.jsonnavigation - DO: Include code examples from real SDK files (not made-up snippets)
- DO: Link to relevant specs in
specs/for protocol details - DO: Use
<Tabs>for multi-language code examples - DO: Add frontmatter (title, description) to all pages
- DON'T: Duplicate protocol details from
specs/— link instead - DON'T: Add pages without updating
docs.json - Git: Create PRs for review; NEVER commit directly to main
introduction.md— Landing pagefaq.md— Frequently asked questionsdocs.json— Navigation and configuration (MUST update when adding pages)core-concepts/*.md— Conceptual documentationextensions/*.mdx— Extension documentation (Bazaar, future extensions)advanced-concepts/*.mdx— Advanced topics (lifecycle hooks for custom workflows, etc.)getting-started/*.mdx— Quickstart guides (MDX for tab components)guides/*.md— How-to guidessdk-features.md— Update when SDK capabilities change
- Use
.mdfor standard markdown pages - Use
.mdxfor pages with React components (Tabs, Cards, etc.)
docs.jsoncontrols Mintlify navigation; pages not listed won't appear- Images/diagrams go in project root
static/directory - Code examples should reference actual SDK file paths
- Links between pages should omit file extensions (e.g.,
../core-concepts/http-402not../core-concepts/http-402.md)
- All links work (no broken references)
- New pages added to
docs.jsonnavigation - Code examples are from actual SDK files and compile
- Frontmatter present on all pages (title, description)
- MDX syntax is valid (run
mint devto verify)
When triggered by GitHub Actions or other automated workflows:
- ONLY update documentation directly related to the specific code changes
- Focus on the files and commits mentioned in the trigger
- Update SDK references if API signatures change
- Update quickstart guides if SDK usage patterns change
- Update core-concepts if protocol behavior changes
- Perform general documentation audits or sync operations
- Add documentation for ecosystem partners not mentioned in the code change
- Add documentation for features unrelated to the trigger
- Create PRs for trivial changes (comment removal, formatting, etc.)
- Sync ecosystem partner data from
typescript/site/app/ecosystem/unless explicitly changed
| Code Change | Doc Update Required |
|---|---|
typescript/packages/core/src/*.ts API changes |
Core Concepts, quickstart guides |
typescript/packages/extensions/src/*.ts Extensions changes |
Extensions docs (Bazaar, etc.) |
typescript/packages/*/src/*.ts API changes |
SDK reference, quickstart guides |
python/x402/*.py API changes |
Python SDK reference |
python/x402/extensions/*.py Extensions changes |
Extensions docs |
go/*.go API changes |
Go SDK reference |
go/extensions/*.go Extensions changes |
Extensions docs |
java/src/**/*.java API changes |
Java SDK reference |
specs/*.md protocol changes |
core-concepts docs |
specs/extensions/*.md Extensions changes |
Extensions docs (only if SDK implementation exists) |
| Comment removal, formatting | NO update needed |
| Test file changes | NO update needed |
| Build/CI config changes | NO update needed |
| Ecosystem partner metadata only | NO update needed (site handles this) |
If the code changes are limited to:
- Removing or adding code comments
- Formatting/style changes (prettier, linting)
- Test files only (
*.test.ts,__tests__/, etc.) - CI/build configuration only (
.github/,turbo.json, etc.) - Dependency updates without API changes (
package.json,go.mod, etc.) - Ecosystem partner metadata (
typescript/site/app/ecosystem/partners-data/) - Legacy packages (
typescript/packages/legacy/*,go/legacy,python/legacy)
Then report "No documentation updates needed" and do not create a PR.
When SDK code changes involve:
- New mechanisms in
*/mechanisms/ - New extensions in
*/extensions/ - New hooks in client/server/facilitator files
Update sdk-features.md to reflect the current state. Check all three SDKs (typescript/, go/, python/) when updating.