clean-jsdoc-theme
A clean, responsive, and customizable documentation theme for JSDoc and TypeDoc. It turns your source comments into a fast static site with server-rendered HTML, lazy-hydrated interactive islands, a built-in fuzzy command palette, light/dark themes, and a co-located .md of every page so LLMs can read your docs too.
đ§ These docs are a work in progress. This is an early preview while we rebuild the site for v5. Some pages are missing and others will change. A complete version is coming soon â thanks for your patience.
âšī¸ This very site is generated using
clean-jsdoc-theme. Every page you are reading â including this prose and the API reference â was produced by the theme itself, so it doubles as a live demo of what your own docs can look like.
Why clean-jsdoc-theme
- Looks great out of the box. Modern, responsive layout with first-class light and dark modes â no CSS required to get started.
- Fast, framework-free output. A static site built on a Preact + MDX + esbuild + Pagefind pipeline. No client framework to ship, no build config to maintain.
- Interactive where it matters. A fuzzy command palette (
âK), a scroll-spy table of contents, copy-to-clipboard code blocks, tabbed examples, and a Monaco-powered source viewer â each loaded only on the pages that use it. - Prose and API in one site. Mix hand-written Markdown guides (like this page) with auto-generated API reference from your JSDoc/TypeDoc comments.
- LLM-friendly. Every page ships a companion
.mdand a one-click "copy page" / "open in Claude" button, so your docs are readable by humans and models alike. - Customizable. Site name or logo, Google Fonts, sidebar menu, section ordering, custom CSS/JS, and more â all from your
jsdoc.json.
Where to next
- Getting Started â install the theme and point JSDoc at your project.
- Packages â the monorepo's packages and what each one is for.
- API Reference â browse a real, theme-generated API page in the sidebar (see the
sample-apimodule).