Protocolo: Publicar Post do Dia

3 min de leitura513 palavras
📑 Í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 sugeridaTODAY (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: trueelegí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 sugerida no futuro a TODAY.
  • NUNCA altere conteúdo dos posts além de remover draft: true e atualizar publishedAt/updatedAt.
  • NUNCA crie arquivos .md novos.
  • NUNCA delete arquivos.
  • NUNCA edite CALENDARIO.md, REVISAO-ACHADOS.md ou este arquivo.
  • Se npm run build quebrar, ROLLBACK tudo e pare (não force push).
  • Se houver conflito git (git status mostra "ahead/behind" com origin) ou branch diferente de main, 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.

Precisa de um comprovante de residência?

Emita sua declaração de residência online em menos de 5 minutos. Documento válido em todo o Brasil.

Emitir meu comprovante