420 Integrated Application Documentation Contract¶
Every genesis or ecosystem application must fit a predictable documentation model so users and developers do not need to relearn the documentation structure for each app.
Standard application package¶
New application documentation belongs under:
docs/apps/<app-id>/
The preferred package is:
index.md
getting-started.md
user-guide.md
concepts.md
architecture.md
permissions.md
fees.md
security.md
troubleshooting.md
faq.md
developer/
index.md
contracts.md
api.md
events.md
errors.md
examples.md
Not every file is required when a topic genuinely does not apply. A missing applicable topic, however, must not be hidden by collapsing it into an unrelated page.
Minimum release documentation¶
Before an application is considered release-ready, it must provide enough documentation to answer:
- What is this application and why would someone use it?
- How does a new user start using it?
- What actions can change state, transfer value, grant permissions, or become irreversible?
- What does the user sign and what authority is granted?
- What fees, deposits, stakes, or economic consequences can apply?
- What security assumptions and risks matter to the user?
- What common failure modes exist and how are they recovered?
- Which contracts, services, protocols, and canonical registries does the application depend on?
- How does a developer integrate with it when public integration is supported?
- Which network/version/genesis conditions does the documentation describe?
Architecture separation¶
docs/apps/<app-id>/architecture.md documents application-level composition and behavior. Canonical protocol internals belong under docs/architecture/protocols/. Application architecture should link to protocol architecture rather than duplicate it.
User-first writing¶
User documentation should be task-oriented. Prefer titles such as Bridge ETH to 420, Revoke a Wallet Permission, or Recover an Offline Validator over titles that only name internal modules.
Contextual help readiness¶
Application documentation should use stable headings and predictable paths so future dApp help controls can deep-link directly into the relevant section of 420Docs.
Generated developer reference¶
Machine-derived contract, ABI, RPC, SDK, event, and error reference may eventually be generated automatically. Generated pages must clearly identify their source and must not replace explanatory or task-based documentation.