Documentation
Lumie's product documentation lives in lumie-document and is built with
Docusaurus 3. This page is a how-to guide for updating the English
source-of-truth docs, verifying the result locally, and avoiding the most
common Docusaurus and workflow mistakes.
Prerequisites
- A workspace checkout with
lumie-document/docusaurus/ - Node dependencies installed for the Docusaurus app
- The documentation rules available in
lumie-document/AGENTS.md,.codex/knowledge/document/DOC_GEN_RULES.md, and.codex/knowledge/document/DOC_GEN_SIDEBAR_MAP.md
Where Product Docs Live
| Path | Purpose |
|---|---|
docusaurus/docs/** | English source-of-truth pages |
docusaurus/i18n/ko/** | Korean localized pages |
docusaurus/sidebars.js | Navbar-level sidebar roots and doc sidebar wiring |
docusaurus/docs/**/_category_.json | Category labels and ordering metadata |
docusaurus/static/img/ | Static images and assets |
For ordinary page updates, prefer editing an existing English page in docs/** rather than creating a new section.
Step 1: Load The Documentation Rules
cd /path/to/Lumie
sed -n '1,220p' lumie-document/AGENTS.md
sed -n '1,260p' .codex/knowledge/document/DOC_GEN_RULES.md
sed -n '1,260p' .codex/knowledge/document/DOC_GEN_SIDEBAR_MAP.md
Expected success signal: you can confirm the page type, frontmatter contract, and target doc path before editing.
Step 2: Update The English Source Page
Edit the target page under lumie-document/docusaurus/docs/**. For ordinary
changes, update the closest existing page instead of inventing a new category
or sidebar shape.
Required Authoring Rules
Every page must begin with frontmatter containing:
---
sidebar_position: 1
title: "Page Title"
description: "One-line description"
---
Beyond that, Lumie keeps a few rules strict because Docusaurus will not always fail loudly:
- Use the frontmatter
titleas the page title and do not add a second body H1. - Use relative Markdown links for internal docs.
- Put binary assets in
static/img/instead ofdocs/. - Keep technical claims anchored to real code, config, or deployed behavior.
- Verify links manually because
onBrokenLinksandonBrokenMarkdownLinksare configured as warnings, not hard failures.
Inline Mermaid diagrams are allowed and are the preferred way to add lightweight architecture visuals when a diagram genuinely clarifies a flow.
How Lumie Maps Documentation Structure
Three files define the documentation shape:
sidebars.jscontrols navbar-level sidebar roots._category_.jsonfiles control category labels and ordering.- Frontmatter controls page order, title, and description.
Routing references such as .codex/knowledge/document/DOC_GEN_SIDEBAR_MAP.md are useful for choosing the right existing page, but they are not the canonical sidebar structure themselves.
Step 3: Preview Or Build The Docs
Use the Docusaurus app directory for local verification:
cd /path/to/Lumie/lumie-document/docusaurus
npm run start:en
Expected success signal: the English docs dev server starts and the edited page renders locally.
cd /path/to/Lumie/lumie-document/docusaurus
npm run build
Expected success signal: Docusaurus completes the static build successfully and
writes the output into build/.
Use npm run serve only after a fresh build, because it serves the static
output rather than live markdown edits.
Useful Local Commands
cd /path/to/Lumie/lumie-document/docusaurus
npm run start:en
npm run build
npm run serve
Common Failures
- Missing
sidebar_position,title, ordescriptionin frontmatter causes the page to sort unpredictably or disappear from the expected sidebar. - Adding a body
# H1creates a duplicate title because Docusaurus already uses the frontmattertitle. - Absolute links to internal docs break portability; use relative markdown links instead.
- Unescaped braces in headings or plain MDX text can break the page parser.
- Broken links may only show as warnings because
onBrokenLinksandonBrokenMarkdownLinksare configured as warnings indocusaurus.config.js. - Editing localized docs without completing the mirror page leaves the locale tree inconsistent. English source docs should be updated first.
What This Page Does Not Cover
This page focuses on product docs in lumie-document. Internal workflow markdown under .codex/ follows a different routing path and should not be treated as part of the public Docusaurus content tree.
Where To Go Next
- Codex for the shared workflow and routing rules behind doc work.