intersphinx (this site)

You’re reading it. This repo is what builds llamaclaw.dev.

Source: llamaclaw/intersphinx.

How it’s built

  1. GitHub Actions runs on every push to dev or main.

  2. scripts/fetch_siblings.sh shallow-clones all 14 sibling repos into build-siblings/. SSH locally; HTTPS in CI (with an optional PAT via the LLAMACLAW_READ_TOKEN secret for any private repos).

  3. scripts/build_foreign_docs.sh runs the per-language doc builders:

    • cargo doc --no-deps for kronos, copied into source/_static/rustdoc/kronos/.

    • gomarkdoc for tide, written to source/api/tide/godoc.md.

    • rsync of every shell/docs repo’s README.md + docs/ into source/repos/<slug>/.

    • Port esml/docs/source/* (minus conf.py / _ext / _static) into source/api/esml/ so the 47 hand-written pages ship here.

  4. sphinx-build -b html --keep-going source _build/html produces the static site.

  5. actions/upload-pages-artifact + actions/deploy-pages ship it to GitHub Pages. The CNAME file at repo root + a Porkbun ALIAS record make llamaclaw.dev resolve.

The design rule (2026-04-19)

Strict Furo defaults. No custom CSS. Brand colors + theme-aware logo are set via html_theme_options in source/conf.py — that’s the entire design surface. source/_static/custom.css is intentionally empty.

Running locally

git clone git@github.com:llamaclaw/intersphinx.git
cd intersphinx
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
bash scripts/fetch_siblings.sh          # SSH — keychain may prompt
bash scripts/build_foreign_docs.sh      # needs cargo + gomarkdoc
make html
open _build/html/index.html

Rebuild cadence

The site is rebuilt on every push to any tracked repo in the umbrella via a cron trigger — so an esml commit on dev shows up on llamaclaw.dev within ~15 minutes without anyone touching this repo.