The marketing website and developer documentation for unfault, served at unfault.dev.
- Astro - Static site generator
- Starlight - Documentation theme
- React - Interactive components
- TailwindCSS - Styling
- starlight-llms-txt - AI-friendly documentation export
cd www
npm install
npm run devThe site runs at http://localhost:4321.
www/
├── public/ # Static assets (logos, images)
├── src/
│ ├── components/ # React/Astro components
│ ├── content/
│ │ └── docs/
│ │ └── docs/ # Documentation content (MDX)
│ │ ├── index.mdx # Welcome page
│ │ ├── installation.mdx
│ │ ├── quick-start.mdx
│ │ ├── concepts/ # Explanation docs
│ │ ├── tutorials/ # Learning-oriented guides
│ │ ├── guides/ # How-to guides
│ │ ├── contributing/# Contributor docs
│ │ └── reference/ # Reference material
│ ├── pages/ # Marketing pages
│ └── styles/ # Global styles
├── astro.config.mjs # Astro + Starlight config
└── package.json
All documentation follows the Diataxis framework:
| Type | Purpose | Question it answers |
|---|---|---|
| Tutorials | Learning-oriented | "Can you teach me to...?" |
| How-to Guides | Task-oriented | "How do I...?" |
| Reference | Information-oriented | "What is...?" |
| Explanation | Understanding-oriented | "Why...?" |
Write like a senior engineer helping another engineer. Calm, precise, practical. No hype, no urgency. Assume competence.
See AGENTS.md for the complete voice guide.
npm run buildOutput goes to ./dist/.
- Create an
.mdxfile in the appropriate folder undersrc/content/docs/docs/ - Add frontmatter with
title,description, andslug - If needed, update the sidebar in
astro.config.mjs
Example frontmatter:
---
title: Your Page Title
description: A brief description for SEO and link previews.
slug: docs/section/page-name
---The site generates two files for AI consumption:
https://unfault.dev/llms.txt- Condensed documentationhttps://unfault.dev/llms-full.txt- Full documentation
These are automatically generated by the starlight-llms-txt plugin.