Contributing to the docs
Contributing to the docs
Section titled “Contributing to the docs”The published documentation site (routeplane.app/docs)
is rendered from this docs/ folder. The site repo (routeplane-docs) syncs this
tree at build time — so docs live next to the code they describe and ship in the
same PR.
What publishes
Section titled “What publishes”Each top-level folder here (get-started, concepts, features, guides,
integrations) is a documentation section synced to the site. Internal folders
(superpowers/, awesome-submissions/) are excluded. Page order within a section
is the pages list in that section’s meta.json.
The overall section order and the site-only sections — the Cloud API
reference (generated from the Routeplane Cloud OpenAPI spec) and AI resources
(docs MCP, llms.txt, drop-in skills) — live in the routeplane-docs repo, which
renders this tree. Don’t author those here.
Authoring contract (plain Markdown)
Section titled “Authoring contract (plain Markdown)”Pages are plain Markdown (.md), not MDX with imports. The sync enforces this:
- Frontmatter — every page needs
title:(and ideallydescription:). AsourceHash:is managed automatically; don’t hand-edit it. - No
import/exportlines. A whitelisted set of components is available globally without imports:Callout,Tabs/Tab,Cards/Card, and (on the relevant pages)ModelsTable,CalInline. Any other<Capitalized>tag fails the sync. - Callouts — prefer GitHub-style
> [!NOTE]/> [!WARNING]blockquotes, or the<Callout>component. - Internal links are site paths without extensions:
/docs/features/byok, not./byok.md. - Translations — a Chinese page is
<name>.zh.mdbeside the English<name>.md. If you change an English page without updating its.zh.md, the sync flags the translation as stale (it won’t block, but it’s visible).
Adding a page
Section titled “Adding a page”- Create
docs/<section>/<name>.md(and<name>.zh.mdif translating). - Add
<name>to that section’smeta.jsonpageslist in the position you want it to appear in the nav. - Open a PR. The docs site picks it up automatically once merged to
main.