loading…
Search for a command to run...
loading…
AI-native static site generator with built-in MCP server and Claude Code integration
AI-native static site generator with built-in MCP server and Claude Code integration
seite
A static site generator where Claude Code is the interface.
You already have Claude Code. seite gives it something to work on.
seite agent "write a post about our v1 launch — here are the notes: ..."
seite agent "redesign the homepage hero, we just pivoted to B2B"
seite agent "create changelog entries for these release notes: ..."
seite agent # interactive session
The agent reads your config, your templates, and your existing content before writing anything. Output lands in the right directory with the right frontmatter. You review a diff and ship it.
No new subscription. No new UI to learn. No new commands. Just the Claude Code subscription you already have — now it can manage your whole website.
curl -fsSL https://seite.sh/install.sh | sh
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite && seite serve
Most static site generators produce HTML and stop there. seite builds for three audiences at once:
llms.txt, llms-full.txt, and a .md copy of every page for direct consumptionAll from Markdown + YAML frontmatter. No JavaScript runtime. No build dependencies. One binary does everything. 331 tests, 139 unit and 192 integration.
seite agent spawns Claude Code with full site context — config, content inventory, templates, and available commands. No API keys, no setup. Uses your existing Claude Code subscription.
seite init generates .claude/CLAUDE.md with your site's full schema so the agent is oriented before it writes a single character. Output lands in the right directory, with the right frontmatter, following your conventions. You review a diff and ship it.
seite agent "write a post about our v1.2 release — here are the notes: ..."
seite agent "rewrite the homepage hero, our positioning shifted to B2B"
seite agent "generate docs stubs for each CLI command"
seite agent # interactive session
seite mcp runs a Model Context Protocol server over stdio. Claude Code auto-starts it via .claude/settings.json, generated by seite init. Any MCP-compatible AI tool can use it.
Resources — seite://docs, seite://config, seite://content, seite://themes, seite://trust
Tools — seite_build, seite_create_content, seite_search, seite_apply_theme, seite_lookup_docs
This means your AI tool doesn't just have read access to your site — it has a structured interface to build, search, and modify it.
Every build generates llms.txt (summary) and llms-full.txt (complete markdown) for LLM indexing, plus a .md copy of every page. Multilingual sites get per-language versions. Traditional SEO and GEO handled in one pipeline, automatically.
seite theme create "coral brutalist with lime accents"<picture> elements, lazy loading--dry-runyoutube, vimeo, gist, callout, figure built-in, plus user-defined templatesseite self-update fetches the latest release with SHA256 checksum verificationmacOS / Linux:
curl -fsSL https://seite.sh/install.sh | sh
Windows (PowerShell):
irm https://seite.sh/install.ps1 | iex
From source (requires Rust):
cargo install seite
Pin a specific version:
VERSION=v0.1.0 curl -fsSL https://seite.sh/install.sh | sh
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite
seite serve
Open http://localhost:3000. Edit content in content/, templates in templates/. Live reload on every change.
# Create content
seite new post "Hello World" --tags intro,rust
seite new doc "Getting Started"
seite new changelog "v1.0.0" --tags new,improvement
# Deploy
seite deploy # commit, push, build, deploy
seite deploy --dry-run # preview what would happen
seite deploy --setup # guided first-time setup
seite build runs a 13-step pipeline and produces:
dist/
├── index.html
├── posts/
│ ├── hello-world.html # HTML for browsers
│ └── hello-world.md # Markdown for LLMs
├── docs/
│ └── getting-started.html
├── feed.xml
├── sitemap.xml
├── search-index.json
├── robots.txt
├── llms.txt
├── llms-full.txt
├── 404.html
└── static/
Every HTML page includes canonical URLs, Open Graph tags, Twitter Cards, JSON-LD structured data, and a link to its markdown alternate.
| Preset | Dated | RSS | Nested | Use case |
|---|---|---|---|---|
| posts | ✓ | ✓ | — | Blog posts, articles |
| docs | — | — | ✓ | Documentation with sidebar navigation |
| pages | — | — | — | Standalone pages (About, Contact) |
| changelog | ✓ | ✓ | — | Release notes with colored tag badges |
| roadmap | — | — | — | Public roadmap with status tracking |
| trust | — | — | ✓ | Compliance hub (SOC 2, ISO 27001, GDPR) |
seite collection add changelog
seite new changelog "v2.0" --tags new,breaking
Six themes ship with the binary — no downloads, no CDNs:
| Theme | Description |
|---|---|
| default | Clean centered column, system fonts, blue links |
| minimal | Georgia serif, literary feel, generous whitespace |
| dark | True black #0a0a0a, violet accents, visible focus rings |
| docs | Fixed sidebar with auto-scrolling nav, GitHub-style |
| brutalist | Cream background, thick black borders, hard shadows, yellow accents |
| bento | CSS grid cards, rounded corners, mixed sizes, soft shadows |
seite theme list
seite theme apply dark
seite theme create "neon cyberpunk on black"
seite theme install https://example.com/t.tera
seite theme export my-theme
Filename-based translations. Single-language sites need no config.
content/posts/
├── hello-world.md → /posts/hello-world
├── hello-world.es.md → /es/posts/hello-world
└── hello-world.fr.md → /fr/posts/hello-world
[languages.es]
title = "Mi Sitio"
[languages.fr]
title = "Mon Site"
# seite.toml — minimal
[site]
title = "My Site"
base_url = "https://example.com"
[[collections]]
name = "posts"
[site]
title = "My Site"
description = "A site built with seite"
base_url = "https://example.com"
language = "en"
author = "Your Name"
[[collections]]
name = "posts"
# name = "docs" | "pages" | "changelog" | "roadmap" | "trust"
# paginate = 10
[build]
output_dir = "dist"
data_dir = "data"
minify = true
fingerprint = true
[deploy]
target = "github-pages" # or "cloudflare" or "netlify"
auto_commit = true
[images]
widths = [480, 800, 1200]
quality = 80
webp = true
lazy_loading = true
[analytics]
provider = "plausible" # or "google", "gtm", "fathom", "umami"
id = "example.com"
cookie_consent = false
[languages.es]
title = "Mi Sitio"
[trust]
company = "Acme Corp"
frameworks = ["soc2", "iso27001"]
Drop YAML, JSON, or TOML in data/ and access in any template:
# data/nav.yaml
- title: Blog
url: /posts
- title: Docs
url: /docs
Available as {{ data.nav }} in all templates.
seite workspace init my-workspace
seite workspace add blog --collections posts,pages
seite workspace add docs --collections docs
seite build --site blog
seite serve
seite deploy
seite deploy
seite deploy --dry-run
seite deploy --setup
seite deploy --domain example.com
[deploy]
target = "cloudflare" # or "github-pages" or "netlify"
seite init auto-generates the CI workflow for your chosen target.
Full docs at seite.sh/docs
seite is early and issues, PRs, and feedback are genuinely welcome. Especially useful:
seite.toml + content file)git clone https://github.com/seite-sh/seite
cargo build
cargo test # 331 tests (139 unit + 192 integration)
cargo clippy # must be zero warnings
cargo fmt --all
Open an issue before starting a large PR — saves everyone time.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"seite": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.