Auto, manual, or hybrid docs that never fall out of sync.
Ovellum is an open-source documentation tool for TypeScript and JavaScript. It lets auto-generated API docs and hand-written narrative live together in the same files, without conflict.
# Install Ovellum globally
npm install -g ovellum
# Run without installing
npx ovellum init
# Add to a project
npm install -D ovellum
A Merge Engine
Tag sections of your Markdown as human-owned with a single comment pair. Ovellum updates the auto-generated parts around them; your prose survives every rebuild.
AI-Native
Every build emits `llms.txt` and per-page Markdown mirrors, so agents read your docs without scraping HTML. AI-ready out of the box.
Drive It Over MCP
Ovellum ships a Model Context Protocol server: agents query symbols, search, and diff — and write prose into protected zones that survive regeneration.
Three Modes
`auto` regenerates from source. `manual` builds a static site from Markdown. `hybrid` (default) merges the two. Switch per-project or per-file.
Orphans Quarantined
When you rename or delete a documented symbol, any hand-written prose tied to it gets archived to `.ovellum/orphans/`. Reviewable in PRs, recoverable any time.
Deploy Anywhere
`ovellum build` produces a self-contained folder — HTML, CSS, ~2 KB of JS. Host it on anything static, or embed it in another build.
Why Ovellum?#
Most documentation tools force you to choose. Either you generate everything from source and lose the human notes, or you hand-write every page and watch it quietly fall out of sync as the code moves on. Teams end up running two parallel worlds, (i) a generated API reference and (ii) a hand-written guide that's three versions behind reality.
Ovellum balances the tradeoff. It introduces a small tagging contract between the tool and the author. You mark sections of a page as yours; Ovellum updates everything around them and never touches the parts you own. When the underlying code changes such as a function renamed, a class removed, the prose is quarantined, surfaced in build summary, and left in version control so you can review what changed and decide what to do.
The same machinery doubles as a Jekyll-style static-site builder. Point Ovellum at a folder of Markdown files and it produces a deployable site: auto-generated sidebar nav, right-side “On this page” table of contents, syntax-highlighted code, auto/light/dark themes. No proprietary format. No runtime JavaScript for the parts the browser doesn’t need.
This site you’re reading was built by ovellum build from website/content/ and deployed to GitHub Pages by a workflow that runs on every push to main.
The whole thing is dogfooded; if Ovellum had a bug, this site would have it too.