Aggregation and Reference Pipeline
This site is assembled from generated content plus authored pages.
Inputs
- Repository metadata in
data/repos.json - Authored site pages under
docs/:index.md,architecture/,guides/, andrepos/index.md - Pinned schema versions in
schemas/anolis-version.json - Generator scripts under
scripts/
Schema Injection
scripts/inject-schemas.mjs fetches pinned release artifacts from anolishq/anolis and writes them to docs/public/schemas/anolis/ so VitePress serves them directly.
These injected files are used both as published static assets and as inputs to reference generation.
Repo Docs Aggregation
scripts/aggregate.mjs does the following:
- Clones each repo from
data/repos.jsoninto.tmp/<repo> - Copies docs from
<repo>/<docsPath>intodocs/repos/<repo> - Excludes known tooling artifacts such as
Doxyfile - Generates a fallback
index.mdwhen noindex.mdorREADME.mdexists
The static docs/repos/index.md is preserved between runs.
Reference Generation
scripts/generate-reference.mjs generates docs/reference/.
Today the implementation is a minimal placeholder. The intended completed behavior is:
- Generate protocol reference from
anolis-protocol - Generate runtime API reference from
anolis - Publish a browsable reference index in
docs/reference/index.md
Full Build Flow
pnpm build runs:
node scripts/inject-schemas.mjsnode scripts/aggregate.mjsnode scripts/generate-reference.mjsvitepress build docs
Output Directories
docs/public/schemas/anolis/: injected pinned schema artifactsdocs/repos/: generated from source repositoriesdocs/reference/: generated reference contentdocs/.vitepress/dist/: static site output
Temporary clones are written to .tmp/ and should not be committed.
