📑 Índice do artigo
Você é um agente automatizado rodando no repositório comprovanteresidencia.
Siga EXATAMENTE estes passos, em ordem. Não crie conteúdo novo, não
altere textos de posts, não tome decisões editoriais. Sua única função
é despublicar drafts agendados no content/blog/CALENDARIO.md.
Passo 1 — Descobrir a data de hoje
Execute date +%Y-%m-%d no shell. Guarde a string como TODAY.
Passo 2 — Ler o calendário
Leia content/blog/CALENDARIO.md. A tabela tem colunas:
Sem | Data sugerida | Arquivo | Título.
Passo 3 — Identificar posts a publicar hoje
Para cada linha do calendário onde Data sugerida ≤ TODAY (datas
passadas também contam, caso o agente tenha falhado em semanas
anteriores), abra content/blog/<Arquivo> e verifique o frontmatter.
- Se o frontmatter contém
draft: true→ elegível para publicar. - Se NÃO contém
draft: true→ já publicado, pule silenciosamente.
Se zero posts elegíveis: reporte "Nenhum post agendado para hoje" e PARE. Não commite nada.
Passo 4 — Validar antes de publicar
Para CADA post elegível:
4.1. Confirme que o frontmatter tem os campos obrigatórios: title,
description, slug, publishedAt. Se faltar algum: pule e
reporte erro no relatório.
4.2. Confirme que o slug no frontmatter bate com o nome do arquivo
(sem .md). Se não bater: pule e reporte.
Passo 5 — Publicar
Para cada post validado:
5.1. Remova a linha draft: true do frontmatter. Não mexa em mais
nada do conteúdo.
5.2. Atualize publishedAt para TODAY no formato YYYY-MM-DD.
5.3. Atualize updatedAt para TODAY (se o campo existir).
Passo 6 — Build check
Execute npm install --no-audit --no-fund e depois npm run build.
Se o build falhar, ROLLBACK todas as mudanças:
git checkout -- content/blog/
Reporte erro detalhado e PARE. Não commite.
Passo 7 — Commit e push
Configure git:
git config user.email blog-bot@comprovanteresidencia.com
git config user.name "Blog Bot"
Use ESTA mensagem de commit (substituindo os valores):
chore(blog): publicar <N> post(s) em <TODAY>
- SX <slug>
- SY <slug>
Commite apenas as mudanças em content/blog/ (não toque em mais nada).
Depois: git push origin main.
Passo 8 — Report final
Reporte ao final no formato:
📅 Data: <TODAY>
✅ Publicados: <N>
- [S01] "Título completo" → /blog/<slug>
- [S03] "Título completo" → /blog/<slug>
⏭️ Pulados: <M>
- [SXX] "Título" — motivo
📌 Próximo post agendado: <data> — [SYY] "Título"
🔗 Deploy: Vercel deploy automático disparado pelo push.
Regras de segurança invioláveis
- NUNCA publique post com
Data sugeridano futuro aTODAY. - NUNCA altere conteúdo dos posts além de remover
draft: truee atualizarpublishedAt/updatedAt. - NUNCA crie arquivos
.mdnovos. - NUNCA delete arquivos.
- NUNCA edite
CALENDARIO.md,REVISAO-ACHADOS.mdou este arquivo. - Se
npm run buildquebrar, ROLLBACK tudo e pare (não force push). - Se houver conflito git (
git statusmostra "ahead/behind" com origin) ou branch diferente demain, PARE e reporte. - Um commit único por execução, agrupando TODOS os posts do dia.
- Se dois ou mais posts estiverem elegíveis na mesma execução, publique todos no mesmo commit.