Documentation, without the baggage.
ctrl alt doc is an open-source documentation framework built with Markdown, Svelte, and Vite.
You need Node.js 20.19+ or 22.12+.
npm create ctrlaltdoc@latest my-docs
cd my-docs
npm install
npm run devThe project creator asks for your documentation site title and optional GitHub repository URL, then writes those values into ctrlaltdoc.config.ts.
Open the local URL shown in the terminal. Your documentation lives in the docs/ directory.
- Markdown documentation with frontmatter
- Nested navigation, breadcrumbs, pagination, search, and table of contents
- Syntax-highlighted, copyable code blocks
- Callouts, details, cards, downloads, figures, file trees, Steps, and Tabs
- Built-in Hugeicons Stroke Rounded icons
- User-authored Svelte components in Markdown
- Server-side rendering and production builds
- Build-time content bundling for serverless and edge deployments
- A complete example documentation set in every new project
Production builds embed Markdown and category metadata in the server bundle. Hosts such as
Cloudflare Workers do not need filesystem access to the source docs/ directory at runtime.
Applications created before this behavior was introduced should update src/lib/server/site.ts:
import config from '../../../ctrlaltdoc.config';
import content from 'ctrl-alt-doc/content';
export function getSiteConfig() {
return { ...config, content };
}Edit ctrlaltdoc.config.ts to customise the title, description, theme, navigation, social links, footer, callouts, and icons.
For user-authored Svelte components, install the component package in your project and import it directly into a Markdown page:
npm install @iconify-svelte/heroicons<script>
import AcademicCapIcon from '@iconify-svelte/heroicons/academic-cap';
</script>
<AcademicCapIcon height="1em" />Read the ctrl alt doc documentation for the complete feature reference.
ctrl-alt-doc— the documentation frameworkcreate-ctrlaltdoc— the project creator
Scoped mirrors are also published to GitHub Packages for GitHub-native workflows:
@ctrl-alt-doc/ctrl-alt-doc@ctrl-alt-doc/create-ctrlaltdoc
npmjs remains the recommended installation source. GitHub Packages requires GitHub authentication, including for public packages. Add the following to .npmrc, replacing TOKEN with a classic personal access token that has read:packages permission:
@ctrl-alt-doc:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=TOKENYou can then install the framework mirror with:
npm install @ctrl-alt-doc/ctrl-alt-docSee CONTRIBUTING.md for issue and pull request guidance. ctrl alt doc is released under the MIT License.