Quick Start
Go from an existing repository to searchable documentation in a few minutes.
Folio Docs reads your source and guides without running any of your code. It is
one native binary, so your project does not need Python; folio build and
folio serve need Node.js 20.19+ and pnpm 10. See Installation
for manual installs and troubleshooting.
Install Folio
Install the folio binary once with the installer script.
Initialize your repository
Let Folio detect the package and create a small docs.yaml.
Preview the result
Open the generated site and inspect its HTML and agent-readable outputs.
Build the static site
Export plain files that can be deployed anywhere.
1. Install Folio
curl -LsSf https://pguijas.github.io/folio/install.sh | sh
corepack enable pnpm && corepack prepare pnpm@10 --activate # or: npm install -g pnpm@10
folio --version2. Initialize your repository
Run the wizard from the project you want to document:
cd your-project
folio initfolio init detects Python, JavaScript, and Rust projects, reads their metadata
and source directories, then writes docs.yaml; the
CLI Reference lists what it detects. A minimal configuration
for a Python package looks like this:
docs.yaml
Folio reads these paths; it never imports or executes the package.
project:
name: "your-project"
source:
python:
paths:
- "src/your_package"
docs:
- "docs/"- project.name
- Name shown in the generated site.
string - source.python.paths
- Python packages scanned for public symbols.
list[string] - source.docs
- Markdown directories published as guides.
list[string]
Only keep source paths that exist. A JavaScript or Rust project uses
source.javascript or source.rust instead; Languages covers each
reader. The configuration reference covers exclusions,
docstring formats, the built-in integrations, and theming.
3. Preview the result
folio serveOpen http://localhost:4321. The development server watches the source files
of every configured language and the Markdown guides, and rebuilds changed
pages; restart it after editing docs.yaml. Its public root also exposes:
/llms.txt, the compact project index;/llms-full.txt, the expanded text export;/_folio/markdown/, the per-page Markdown mirrors.
Use folio serve --verbose when a module or page is missing.
4. Build the static site
folio build --cleanGenerated output
The workspace is disposable; the static output is the artifact you deploy.
.build/workspaceGenerated frontend workspace and development cache.
_site/staticDeployable HTML, assets, search, and agent outputs.
_site/llms.txtllmCompact project context for agents.
_site/_folio/markdown/llmOne discoverable Markdown mirror per page.
Deploy _site/ with the deployment guide.