- Waykit
- Product guide
- Architecture Decision Records
- 0006. Vite app renders public docs from Markdown
- Status
- Superseded by ADR-0007
- Date
- 2026-09-01
- Deciders
- kit maintainers
0006. Vite app renders public docs from Markdown
Context and Problem Statement
The public site at eval-driven-development.dev was a hand-maintained index.html plus a copy of Markdown files for GitHub Pages. Landing copy drifted from docs/, the HTML was not reviewable as content, and adding a page meant editing chrome, sitemap, and assemble allowlists. We needed one authoring path: Markdown in the repo, HTML as a build.
Decision Drivers
- Landing and guides should be editable as Markdown
- Stable
.mdURLs for agents (llms.txt, kit-knowledge) must stay - GitHub Pages remains the origin (DNS in edge-dns)
- Match the ArchLens / product-template pattern: Vite imports
*.md?raw,react-markdown, prerendered route shells for crawlers
Considered Options
- Option A: Keep the static HTML landing and copy Markdown into
site/ - Option B: VitePress / Docusaurus as a separate docs framework
- Option C: Vite + React docs app in
web/, glob Markdown fromdocs/,SOPs/, and eval write-ups, prerender routes, overlay raw Markdown on the Pages artifact
Decision Outcome
Chosen option: "Option C", because it reuses the same docs pipeline as ArchLens without a second product SPA, and authors still ship .md files next to the HTML app.
Consequences
- Good, because a new SOP or ADR is a Markdown file; the sidebar is derived from the glob
- Good, because interactive landing widgets (today jobs, eval demo, ontology) are explicit
widgetfences indocs/home.md - Bad, because
pnpm --dir web buildis required beforekit site assemble - Site chrome lives in
web/(site.css, landing widgets,web/public/assets/logos). Ontology generate writes gitignoredweb/public/assets/ontology-index.json.
Architecture sketch
Links
- Related ADRs: 0004
- Arch norms: hexagonal, DDD, vertical slices (CODING_PHILOSOPHY via kit)