# 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//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//post.json` | [ ] | | Gera rascunho via Groq/Gemini | [ ] | | Salva `$LDPOST_WORKSPACE//draft.md` | [ ] | | Flag `--post ` (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//final.md` | [ ] | | Flag `--post ` (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//img/*.png` | [ ] | | Flag `--post ` (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//status.json` | [ ] | | Flag `--post ` (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 ` (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