Skip to content

OpenPhysics/Almanach

Repository files navigation

Almanach

A file-based knowledge base for SceneryStack — API guides, software patterns, styling, and accessibility conventions for building interactive simulations. Designed to be equally consumable by humans (a browsable VitePress site) and LLM agents (generated llms.txt, llms-full.txt, and manifest.json).

No database. Every page is a Markdown file with structured frontmatter, versioned in this repository under docs/.

Quick start

npm install
npm run dev        # local dev server with live reload
Script What it does
npm run dev Start the VitePress dev server
npm run generate Validate all frontmatter and regenerate the LLM artifacts in docs/public/
npm run build generate + full static site build (fails on schema violations or dead links)
npm run preview Serve the built site locally

For LLM agents

Three machine-readable views of Almanach are generated from the Markdown sources and served at the site root (and committed in docs/public/):

  • llms.txt — index of every page with one-line descriptions (llms.txt convention)
  • llms-full.txt — full text of every page in a single file
  • manifest.json — structured metadata: titles, categories, tags, related pages, word counts

Adding content

See the Authoring Guide: drop a Markdown file with the required frontmatter into the folder matching its category, and the sidebar, search index, and all LLM artifacts pick it up automatically. npm run generate enforces the schema; CI enforces it on every push.

Deployment

Pushes to main build and deploy the site to GitHub Pages via .github/workflows/deploy.yml