Labsco
seite-sh logo

seite

β˜… 12

from seite-sh

AI-native static site generator with built-in MCP server. Build sites, create content, apply themes, search docs, and deploy via Claude Code or any MCP client.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup
<p align="center"> <strong>seite</strong> </p> <p align="center"> A static site generator where Claude Code is the interface. </p> <p align="center"> <a href="https://github.com/seite-sh/seite/actions/workflows/rust.yml"><img src="https://github.com/seite-sh/seite/actions/workflows/rust.yml/badge.svg" alt="CI"></a> <a href="https://codecov.io/gh/seite-sh/seite"><img src="https://codecov.io/gh/seite-sh/seite/branch/main/graph/badge.svg" alt="Coverage"></a> <a href="https://crates.io/crates/seite"><img src="https://img.shields.io/crates/v/seite.svg" alt="Crates.io"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a> </p>
<p align="center"> <img src="https://seite.sh/static/demo.svg" alt="seite demo" width="700"> </p>

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

Why seite

Most static site generators produce HTML and stop there. seite builds for three audiences at once:

  • Browsers get pages with full SEO metadata, Open Graph, Twitter Cards, and JSON-LD structured data
  • LLMs get llms.txt, llms-full.txt, and a .md copy of every page for direct consumption
  • AI tools get a built-in MCP server that exposes your entire site as structured resources

All from Markdown + YAML frontmatter. No JavaScript runtime. No build dependencies. One binary does everything. 331 tests, 139 unit and 192 integration.

AI integration

Agent

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

MCP server

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.

LLM discovery

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.

Features

  • 6 bundled themes β€” default, minimal, dark, docs, brutalist, bento β€” or generate a custom one with seite theme create "coral brutalist with lime accents"
  • 6 collection presets β€” posts, docs, pages, changelog, roadmap, and trust center
  • Multi-language β€” filename-based i18n with per-language URLs, RSS feeds, sitemaps, search indexes, and hreflang tags
  • Image pipeline β€” auto-resize, WebP conversion, srcset/<picture> elements, lazy loading
  • Deploy anywhere β€” GitHub Pages, Cloudflare Pages, Netlify with guided setup, pre-flight checks, and --dry-run
  • Analytics β€” Google Analytics, GTM, Plausible, Fathom, Umami with optional cookie consent banner
  • Shortcodes β€” youtube, vimeo, gist, callout, figure built-in, plus user-defined templates
  • Multi-site workspaces β€” manage multiple sites from one directory with unified dev server
  • Self-update β€” seite self-update fetches the latest release with SHA256 checksum verification

Build output

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.

Collections

PresetDatedRSSNestedUse 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

Themes

Six themes ship with the binary β€” no downloads, no CDNs:

ThemeDescription
defaultClean centered column, system fonts, blue links
minimalGeorgia serif, literary feel, generous whitespace
darkTrue black #0a0a0a, violet accents, visible focus rings
docsFixed sidebar with auto-scrolling nav, GitHub-style
brutalistCream background, thick black borders, hard shadows, yellow accents
bentoCSS 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

Multi-language

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"

Data files

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.

Workspaces

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

Telemetry

seite collects anonymous, opt-out usage telemetry to understand which commands are used and whether they succeed. No personal data, no file paths, no content.

What is collected:

FieldExample
Command namebuild
seite version0.12.2
OS / architecturemacos / aarch64
Success (exit 0?)true
Coarse duration bucket1-5s
Install sourceshell / cargo

What is never collected: file paths, site domains or URLs, page content, command arguments or flag values, environment variables, usernames, or any stable identifier.

Data is sent to the cli.seite.sh partition β€” a dedicated namespace that is completely separate from your site's own analytics. Full details: seite.sh/telemetry

Opt out at any time:

seite telemetry off        # persisted preference (survives shell restarts)

Or set an environment variable for one run or in your shell profile:

export SEITE_TELEMETRY=0   # disable via env var
export DO_NOT_TRACK=1      # respects the universal DO_NOT_TRACK standard

Telemetry is also automatically disabled in CI (when the CI environment variable is set to any non-empty value). Check your current status:

seite telemetry status
seite telemetry on         # re-enable if you opted out

Documentation

Full docs at seite.sh/docs