Handbook
Documentation authoring
Updated
- Source: narrative docs live in this repository under
docs/; the static site is built fromforge-lcdl-website(submodule +generator/build-site.py). See Website publishing. - Frontmatter: use
title,description, optionalaudience,learning_level,handbook_area,status,nav_order,tags,hide_from_nav. layout_type: declare one oflanding,hub,tutorial,howto,reference,enterprise, orconcept(see Documentation design system). Uselongform_ok: truepluslongform_reason:only when a page must exceed the usual word budget.- Bulk helper:
python3 scripts/ensure_handbook_frontmatter.py --applyfills missingtitle/descriptionon nested IA pages (review generated YAML). - Strict audit:
python3 scripts/audit_docs_site.py --strictrequirestitle+descriptionon handbook paths (see script’s_needs_frontmatterlogic). - UX warnings (non-fatal):
python3 scripts/audit_docs_site.py --ux-warningsprints layout/table/word-count hints (seedocs/design/lcdl-page-layout-taxonomy.md). - Diagrams: do not add Mermaid to handbook-bound pages (workspace policy). For Kitchen Sink tiles use fenced
```blueprint-diagram(see Kitchen Sink README — blueprint diagram fences);key:must match catalog types (linear,swimlane, …). Keep an ASCII or text fallback where needed. - Links: use relative links between docs; after moves, run
python3 scripts/fix_docs_internal_links.pyto normalize legacydocs/FOO.mdhrefs when needed. - Task catalog draft:
python3 scripts/generate_task_catalog_md.py --write docs/reference/task-catalog.generated.mdrefreshes the generated table;python3 scripts/generate_task_catalog_md.py --checkfails CI when the committed file is stale. - Quality gates:
python3 scripts/audit_contract_docs.py --strict --strict-md(JSON sidecars + contract Markdown heuristic for all catalog tasks).python3 scripts/audit_docs_site.pychecks handbook relative links;--strictalso enforces frontmatter on nested IA pages—expect failures until legacy stubs are migrated. Optional--strict-md-only id1,id2targets a subset when triaging.