Docs site
The published site at mocks.calab.ai is a static export of the Markdown under docs/. Generation uses the same docs-site skill as calab-ai/neuralops-accelerator (the engine behind docs.neuralop.ai).
Local preview
Requires Node.js 18+.
cd .agents/skills/docs-site
npm ci
npm run vendor
node server.js --root docs --no-open
Then open http://127.0.0.1:4173/. The server watches docs/ and reloads on edit. Entra gating uses docs-site.config.json auth (handbook SPA IDs) unless you override with ENTRA_CLIENT_ID / ENTRA_TENANT_ID. Localhost redirects must be on that app before sign-in works in preview.
Static export
cd .agents/skills/docs-site
npm ci
npm run vendor
npm run export
Output lands in dist/ (see docs-site.config.json). The export writes:
- one HTML page per Markdown file (
index.mdbecomesdist/index.html) search-index.jsonandgraph.json- Release notes stay off (
releases.enabledis false). This repo uses Linear Releases, not GitHub Releases, so the GitHub-backed/releasespage would be empty. CNAME(mocks.calab.ai) and.nojekyllfor GitHub Pages- Entra overlay scripts when valid GUIDs are present in env or
docs-site.config.jsonauth
GitHub Pages
.github/workflows/docs-site-pages.yml builds and deploys on push to main and on workflow_dispatch. Export writes CNAME mocks.calab.ai into the Pages artifact. Auth IDs come from repository secrets when set, otherwise from docs-site.config.json auth (handbook SPA).
After the first successful deploy on main:
- Repo Settings → Pages → Build and deployment → Source: GitHub Actions.
- Custom domain:
mocks.calab.ai. - Azure DNS (zone
calab.ai, RGcalabs-all-shared):CNAMEnamemocks→calab-ai.github.io(TTL 3600, same ashandbook.calab.ai). - Merge SPA redirects on
calab-handbook-auth(see entra-auth.md). Optional: repository secretsENTRA_CLIENT_ID/ENTRA_TENANT_IDto override the config-file IDs. - Once Entra sign-in is confirmed on the live site, set Pages visibility to public. Auth is built into the app; GitHub's private-Pages gate is no longer required. Do not flip public before the overlay is in the deployed artifact.
Configuration
Repo-root docs-site.config.json controls title, scan root, release notes, and the Pages hostname. It is loaded first and wins. A skill-directory docs-site.config.json is only a legacy fallback when the repo-root file is absent. Do not add one under .agents/skills/docs-site/.
What is published
Everything under docs/ except paths listed in exclude. Agent-facing notes under docs/agents/ are included; they are internal process docs, not Azure secrets.