ADR-009: Documentation Platform — Docusaurus
Status: Accepted Date: 2026-03-16
Context
The PSSaaS project has 14+ markdown documents covering architecture, legacy analysis, business logic deep-dives, and strategic context. These documents need a presentation layer that supports navigation, search, and rich content (diagrams, interactive components).
Options considered:
- MkDocs (Material theme): Python-based, used by PowerSeller X. Simple and fast.
- Docusaurus: React-based, MDX support, versioning, search plugins.
- Raw markdown in Git: No presentation layer, read in IDE or GitHub.
- Confluence/Notion: SaaS documentation tools. Vendor lock-in, no code-adjacent workflow.
Decision
Docusaurus (React-based static site generator). Run locally in Docker for authoring. Deploy to Azure Static Web App for team access. MDX support allows embedding React components.
Key factors:
- MDX support: Can embed interactive React components (mockups, ER diagram explorers, calculation visualizers) directly in documentation
- React alignment: Same technology as the SaaS frontend — component prototyping in docs can migrate to the app
- Containerized: Runs in Docker, no Node.js install required on developer machines
- Versioning: Built-in doc versioning for tracking architecture evolution
- Search: Algolia DocSearch or local search plugins
Consequences
Positive:
- Component prototypes built in docs can be promoted to the actual application
- React developers can contribute to documentation with familiar technology
- Static site deploys cheaply to Azure Static Web App
- MDX allows mixing prose and interactive content
Negative:
- Node.js dependency (contained in Docker, so minimal impact)
- Heavier than MkDocs for simple markdown rendering
- Different doc platform from PowerSeller X (MkDocs) — no doc tooling reuse across products