HTML for people, MD for agents.
A documentation engine that ships as one native Rust binary. One config file points Folio at the source and guides already in your repo. Open source.
$ curl -LsSf https://pguijas.github.io/folio/install.sh | shFrom source
One build. Every output generated from it.
Source in
$ folio build
Output
Capabilities
Everything a docs site needs. Built-in plugins add a roadmap and an OpenAPI index.
No. 01
30 MDX components
Callouts, tabs, steps, timelines, file trees, Mermaid, KaTeX, API tables.
No. 02
Built for agents
When enabled, the build emits llms.txt, a Markdown mirror per docs page, and a typed authoring contract.
No. 03
Search without a service
Pagefind indexes every docs page at build time; the index ships with the export.
No. 04
GitHub Pages, zero config
Base path inferred, branch previews included, and the same export runs on Vercel, Netlify, or Docker.
No. 05
Built-in plugins share one registry
Roadmap, OpenAPI, and this landing are compiled into the binary and use the same registry. Project plugins: Not available in this release.
No. 06
Theming without forking
Presets, tokens, variants, and a live configurator in the shipped UI; overlay individual template files when that isn't enough.
Use cases
Who picks Folio
Maintainers
API reference straight from source
The source you already maintain becomes the pages your users read.
Why this site has no reference yet
Agents
Your agent reads what you ship
A coding agent edits docs in the same PR that changes the code.
Read this site's llms.txt
Migrating
Your Markdown stays put
Point Folio at the folder you already have; Google and NumPy docstrings need no conversion.
See the migration guide
We run on it
The real roadmap, from the same build as this page.
Not a screenshot: the roadmap plugin rendering YAML from this repository.
Folio Docs
Source analysis, theming, one binary, agent readiness, every language, then the open platform at 1.0. Everything that turns a repository into a published site.
Foundation
Source analysis
Python first: source in, documented site out.
- One command sets the project up
- Reads your source, never runs it
- API reference and your guides in one site
- Types in signatures link to their pages
- Edit a docstring, see the page
- A component library and full-text search
- llms.txt from day one
Theming
Visual ownership
Own the look at any depth, then ship it anywhere static files go.
- Presets, shareable packages, or your own template
- Readers retheme the site from the site
- A preview site per pull request
- Social preview images
One Binary
One platform
One native binary reads Python, JavaScript and Rust; the built-in plugins share one contract, and this site runs on it.
- The core in Rust: one native binary, no Python to install
- Three readers in the binary: Python, JavaScript, and Rust
- Built-in plugins ship pages, components, and data
- Your own React components in any page
- Every project ships its authoring contract
- Every page gets a portable Markdown mirror
- Roadmap, landing, and OpenAPI integrations
Agent Ready
Agent surfaces
A documentation harness for your coding agent: it writes the docs, keeps them in step with the code, and migrates them from any documentation tool. Every piece is built around Folio, from the skill to the MCP server.
- Agent discovery by the specs: .well-known and text/markdown negotiation
- folio mcp — search and read the docs from your editor, read-only
- Every project ships a skill that teaches agents to write and maintain its docs
- The site serves that skill to agents that never cloned the repo
- A typed export of the whole site for tools and agents
- Per-page structured data and content signals for search engines and AI crawlers
- Your agent moves documentation from any tool to Folio with a migration skill and a few scripts
Every Language
Reach
One site for every reader: the language the code is in, the version they are on, and the language they read. New languages arrive as parsers, not new toolchains.
- TypeScript, then Go, C#, and Java, next to Python, JavaScript, and Rust
- Versioning — docs for every version of your library
- Internationalization — sites in your readers' languages
- Cross-language references
- One search, one llms.txt, every language
- Inline type information in examples
- Folio's own API reference, read by its Rust reader
- Python read in depth: inherited members and re-exports
Open Platform
Extensibility
Others extend it and get seen: project plugins return, a language is something you can add, the projects built on Folio get a home, and 1.0 draws the stability lines.
- Project plugins return as sidecars over JSON-RPC
- Language contract — a public way to add a language
- Other tools add their own commands to the folio CLI
- Built with Folio — a catalog of the projects and plugins built on Folio, open to outsiders
- One site across products and repos
- The OpenAPI plugin becomes a full reference: a page per endpoint, schema fields, requests you can try, and Swagger 2.0 specs
- Starter templates
- Live plugin demos with their source