Docs Contribution Guide
1.0.0How to update docs content, lint changes, and import legacy markdown.
On this page
Update flow
-
Edit markdown/MDX under
apps/landing/src/content/docsor legacy markdown indocs/. -
Run the docs linter:
pnpm docs:lint -
Preview locally with
pnpm --filter @app-factory/landing devand browse to/docs. -
Commit changes alongside relevant code updates so docs stay synchronized with behavior.
Info
The docs site imports legacy markdown directly (e.g., docs/ARCHITECTURE.md).
Update those files in place; the docs hub will render them automatically.
Adding new pages
- Register the page in
apps/landing/src/lib/docs/manifest.tswith slug, title, description, and source. - Use the reusable MDX components (
<Callout />,<Tabs />,<CliSnippet />,<DocLink />) for consistent styling and navigation. - If a page is enterprise-only, set
enterpriseOnly: truein the manifest so gating and analytics behave correctly.
Legacy content
- Pages flagged with
legacy: trueshow a banner automatically. Use this for pre-Supabase workflows that should not influence new work. - Keep legacy docs up to date enough to provide context, but add explicit migration steps when behavior diverges.
Testing
- Docs pages rely on filesystem reads; run
pnpm lintandpnpm test:smoketo ensure Next.js builds and smoke tests continue to pass. - For API/CLI auto-generation, rerun the docs after modifying
ops/forge-api/openapi.yamlor CLI metadata. The docs will parse the latest definitions at request time.