Documints turns one canonical source into polished pages for humans and structured knowledge for machines.
Write naturally in Markdown, MDX, or React. Keep documentation beside the code it explains or collect it in a dedicated docs directory. Documints discovers it, organizes it, and publishes it as fast static HTML, clean Markdown, structured metadata, full-text search, and agent-ready context.
Human-readable by design. Machine-readable by default.
Documints is intentionally built for one thing: technical documentation. That focus allows it to remove much of the configuration, duplication, and maintenance that general-purpose site frameworks leave to you.
This page explains the principles behind Documints. For implementation details, see Routing, Configuration, and Writing Docs.
Documints is not a general-purpose site builder that happens to support Markdown. It is built specifically for technical documentation.
That focus keeps the API small. Routing, hierarchy, navigation, search, static generation, and machine-readable outputs are part of the system rather than separate pieces you must assemble.
The remaining configuration describes what is genuinely specific to your project: where documents can be found, how major sections are ordered, what appears in the header, and which Vite plugins you want to use.
Less framework configuration means more attention stays on the documentation itself.
Most documentation frameworks begin by deciding where your docs must live, how your folders map to URLs, how navigation must be configured, and which proprietary extension system you need to learn.
Documints starts with the document.
Keep docs beside the code they explain, inside individual packages, or in a traditional documentation directory. Define the files Documints should discover with a glob, and use document metadata to control where each page appears publicly.
Your repository structure and documentation structure remain independent:
The result is documentation that can remain close to the work without forcing your website to mirror your codebase.
See Routing for how document metadata controls hierarchy and public URLs.
Documentation no longer has a single audience.
A person wants typography, navigation, search, syntax highlighting, and interactive examples. An AI agent wants direct access to clean content and predictable structure. A crawler wants complete HTML without executing an application first.
Documints serves all of them from the same canonical corpus.
.doc.md · .doc.mdx · .doc.tsx
│
▼
document graph
│
┌────────────┬───────┼────────┬──────────────┐
▼ ▼ ▼ ▼ ▼
HTML .md .json Search Site manifest
│ │ │ │
▼ ▼ ▼ ▼
Humans Agents Tools Corpus discoveryThe website is not the only product. It is one first-class representation of the same documentation.
.md sibling URLs, without requiring an agent to extract prose from rendered HTML.docs-manifest.json lets a tool understand the site's documents and hierarchy in one request.llms.txt and llms-full.txt provide lightweight discovery and whole-corpus ingestion./.well-known/documints.json tells machines which representations a site provides and where to find them.Every Markdown and MDX page can also advertise its direct Markdown representation with:
<link rel="alternate" type="text/markdown">“View as Markdown,” “Copy as Markdown,” “Open in ChatGPT,” and “Open in Claude” make those representations visible to people as well as machines.
See Using Documints with AI for the full discovery and consumption model.
One corpus. Multiple first-class representations. No scraping required.
Documentation is mostly prose—until it is not.
Use .doc.md for focused writing. Use .doc.mdx when prose needs live components. Use .doc.tsx when the page itself should be a complete React experience.
A TSX document is not a restricted template or a component embedded inside someone else's page model. It is a React page with access to state, interactions, components, and the DOM.
That makes room for documentation experiences that do not fit neatly inside prose:
Every format participates in the same routing, navigation, build, and static-generation system. Choose the right authoring mode for the page without changing frameworks.
The Interactive Preview plugin is one example of this principle: a live, working interface can sit directly beside the source it explains without introducing a separate shortcode language or custom rendering system.
See Writing Docs for the differences between Markdown, MDX, and TSX documents.
Documints avoids introducing proprietary abstractions where the web platform and its ecosystem already provide good answers.
defineDocumintsConfig provides editor autocomplete and compile-time feedback.The development server uses Vite's HMR pipeline, so edits appear without turning documentation authoring into a custom rebuild workflow. Update a .doc.md, .doc.mdx, or .doc.tsx file and see the change immediately without losing your place or resetting an interactive example.
Anything you already know about Vite—plugins, optimizeDeps, the error overlay, source maps, and development tooling—continues to apply.
Documints adds opinions where documentation benefits from them and gets out of the way everywhere else.
Re-theming Documints does not require a provider component or a theme-object schema.
Design tokens compile to CSS custom properties such as:
--documints-color-primary
--documints-color-neutral-600Override them in a CSS file, place the file in .documints/public/, and link it from .documints/head.html. The same conventions also handle favicons, self-hosted fonts, analytics scripts, and other static additions.
See Static Assets & Head for details.
The primary workflow is intentionally compact:
documints dev
documints buildThere is no separate bundler, router, Markdown processor, and static-generation pipeline for you to connect before writing the first page.
See Usage and Plugins for the full configuration surface.
Every route builds to complete HTML and deployable static assets.
There is no production server to operate and no client-side runtime required to make the content visible. JavaScript enhances interactive pages after the document is already present; it does not stand between the reader and the documentation.
That means:
Deploy the generated files to any static host. The output is not tied to a proprietary hosting platform or a server runtime.
Performance is not an optimization mode. It is the default output.
The principles above produce a few important consequences:
Documints is designed around a simple idea:
Documentation should be easy to write, beautiful to read, and directly understandable by machines—without maintaining separate versions of it.
Build a documentation corpus. The website comes with it.