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 |
[ ] |
Lê $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 |
[ ] |
Lê 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 |
[ ] |
Lê 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 |
[ ] |
Lê 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