DBCalm Documentation Build Guide
Documentation Structure
/docs/
├── index.rst # Main documentation landing page
├── conf.py # Unified Sphinx configuration (includes ReDoc)
├── Makefile # Unified build commands
├── open/ # Open Source documentation
│ ├── index.rst # Open source landing page
│ ├── api/ # Backend API docs
│ │ ├── openapi.json # OpenAPI specification
│ │ └── *.rst # API documentation files
│ └── frontend/ # Frontend docs (coming soon)
│ └── index.rst
Build Commands
Build All Documentation
Build the entire documentation tree including OpenAPI/ReDoc from the root:
cd /home/martijn/projects/dbcalm/docs
make html
Output: /home/martijn/projects/dbcalm/marketing/public/docs/html/
Serve with Auto-Reload
Serve all documentation with live reload during development:
cd /home/martijn/projects/dbcalm/docs
make serve
Opens browser at: http://localhost:8001
The server starts at the root landing page (index.html) with full navigation to all documentation sections.
Clean Build Artifacts
Remove all built documentation:
cd /home/martijn/projects/dbcalm/docs
make clean
Output Locations
Development & Production
All documentation builds to a single unified location:
Output: /marketing/public/docs/html/
URLs (on marketing site)
Root landing:
/docs/html/index.htmlOpen source landing:
/docs/html/open/index.htmlAPI docs:
/docs/html/open/api/index.htmlAPI specification (ReDoc):
/docs/html/open/api/api-specification.htmlFrontend docs:
/docs/html/open/frontend/index.html(coming soon)
Adding New Documentation
For API Changes
Update RST files in
/docs/open/api/Update
openapi.jsonif neededBuild from root:
cd /docs && make html
For New Components (Frontend, etc.)
Create directory structure:
/docs/{product}/{component}/Add
index.rstand documentation filesUpdate parent
index.rstto reference new component in toctreeBuild from root:
cd /docs && make html
All documentation automatically outputs to /marketing/public/docs/html/ with the same directory structure.
Troubleshooting
ReDoc not showing in API documentation
Ensure
sphinxcontrib-redocis installed:.venv/bin/pip list | grep redocCheck
openapi.jsonexists in/docs/open/api/Check ReDoc configuration in
/docs/conf.pyRebuild:
cd /docs && make clean && make html
Links not working
Check relative paths in RST files
Ensure toctree includes all referenced files
Rebuild to regenerate links:
cd /docs && make html
Serve not working
Ensure
sphinx-autobuildis installed:.venv/bin/pip install sphinx-autobuildCheck port 8000 is not in use
Run from
/docsdirectory:cd /docs && make serve
Dependencies
Install all documentation dependencies:
cd /home/martijn/projects/dbcalm/docs
.venv/bin/pip install -e ".[docs]"
Required packages:
sphinx
sphinx-rtd-theme
sphinxcontrib-redoc
sphinx-autobuild
myst-parser