Reusable Astro documentation portal for GitHub Pages.
- Aggregates markdown from multiple repositories listed in
sources.yml - Keeps docs in the owning repo
- Generates docs navigation automatically
- Builds a static searchable portal
- Uses GitHub issue forms and Actions for V1 source requests
npm install
npm run devEach source repository needs:
docs/.docs-source.yml
Example metadata:
id: project-docs
name: Project Docs
category: Engineering
description: Architecture, operational, and user guidance for a project.
docs_path: docs
tags: [project, docs]
navigation: [concepts, guides, reference]Register sources in sources.yml.
localPathis supported for local/demo sources.- Without
localPath, the sync script clonesrepofrom GitHub.
npm run sync— sync source repositoriesnpm run prepare:docs— sync + build generated docs metadatanpm run build— sync sources, prepare generated docs, and build Astronpm run build:static— build from committed generated docs without cloning sourcesnpm run validate:sources— validate source definitions
deploy.yml builds Astro from committed generated docs and deploys dist/ to GitHub Pages.
Use the scheduled source-sync workflow to refresh cloned source content.
The issue forms and create-section.yml are scaffolds.
Wire your org secrets before enabling self-service repo creation:
MSP_ADMIN_TOKENor a GitHub App tokenMSP_SYNC_TOKENfor cross-repo cloning when neededMSP_TEMPLATE_REPOSITORYrepo variable for template generation
create-section.yml intentionally stops short of mutating sources.yml automatically until those org details are known.
skipped: full GitHub App provisioning, add when org secrets and template repo are finalized.