Skip to content

Deploying this docs site

This site is a standalone mkdocs-material project under site-docs/, with its own toolchain (site-docs/requirements.txt) — independent of the docsynth package, buildable and shippable on its own. It is deployed to GitHub Pages.

Run it locally

pip install -r site-docs/requirements.txt
mkdocs serve --config-file site-docs/mkdocs.yml    # live reload at 127.0.0.1:8000
mkdocs build --strict --config-file site-docs/mkdocs.yml   # → site-docs/site/ (gitignored)

--strict fails the build on a broken internal link or a bad Mermaid fence, so CI catches drift.

Deploy (GitHub Pages via Actions)

.github/workflows/docs.yml runs on push to main when site-docs/** changes (or via Run workflow), builds the site, and runs mkdocs gh-deploy --force, which pushes the static output to the gh-pages branch that Pages serves.

One-time setup: Settings → Pages → Deploy from a branch → gh-pages / root. After that, docs changes ship automatically. The site is at https://kashodev.github.io/docsynth/.

One-shot manual deploy: mkdocs gh-deploy --config-file site-docs/mkdocs.yml.

Writing pages

The full audit and page plan lives in feature_explorations/documentation-site.md. The governing rule: the code is the source of truth — every page is re-derived from the source, and the stale DESIGN.md / docs/* are retired rather than copied. Diagrams are first-class (Mermaid via pymdownx.superfences); every flow and structural relationship gets one.