Jobmaker-LdPost/STATUS.md
Ricardo Carneiro ea532659b0 feat: pipeline inicial ldpost-squad (6 agentes)
Pipeline completo de publicação no LinkedIn:
evaluator → redator → editor → art → director → publisher

- Seed com 37 posts em _sugestoes.md
- Sorteio de formato com N=3 bloqueados (format-history)
- Reciclagem mensal de posts com rotação de formato
- Revisão via Telegram com chat livre (Gemini 2.5 Flash)
- Publicação via LinkedIn API (OAuth2)
- Makefile com targets para Windows/Linux/ARM64

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 18:55:39 -03:00

4.5 KiB

ldpost-squad — Status do Projeto

Atualizado: 2026-05-02
Todos os itens devem ser testáveis de forma independente via CLI.


Fase 0 — Spec & Arquitetura

Item Status
00-arquitetura-mestre.md — contratos, convenções, estrutura [ ]
00b-shared-module.md — módulo compartilhado [ ]
.env.example com todas as variáveis necessárias [ ]
seed/_sugestoes.md — 30 posts com resumo + 2 imagens cada [ ]

Módulo Compartilhado (shared/)

Item Status
Diretório + go.mod [ ]
Estruturas comuns (Post, Slug, WorkspaceLayout) [ ]
Utilitários de workspace (resolver paths, criar dirs) [ ]
Helper .env / config loader [ ]
Testável: go test ./shared/... [ ]

CLI 1 — ldpost-evaluator

Busca trends, sorteia formato, cria post stub no workspace.

Item Status
Diretório + go.mod [ ]
Integração Groq/Gemini para buscar trends [ ]
Sorteio de formato (carrossel / artigo / lista / storytelling) [ ]
Cria $LDPOST_WORKSPACE/<slug>/post.json com metadados [ ]
Flag --topic para forçar tema manual [ ]
Flag --format para forçar formato [ ]
Flag --dry-run imprime sem salvar [ ]
Testável: ldpost-evaluator --topic "IA no RH" --dry-run [ ]
Testes escritos [ ]

CLI 2 — ldpost-redator

Gera rascunho do post a partir do stub criado pelo evaluator.

Item Status
Diretório + go.mod [ ]
$LDPOST_WORKSPACE/<slug>/post.json [ ]
Gera rascunho via Groq/Gemini [ ]
Salva $LDPOST_WORKSPACE/<slug>/draft.md [ ]
Flag --post <slug> (obrigatória) [ ]
Flag --model para escolher modelo LLM [ ]
Flag --dry-run imprime sem salvar [ ]
Testável: ldpost-redator --post meu-slug --dry-run [ ]
Testes escritos [ ]

CLI 3 — ldpost-editor

Formata para LinkedIn + loop de revisão interativo.

Item Status
Diretório + go.mod [ ]
draft.md do workspace do post [ ]
Aplica formatação LinkedIn (emojis, quebras, hashtags) [ ]
Loop de revisão: mostra diff, aceita/rejeita/refina [ ]
Salva $LDPOST_WORKSPACE/<slug>/final.md [ ]
Flag --post <slug> (obrigatória) [ ]
Flag --no-interactive para modo batch [ ]
Testável: ldpost-editor --post meu-slug --no-interactive [ ]
Testes escritos [ ]

CLI 4 — ldpost-art

Gera e cropa imagens para o post.

Item Status
Diretório + go.mod [ ]
Lê descrições de imagem do post.json [ ]
Gera imagens via Gemini Imagen (ou Groq) [ ]
Cropa para formato LinkedIn (1200x627 ou 1080x1080) [ ]
Salva $LDPOST_WORKSPACE/<slug>/img/*.png [ ]
Flag --post <slug> (obrigatória) [ ]
Flag `--format square landscape` (default: landscape)
Flag --dry-run gera prompt sem chamar API [ ]
Testável: ldpost-art --post meu-slug --dry-run [ ]
Testes escritos [ ]

CLI 5 — ldpost-director

Aprovação final via Telegram.

Item Status
Diretório + go.mod [ ]
final.md + imagens do workspace [ ]
Envia preview completo via Telegram [ ]
Aguarda resposta: aprovar / rejeitar / editar [ ]
Salva status em $LDPOST_WORKSPACE/<slug>/status.json [ ]
Flag --post <slug> (obrigatória) [ ]
Flag --skip-telegram aprova localmente sem bot [ ]
Testável: ldpost-director --post meu-slug --skip-telegram [ ]
Testes escritos [ ]

CLI 6 — ldpost-publisher

Publica no LinkedIn.

Item Status
Diretório + go.mod [ ]
final.md + imagens + status.json (deve estar approved) [ ]
Publica via LinkedIn API (ou imprime instruções manuais) [ ]
Registra URL do post publicado em status.json [ ]
Flag --post <slug> (obrigatória) [ ]
Flag --manual imprime conteúdo formatado sem publicar [ ]
Flag --dry-run valida sem publicar [ ]
Testável: ldpost-publisher --post meu-slug --dry-run [ ]
Testes escritos [ ]

Integração End-to-End

Item Status
Script de pipeline completo (run-all.sh / .ps1) [ ]
Testado com post real do zero ao publicado [ ]
Documentação de troubleshooting [ ]

Legenda

  • [ ] Não iniciado
  • [~] Em progresso
  • [x] Concluído