Skip to main content

Docs Stack

This page defines the documentation tooling used by WorldFlux and explains why each library is included.

Purpose

  • Keep docs authoring simple (Docusaurus + Markdown / MDX).
  • Catch documentation regressions early in CI (onBrokenLinks: 'throw').
  • Stay pragmatic: adopt only what is needed for the current project size.

Adopted Libraries (WorldFlux)

LibraryWhy it is used
@docusaurus/core v3Static docs site generator with React-based architecture
@docusaurus/preset-classicStandard theme, search, and navigation UX
@docusaurus/theme-mermaidMermaid diagram rendering in Markdown
prism-react-rendererSyntax highlighting for code blocks
ReactDocusaurus rendering engine

Previous Stack (deprecated)

LibraryStatus
mkdocsRemoved — replaced by Docusaurus
mkdocs-materialRemoved — Docusaurus preset-classic replaces theme
mkdocstrings[python]Removed — API reference tables maintained manually
mkdocs-autorefsRemoved — Docusaurus handles cross-references natively
mkdocs-redirectsRemoved — not needed at current scale
mkdocs-git-revision-date-localized-pluginRemoved — not needed at current scale
mkdocs-minify-pluginRemoved — Docusaurus production build handles optimization
pymdown-extensionsRemoved — Docusaurus MDX handles admonitions, tabs, etc.

Not Adopted in This Revision (and why)

CandidateDeferred reason
Vale style lintingUseful but out of scope for the current minimal change set
Snippet execution pipelineValuable, but deferred to keep CI/runtime cost low
@docusaurus/plugin-ideal-imageDeferred until image-heavy pages are added

Standard Commands

cd website && npm install
cd website && npm audit --audit-level=high
cd website && npm start
cd website && npm run build

Policy

  • Runtime API/architecture is unchanged by docs-tooling updates.
  • Docs dependencies are managed via website/package.json, not pyproject.toml.
  • Docs dependency health is enforced with npm audit --audit-level=high in CI and release dry-runs.
  • New docs tooling should be added only when a concrete docs quality gap exists.