Skip to content

Documentation conventions & naming

Keep the handover site consistent for search, bookmarks, and onboarding.

  • English, kebab-case where possible: reading-order, scenario-billing-xero.
  • Stable: avoid renaming slugs without adding a redirect (Starlight redirects in astro.config.mjs).
  • Generated DocType pages use the Frappe folder name in snake_case segments: /doctype-reference/finance-ar-integrations/xero_invoice/.

Sidebar uses short group labels without a Reference — prefix so the nav stays scannable. Content is still reference material unless it lives under Tutorial.

Group labelMeaning
StartOnboarding, scope, glossary, deliverables
TutorialGuided reading order and business scenarios
Platform & architectureFrappe/ERPNext context, diagrams, overview, stack, feature inventory
Modules & domainsFrappe modules and Lee Kim areas
Data & featuresDocTypes, ERD page, generated reference, catalogs
IntegrationsThird-party systems
APIs & code hooksAPIs, hooks, overrides, flows
OperationsDeployment, security, known issues, docs site hosting
  • Use sentence case or title case consistently per section.
  • Generated DocType pages use the DocType name from JSON (often Title Case).
  • Use fenced blocks with language mermaid.
  • Prefer flowchart, sequenceDiagram, and small subgraphs; avoid huge diagrams that are hard to maintain.
  • Build renders diagrams to SVG at build time (rehype-mermaid, strategy: 'inline-svg').

FieldGuidance
titleShort, unique; appears in browser tab and search
descriptionOne sentence for SEO and card previews
sidebar.orderLower numbers appear earlier within a section

Keep titles stable when possible — changing titles often is fine; changing slugs requires redirects.

When referencing files, use backticks and repo-relative paths: `leekimerp/api/xero.py`. For browsable docs links, use root-absolute paths: [API inventory](/api/inventory/).

Do not paste production URLs, tenant IDs, or PII in examples. Use placeholders like https://example.com and CUST-0001.