Static documentation site for Majestic. Serves architecture docs, API contracts, invariants, and downloadable bundle.
Domain: majesticcore.dev
Deploy: GitHub Pages (from this repo only)
majestic-api-contracts → source (schemas, contract.json, bundle)
majestic-docs → source (architecture, governance, versioning)
majestic-site → presentation layer (this repo)
Build pulls from both source repos. No runtime logic. Everything generated at build time.
Prerequisites: majestic-docs and majestic-api-contracts as sibling directories.
pnpm install
pnpm run prepare # copies docs + contracts, generates contracts page
pnpm run docs:dev # dev serverpnpm run prepare
pnpm run docs:buildOutput: docs/.vitepress/dist/
On push to main:
- Clone majestic-docs, majestic-api-contracts
- Run
pnpm run prepare(env vars point to cloned repos) - Build VitePress
- Deploy to GitHub Pages
Repo names: Workflow assumes majestic-docs and majestic-api-contracts under the same org as majestic-site. Adjust .github/workflows/deploy.yml if different.
docs/public/CNAME contains majesticcore.dev. Configure GitHub Pages to use this domain.
Base path: Project sites deploy at username.github.io/majestic-site/, so base defaults to /majestic-site/. When using a custom domain (majesticcore.dev), set repository variable BASE_PATH=/ so assets resolve from the root.