English | 简体中文 | 繁體中文 | 한국어 | Français | Deutsch | Italiano | Español | Русский | Bahasa Indonesia | Português (BR)
Um tema Astro AI-native construído em torno de texto bonito. ✍️
Tipografia em primeiro lugar para humanos, endpoints legíveis por máquina para agentes de IA.
Aither é um tema de publicação multilíngue que trata as duas superfícies como produto de verdade: páginas calmas e legíveis para pessoas, e documentos públicos de protocolo com endpoints Markdown para agentes.
Leitorsignifica uma pessoa lendo o site HTML: home, páginas de artigo, página About, comentários e controles de tema.Agentesignifica software consumindo a superfície pública legível por máquina:protocol.json,skill.md,agent/home.jsonpor locale,llms.txt,api/posts.jsone Markdown por artigo.Somente leiturasignifica que hoje há suporte para descoberta, leitura, indexação e monitoramento; publicação, comentários e escrita autenticada não estão expostos.
flowchart LR
A["Aither"] --> B["Superfície do leitor<br/>Páginas HTML"]
A --> C["Superfície de agentes<br/>JSON / Markdown"]
B --> D["URLs canônicas de artigos"]
C --> E["protocol.json -> skill.md -> agent/home.json"]
C --> F["llms.txt / api/posts.json / posts/{slug}.md"]
A maioria dos temas de blog otimiza seções hero, animações e enfeites visuais. Aither otimiza ritmo de leitura, sobriedade tipográfica e densidade de informação.
Ao mesmo tempo, o projeto assume que o site será lido tanto por software quanto por pessoas. Por isso o repositório inclui uma superfície real de protocolo: protocol.json, skill.md, documentos legíveis por máquina localizados, llms.txt, corpos em Markdown, JSON Schema e uma API de posts entre locales.
- Leitura focada em tipografia
- Duas visões na home
- 41 temas curados
- Superfície AI-native completa
- Modo somente leitura por padrão
- 11 idiomas
- 66 posts de exemplo localizados
- Base editorial completa
- Extensível além de posts
- Stack Astro moderna
- Node.js --
22 LTSrecomendado. Mínimo20.19.1+ou22.12.0+ - pnpm --
pnpm@10.32.1fixado viapackageManager - Corepack -- execute
corepack enableuma vez - Cloudflare Pages -- só se você usar o fluxo incluído
- Clique em "Use this template" no GitHub
- Clone o novo repositório:
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO- Ative o Corepack e instale dependências:
corepack enable
pnpm install- Configure o site:
# astro.config.mjs -- defina a URL do site (apenas aqui)
site: 'https://your-domain.com'
# src/config/site.ts -- defina nome, descrição, links sociais, nav e footer
# a URL é lida automaticamente de astro.config.mjs- Configure variáveis de ambiente (opcional):
cp .env.example .env
# Preencha o .env com seus valores (GA, Giscus, Crisp)- Valide antes de grandes mudanças:
pnpm validate- Inicie o desenvolvimento:
pnpm devAither hoje é distribuído como um tema starter-first, não como um pacote de integração Astro instalável. Para sites já criados, a atualização correta é por release e por Git, não por pnpm up. Se você mantiver um clone upstream limpo, também pode executar pnpm upgrade:diff -- --from <tag-antiga> --to <tag-nova> para ver um diff categorizado antes de portar mudanças. O fluxo completo está em UPGRADING.md.
Crie arquivos MDX em src/content/posts/{locale}/.
| Comando | Descrição |
|---|---|
pnpm dev |
Inicia o servidor local |
pnpm check |
Executa checagens do Astro |
pnpm check:post-coverage |
Verifica paridade de slugs |
pnpm build |
Gera dist/ |
pnpm smoke:package |
Verifica a superfície do pacote @aither/astro e o mapa de exports |
pnpm smoke |
Executa os testes de verificação do pacote e do protocolo |
pnpm preview |
Faz preview do build |
pnpm validate |
Executa check + coverage + build + as duas suites de smoke |
A ordem recomendada é: protocol.json -> skill.md -> agent/home.json -> policy.md / reading.md / subscribe.md.
Use /api/posts.json para descoberta multi-locale e /{locale}/posts/{slug}.md para recuperar o corpo final do artigo.
Arquivos principais:
astro.config.mjssrc/config/site.tssrc/config/themes.tssrc/content.config.tssrc/i18n/index.tssrc/i18n/messages/*.ts.env
import { defineConfig } from 'astro/config';
import aither from '@aither/astro';
export default defineConfig({
site: 'https://your-domain.com',
integrations: [aither()],
});src/
├── config/
├── content/
├── i18n/
├── components/
├── lib/
├── layouts/
├── pages/
└── styles/
public/
scripts/
O fluxo padrão usa Cloudflare Pages, exige CLOUDFLARE_API_TOKEN e CLOUDFLARE_ACCOUNT_ID, e usa o nome do repositório como nome do projeto por padrão. Defina a variável de repositório CLOUDFLARE_PAGES_PROJECT_NAME se precisar sobrescrever.
- Tipografia é a interface.
- Humanos e agentes importam igualmente.
- Paridade multilíngue deve ser verificada.
- Extensões devem ficar próximas do conteúdo.
- Menos mágica, mais clareza.
- Inspirado por yinwang.org.
- Partes do sistema de temas se inspiram em Raphael Publish e EvoMap.
Contribuições são bem-vindas. Abra uma issue antes de propor mudanças.