Search
Readers press / from any page and jump straight to the heading that matches.
Write Markdown in a folder and get a complete documentation site: search, navigation, a table of contents and ready-made components. Change what you need in one config file, not by taking the framework apart.
npm create ctrlaltdoc@latest my-docsFree and MIT licensed. Requires Node.js 20.19+ or 22.12+.
Folders become sidebar sections and files become pages. A small _category.yml sets a section’s label, order and badge, and frontmatter covers the rest. There’s no routing
to write and nothing to wire up.
docs/index.md / Your home pagedocs/getting-started/index.md /getting-started A categorydocs/getting-started/installation.md /getting-started/installation A page inside itdocs/getting-started/_category.yml Label, order, badge Sidebar settingsReaders press / from any page and jump straight to the heading that matches.
The sidebar, breadcrumbs, and previous and next links follow your docs/ directory.
Every page gets an “On this page” list built from its headings.
Callouts, tabs, steps, cards, details and figures, written as simple ::: blocks.
Syntax highlighting and a copy button on every code block.
Both themes are built in, and the site remembers which one each reader picked.
Swap fonts and override styles with plain CSS, without touching the framework.
Drop your own Svelte components into a page when Markdown isn’t enough.
One-line routes serve search, pages, and navigation as JSON, so other tools can read your docs.
Everything you can change goes through one public defineConfig() API in ctrlaltdoc.config.ts: title, logo, social links, footer, icons and callouts.
Style overrides live in a plain CSS file. The framework stays an npm dependency, so
updating it is a version bump.
import { defineConfig } from 'ctrl-alt-doc';
export default defineConfig({
title: 'My Documentation',
description: 'Documentation for my project.',
theme: { sidebar: true },
navbar: {
logo: '/logo.svg',
socials: { github: 'https://github.com/owner/project' }
},
callouts: {
note: { label: 'Note', icon: 'info' }
}
});You need Node.js 20.19+ or 22.12+. Everything else comes with the project.
npm create ctrlaltdoc@latest my-docs
cd my-docs
npm install
npm run devRun the project creator. It asks for a name, a site title and an optional GitHub link; press Enter to accept its suggestions.
Start the dev server and add Markdown files to the docs folder. Each folder becomes a sidebar section.
It’s a standard SvelteKit project. Build it and deploy it with the adapter for your host.
ctrl alt doc is a dependency, not a platform. It helps you publish your docs and then gets out of the way.
Read the philosophyYour content is ordinary files in your repository, with a few ::: blocks where you want them.
You change things through configuration and CSS, never by copying the framework into your project.
MIT licensed and developed in the open on GitHub.
There’s no platform or account. The site is yours to build and host wherever you like.