agno docs

v0.3.7 released · Rust 1.88+

A static site generator for sites where content is the product.

agno turns Markdown and MiniJinja templates into static HTML in milliseconds. No Node.js, no bundler, no plugin runtime — just one 4.2 MB binary.

  • 4.2 MB binary
  • Zero runtime dependencies
  • MIT licensed
~/projects — zsh
$ agno new blog
Created blog

  cd blog
  agno dev

$ cd blog && agno dev
agno dev → http://localhost:1111  (2 pages, 12 ms)

$ agno build
Built 2 pages in 10 ms → ./dist
106 ms 1,000 posts, cold build
RSS · sitemap · search ready
106ms Cold build for 1,000 plain posts
32.8ms Single-edit rebuild at 1,000 posts
4.2MB Binary with no runtime dependencies
7,642 Pages per second at 10,000 posts

Why agno

Small surface, serious speed.

Everything a blog, documentation site or notes archive needs is built in. Everything it does not need stays out.

Fast by default

Every stage, from Markdown parsing to output writes, runs in parallel with Rayon. 1,000 posts build in about 106 ms cold.

Incremental by default

A fingerprint is stored per page. Only pages whose source, templates or site-wide context changed are rendered again.

One static binary

4.2 MB with no runtime dependencies. No node_modules, no language runtime, no service to install.

Batteries included

Sections, pagination, tag and category pages, RSS, sitemap, search index, 404, table of contents, syntax highlighting and live reload.

MiniJinja templates

Familiar Jinja syntax: extends, blocks, loops and filters. HTML autoescaping is on by default.

Content-first by design

No JavaScript islands, bundler, plugin system or theme marketplace. A small surface means a portable binary and predictable builds.

Cold build times

Same hardware, same corpus.

Intel i5-13420H, 12 threads, CachyOS. The output directory is removed before every run and process startup is included.

Methodology and full tables
ScenarioagnoHugoZolaAstro
1,000 posts, plain106.4 ms501.3 ms250.7 ms5,546 ms
1,000 posts, code136.0 ms516.3 ms437.8 ms4,787 ms
1,000 posts, heavy207.7 ms1,892.6 ms1,080.0 ms5,407 ms
10,000 posts, code1,308 ms4,006 ms3,236 ms—

3.3–9.3× faster than Hugo, 1.9–14× faster than Zola and 12–161× faster than Astro. On rebuilds, 13–16× faster than Zola.

Authoring

Write Markdown. The template does the rest.

TOML or YAML frontmatter, optional template overrides, and fields for slugs, dates and tags. Unknown fields reach templates through page.extra.

Frontmatter reference
content/docs/first-page.mdmarkdown
+++
title = "First page"
date = 2026-10-28
description = "Live in five minutes."
tags = ["guide", "agno"]
weight = 10
+++

## Installation

Download one binary and put it on your PATH:

$ cargo install agno

> Note: Rust 1.88+ is required.

| Platform | Binary |
| --- | --- |
| Linux | gnu / musl |
| macOS | arm64 / x86_64 |
/docs/first-page/

Guide · 2 min

First page

Live in five minutes.

Installation

Download one binary and put it on your PATH:

cargo install agno
Note: Rust 1.88+ is required.
guideagno

The handbook

Learn it end to end.

Seventeen chapters, from installation to architecture.

Ready to ship

Live in two commands.

Install, scaffold, build. The output lands in dist/ — upload it to any static host.

$ agno new blog && cd blog && agno build