Work on the documentation
This site uses MkDocs Material with the PraisonAI design kit: warm paper, editorial rules, Newsreader titles, Figtree body text and IBM Plex Mono labels. Fonts are served locally; search and the light/dark theme work without a font CDN.
.venv/bin/pip install -e '.[docs]'
.venv/bin/mkdocs serve --dev-addr 127.0.0.1:8001
.venv/bin/mkdocs build --strict
The generated site is in site/, which is ignored by Git. The build does not publish anything. Edit navigation in mkdocs.yml, content in docs/, and the paper theme in docs/stylesheets/paper.css.
Keep validation claims tied to observed results. Preserve the detailed editor handovers when changing summary pages. Local media, API keys, runtime installations and diagnostics belong outside the published site.
Shared skill runbook
The Resolve setup and recovery page is generated by docs/hooks.py from
skills/resolve-mac-live/references/runbook.md. Edit that source once; it is
read by the reusable skill and rendered in this site. MkDocs watches it during
local preview. The public SDK reference remains in docs/reference/resolve-sdk.md.
GitHub Pages deployment
The Build and deploy documentation workflow builds MkDocs on pushes to main and on pull requests. Successful builds on main deploy only the generated site/ directory through GitHub Pages. Pull requests build without publishing.
In repository Settings → Pages, use GitHub Actions as the source and clips.praison.ai as the custom domain. Keep Enforce HTTPS enabled once GitHub has provisioned the certificate.
The DNS record for clips.praison.ai must be a CNAME to mervinpraison.github.io without a repository path. The site URL in mkdocs.yml and docs/CNAME use the same custom domain. With Actions deployment, the custom domain is configured in GitHub's Pages settings; docs/CNAME alone does not configure it.
GitHub Pages serves the static documentation and public generated example. The interactive Streamlit app runs separately in an environment with Python and FFmpeg.