seite
Gerador de sites estáticos nativo de IA com servidor MCP integrado. Crie sites, produza conteúdo, aplique temas, pesquise documentos e faça deploy via Claude Code ou qualquer cliente MCP.
Documentação
seite
Um gerador de site estático onde o Claude Code é a interface.
Você já tem o Claude Code. O seite dá a ele algo em que trabalhar.
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
O agente lê sua configuração, seus templates e seu conteúdo existente antes de escrever qualquer coisa. A saída vai para o diretório certo com o frontmatter certo. Você revisa um diff e publica.
Sem nova assinatura. Sem nova interface para aprender. Sem novos comandos. Apenas a assinatura do Claude Code que você já tem — agora ele pode gerenciar seu site inteiro.
curl -fsSL https://seite.sh/install.sh | sh
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite && seite serve
Por que seite
A maioria dos geradores de site estático produz HTML e para por aí. O seite cria para três públicos ao mesmo tempo:
- Navegadores recebem páginas com metadados completos de SEO, Open Graph, Twitter Cards e dados estruturados JSON-LD
- LLMs recebem
llms.txt,llms-full.txte uma cópia.mdde cada página para consumo direto - Ferramentas de IA recebem um servidor MCP integrado que expõe todo o seu site como recursos estruturados
Tudo a partir de Markdown + frontmatter YAML. Sem runtime JavaScript. Sem dependências de build. Um único binário faz tudo. 331 testes, 139 unitários e 192 de integração.
Integração com IA
Agente
seite agent inicia o Claude Code com contexto completo do site — configuração, inventário de conteúdo, templates e comandos disponíveis. Sem chaves de API, sem configuração. Usa sua assinatura existente do Claude Code.
seite init gera AGENTS.md com o esquema completo do seu site para que agentes de codificação compatíveis sejam orientados antes de escreverem um único caractere. Um CLAUDE.md de uma linha importa as mesmas instruções para o Claude Code. A saída vai para o diretório certo, com o frontmatter certo, seguindo suas convenções. Você revisa um diff e publica.
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
Servidor MCP
seite mcp executa um servidor Model Context Protocol via stdio. O Claude Code o inicia automaticamente via .mcp.json, gerado por seite init. Qualquer ferramenta de IA compatível com MCP (Codex CLI, OpenCode, Cursor, ...) pode usá-lo; ele fala as revisões MCP de 2024-11-05 a 2025-11-25 via initialize, e a revisão sem estado 2026-07-28 via server/discover.
Recursos — seite://docs, seite://config, seite://content, seite://themes, seite://trust (templates: seite://content/{collection}, seite://docs/{slug})
Ferramentas — seite_build, seite_create_content, seite_get_page, seite_update_frontmatter, seite_search, seite_content_stats, seite_list_templates, seite_apply_theme, seite_create_collection, seite_lookup_docs
Isso significa que sua ferramenta de IA não tem apenas acesso de leitura ao seu site — ela tem uma interface estruturada para construir, pesquisar e modificar.
Descoberta por LLM
Cada build gera llms.txt (resumo) e llms-full.txt (markdown completo) para indexação por LLMs, além de uma cópia .md de cada página. Sites multilíngues recebem versões por idioma. SEO tradicional e GEO tratados em um único pipeline, automaticamente.
Recursos
- 10 temas inclusos — default, minimal, dark, docs, brutalist, bento, landing, terminal, magazine, academic — ou gere um personalizado com
seite theme create "coral brutalist with lime accents" - 6 predefinições de coleções — posts, docs, pages, changelog, roadmap e trust center
- Multilíngue — i18n baseado em nomes de arquivo com URLs por idioma, feeds RSS, sitemaps, índices de busca e tags hreflang
- Pipeline de imagens — redimensionamento automático, conversão para WebP, elementos srcset/
<picture>, carregamento preguiçoso - Implantação em qualquer lugar — GitHub Pages, Cloudflare Pages, Netlify com configuração guiada, verificações pré-implementação e
--dry-run - Analytics — Google Analytics, GTM, Plausible, Fathom, Umami com banner opcional de consentimento de cookies
- Shortcodes —
youtube,vimeo,gist,callout,figureintegrados, além de templates definidos pelo usuário - Workspaces multi-site — gerencie vários sites a partir de um único diretório com servidor de desenvolvimento unificado
- Auto-atualização —
seite self-updatebusca a versão mais recente com verificação de checksum SHA256
Instalação
macOS / Linux:
curl -fsSL https://seite.sh/install.sh | sh
Windows (PowerShell):
irm https://seite.sh/install.ps1 | iex
A partir do código-fonte (requer Rust):
cargo install seite
Fixar uma versão específica:
VERSION=v0.1.0 curl -fsSL https://seite.sh/install.sh | sh
Início rápido
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite
seite serve
Abra http://localhost:3000. Edite o conteúdo em content/, os templates em templates/. Recarregamento automático a cada mudança.
# 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
Saída do build
seite build executa um pipeline de 13 etapas e produz:
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/
Cada página HTML inclui URLs canônicas, tags Open Graph, Twitter Cards, dados estruturados JSON-LD e um link para sua alternativa em markdown.
Coleções
| Predefinição | Datada | RSS | Aninhada | Caso de uso |
|---|---|---|---|---|
| posts | ✓ | ✓ | — | Postagens de blog, artigos |
| docs | — | — | ✓ | Documentação com navegação lateral |
| pages | — | — | — | Páginas independentes (Sobre, Contato) |
| changelog | ✓ | ✓ | — | Notas de versão com badges de tag coloridos |
| roadmap | — | — | — | Roadmap público com acompanhamento de status |
| trust | — | — | ✓ | Hub de conformidade (SOC 2, ISO 27001, GDPR) |
seite collection add changelog
seite new changelog "v2.0" --tags new,breaking
Temas
Seis temas acompanham o binário — sem downloads, sem CDNs:
| Tema | Descrição |
|---|---|
| default | Coluna central limpa, fontes do sistema, links azuis |
| minimal | Serifa Georgia, sensação literária, espaçamento generoso |
| dark | Preto verdadeiro #0a0a0a, acentos violeta, anéis de foco visíveis |
| docs | Barra lateral fixa com navegação de rolagem automática, estilo GitHub |
| brutalist | Fundo creme, bordas pretas grossas, sombras fortes, acentos amarelos |
| bento | Cartões em grade CSS, cantos arredondados, tamanhos variados, sombras suaves |
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
Multilíngue
Traduções baseadas em nomes de arquivo. Sites de idioma único não precisam de configuração.
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"
Configuração
# seite.toml — minimal
[site]
title = "My Site"
base_url = "https://example.com"
[[collections]]
name = "posts"
Referência completa
[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"]
Arquivos de dados
Coloque YAML, JSON ou TOML em data/ e acesse em qualquer template:
# data/nav.yaml
- title: Blog
url: /posts
- title: Docs
url: /docs
Disponível como {{ data.nav }} em todos os 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
Implantação
seite deploy
seite deploy --dry-run
seite deploy --setup
seite deploy --domain example.com
[deploy]
target = "cloudflare" # or "github-pages" or "netlify"
seite init gera automaticamente o fluxo de trabalho de CI para o destino escolhido.
Telemetria
O seite coleta telemetria de uso anônima e com opção de exclusão para entender quais comandos são usados e se são bem-sucedidos. Sem dados pessoais, sem caminhos de arquivo, sem conteúdo.
O que é coletado:
| Campo | Exemplo |
|---|---|
| Nome do comando | build |
| Versão do seite | 0.12.2 |
| SO / arquitetura | macos / aarch64 |
| Sucesso (saída 0?) | true |
| Faixa de duração aproximada | 1-5s |
| Origem da instalação | shell / cargo |
O que nunca é coletado: caminhos de arquivo, domínios ou URLs do site, conteúdo de páginas, argumentos de comando ou valores de flags, variáveis de ambiente, nomes de usuário ou qualquer identificador estável.
Os dados são enviados para a partição cli.seite.sh — um namespace dedicado completamente separado da análise do seu próprio site. Detalhes completos: seite.sh/telemetry
Exclua-se a qualquer momento:
seite telemetry off # persisted preference (survives shell restarts)
Ou defina uma variável de ambiente para uma execução ou no seu perfil de shell:
export SEITE_TELEMETRY=0 # disable via env var
export DO_NOT_TRACK=1 # respects the universal DO_NOT_TRACK standard
A telemetria também é desativada automaticamente em CI (quando a variável de ambiente CI está definida com qualquer valor não vazio). Verifique seu status atual:
seite telemetry status
seite telemetry on # re-enable if you opted out
Documentação
Documentação completa em seite.sh/docs
- Introdução
- Configuração
- Coleções
- Templates
- Shortcodes
- Multilíngue
- Implantação
- Referência da CLI
- Trust Center
Contribuindo
O seite é novo e issues, PRs e feedback são genuinamente bem-vindos. Especialmente úteis:
- Relatórios de bug com um caso de reprodução (mesmo um
seite.tomlmínimo + arquivo de conteúdo) - Ideias de novos temas — abra uma issue primeiro para alinhar a direção antes de construir
- Melhorias na documentação — se algo confundiu você, vai confundir outros
- Uso no mundo real — se você construir algo com o seite, compartilhe
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
Abra uma issue antes de iniciar um PR grande — economiza tempo de todos.