Skip to content

docs: migrate documentation to themed Sphinx site - #3280

Draft
TomCC7 wants to merge 6 commits into
sam/sphinx-setupfrom
cc/sphinx-setup-theme
Draft

docs: migrate documentation to themed Sphinx site#3280
TomCC7 wants to merge 6 commits into
sam/sphinx-setupfrom
cc/sphinx-setup-theme

Conversation

@TomCC7

@TomCC7 TomCC7 commented Jul 29, 2026

Copy link
Copy Markdown
Member

Stack

Problem

Sam's PR establishes the Sphinx structure, but the documentation still needs usable
navigation, API cross-references, code-block references, and a production-quality theme.
The team also wants to keep authoring prose in Markdown and retain the Mintlify build
during the Sphinx transition.

Solution

  • migrate Sphinx prose sources mechanically from RST to MyST Markdown
  • retain docs/api.rst for the autodoc-heavy generated API reference
  • activate strict Sphinx references, autodoc, intersphinx, and code-block symbol links
  • adopt PyData Sphinx Theme and align navigation, responsive layout, light/dark modes,
    and visual treatment with the hosted Dimensional docs
  • restore Introduction and Quickstart as top-level destinations with native MyST and
    sphinx-design cards
  • preserve the Mintlify project under docs-old/, including local preview, validation,
    and static export on Node 22
  • validate both Sphinx and Mintlify paths in CI
  • exclude docs-old/ from the canonical documentation link resolver
  • update repository documentation links from .rst to .md

Documentation prose was kept unchanged wherever possible; changes are primarily format
conversion, reference activation, navigation, and presentation.

How to test

Sphinx

uv sync --only-group docs --frozen
.venv/bin/sphinx-build -n -W --keep-going -b html docs docs/_build/html
python -m http.server 8000 --directory docs/_build/html

Open http://localhost:8000/.

Mintlify fallback

Use Node 22:

cd docs-old
npm ci
npm run validate
npm run build
npm run dev

Validation

  • strict Sphinx HTML build with warnings treated as errors
  • 1,455 generated code-symbol links
  • Mintlify validation and 60-page static export
  • 57 passed in dimos/utils/docs/test_doclinks.py
  • git diff --check

The spelling builder remains enabled in CI, where the en_US Enchant dictionary is
installed explicitly.

AI assistance

Codex with GPT-5 was used extensively for mechanical conversion, Sphinx reference
activation, theme and navigation work, diagnosis, and validation. The changes were
directed and reviewed interactively by the author.

Checklist

  • I have read and approved the CLA.

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

@@                Coverage Diff                @@
##           sam/sphinx-setup    #3280   +/-   ##
=================================================
  Coverage             73.64%   73.65%           
=================================================
  Files                  1068     1068           
  Lines                 99443    99445    +2     
  Branches               9124     9125    +1     
=================================================
+ Hits                  73239    73249   +10     
+ Misses                23604    23595    -9     
- Partials               2600     2601    +1     
Flag Coverage Δ
OS-ubuntu-24.04-arm 66.95% <100.00%> (+<0.01%) ⬆️
OS-ubuntu-latest 68.99% <100.00%> (+<0.01%) ⬆️
Py-3.10 68.98% <100.00%> (+<0.01%) ⬆️
Py-3.11 68.98% <100.00%> (-0.01%) ⬇️
Py-3.12 68.98% <100.00%> (+0.01%) ⬆️
Py-3.13 68.97% <100.00%> (+<0.01%) ⬆️
Py-3.14 68.99% <100.00%> (+<0.01%) ⬆️
Py-3.14t 68.98% <100.00%> (+<0.01%) ⬆️
SelfHosted-Large 29.68% <0.00%> (-0.01%) ⬇️
SelfHosted-Linux 36.59% <0.00%> (-0.01%) ⬇️
SelfHosted-macOS 35.62% <0.00%> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
dimos/utils/cli/spy/core.py 98.18% <ø> (ø)
dimos/utils/docs/doclinks.py 56.95% <100.00%> (+1.51%) ⬆️
dimos/utils/docs/test_doclinks.py 97.93% <100.00%> (ø)
dimos/visualization/rerun/init.py 45.16% <ø> (ø)

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

bitrate
bringup
cancelled
cancelling

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cancelling is British
canceling is American

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants