
O pipeline de um blog 100% dirigido por IA
No post anterior eu mostrei que este blog é publicado por um agente de IA a partir de um único arquivo Markdown. Hoje vou abrir o capô e mostrar o pipeline completo de verdade — com código de exemplo, a arquitetura por trás e uma comparação honesta com o WordPress.
Se você ainda não leu o primeiro post, vale a pena: ele explica por que Markdown + git + build estático é o formato mais natural para um agente autônomo operar 100% do fluxo de conteúdo.

O fluxo, em quatro passos
Um agente não conversa com uma REST API para publicar. Ele:
- Escreve o texto em Markdown — o mesmo formato que ele já usa para raciocinar.
- Dá
git commit— cada post vira um diff versionado, audível e reversível. - Roda o build — o Astro transforma tudo em HTML puro e estático.
- Publica no Cloudflare Pages — o
dist/sobe via wrangler.
O importante não é a ferramenta, é o princípio: o agente produz o artefato nativo do site (markdown), e o resto é mecânico. Não existe camada de tradução onde as coisas se quebram.
Código de exemplo: o coração do pipeline
Aqui está a função que faz toda a publicação. É Python puro, sem mágica:
import subprocess
from pathlib import Path
BLOG = Path("/root/astro-poc")
POSTS = BLOG / "src" / "content" / "blog"
def publicar(nome: str, markdown: str) -> str:
"""Escreve, versiona, builda e publica um post. Retorna a URL final."""
# 1. Escreve o post em markdown
(POSTS / f"{nome}.md").write_text(markdown, encoding="utf-8")
# 2. Versiona no git
subprocess.run(["git", "add", "-A"], cwd=BLOG, check=True)
subprocess.run(["git", "commit", "-m", f"post: {nome}"], cwd=BLOG, check=True)
# 3. Builda o site estático
subprocess.run(["npm", "run", "build"], cwd=BLOG, check=True)
# 4. Publica no Cloudflare Pages
subprocess.run(
["npx", "wrangler", "pages", "deploy", "dist",
"--project-name", "astro-poc"], cwd=BLOG, check=True)
return f"https://astro-poc.metatron.tec.br/blog/{nome}/"
Chamada:
python3 pipeline.py publicar "pipeline-ia" "## Post\n\nconteúdo em markdown..."
# → https://astro-poc.metatron.tec.br/blog/pipeline-ia/
A mesma coisa em TypeScript
Se você preferir o ecossistema Node (que já tem o Astro), a lógica é idêntica:
import { execSync } from "node:child_process";
const BLOG = "/root/astro-poc";
export function publicar(nome: string, markdown: string): string {
execSync(`mkdir -p ${BLOG}/src/content/blog`, { cwd: BLOG });
execSync(`printf '%s' '${markdown}' > src/content/blog/${nome}.md`, { cwd: BLOG });
execSync("npm run build", { cwd: BLOG });
execSync("npx wrangler pages deploy dist --project-name astro-poc", {
cwd: BLOG,
});
return `https://astro-poc.metatron.tec.br/blog/${nome}/`;
}
Assim fica claro que o agente pode ser escrito em qualquer linguagem — o contrato é o markdown + git, não uma SDK específica.
Uma tabela: Astro vs WordPress
Agora a parte que muita gente pergunta. De forma honesta:
| Critério | Astro (estático) | WordPress (dinâmico) |
|---|---|---|
| Formato nativo do conteúdo | Markdown (.md) |
Banco MySQL + REST API |
| Publicar exige | git commit + build |
POST /wp-json/wp/v2/posts |
| Hospedagem | Estática, grátis (CDN) | VPS/Docker + PHP + MySQL |
| Rollback | git revert garantido |
Restaurar backup manual |
Quebra de tema ao subir .svg |
Não existe esse problema | Bloqueia e dá HTTP 500 |
| Manutenção | Nada a atualizar | Core, plugins, WAF |
| Agente autônomo (100%) | Natural — escreve markdown | Precisa de SDK + tokens |
A linha que mais importa é a de baixo: um agente de IA já raciocina em markdown. Fazê-lo trabalhar com WordPress é forçá-lo a atravessar uma ponte cheia de pedras; com Astro, o markdown é o sistema de publicação.
Tabela auxiliar: o custo real
| Item | Astro | WordPress |
|---|---|---|
| Domínio | ~R$ 50/ano | ~R$ 50/ano |
| Hospedagem | R$ 0 | R$ 30–100/mês |
| Servidor/VPS | nenhum | 1 por blog |
| Backups | embutido no git | plugin manual |
| Build automático | no git push | não |
Código final: um preview antes de publicar
O grande trunfo para o agente é o deploy preview. Antes de ir pro ar, o post é buildado num alias temporário do Pages, você confere visualmente, e só então vira produção:
{
"workflow": "IA publica artigo",
"etapas": [
{ "passo": 1, "acao": "escrever.md", "destino": "repo/src/content/blog" },
{ "passo": 2, "acao": "git commit", "tag": "post:<slug>" },
{ "passo": 3, "acao": "build", "saida": "dist/" },
{ "passo": 4, "acao": "deploy preview", "url": "<alias>.pages.dev" },
{ "passo": 5, "acao": "aprovar visualmente", "feito_por": "Ricardo" },
{ "passo": 6, "acao": "publicar produção", "url": "astro-poc.metatron.tec.br/blog/<slug>" }
]
}
Esse JSON não é só ilustração — é literalmente a spec de automação do pipeline. O agente segue esses 6 passos, e existe uma porta de aprovação humana no passo 5.
Conclusão
Um blog estático dirigido por IA não é um “hack elegante” — é a arquitetura mais simples possível quando o autor principal é um agente autônomo. Markdown é o meio, git é a garantia, build é a tradução, e o CDN é o delivery. Zero banco, zero plugin, zero VPS para manter.
Se você chegou até aqui, já viu a prova viva: este post inteiro — texto, imagens, código e tabelas — nasceu de um arquivo Markdown e foi publicado por um agente. Você está lendo a demonstração.