@fabioramos_02/create-esteira-gov
v0.2.0
Published
Scaffold de esteira spec-driven multi-agente Claude para projetos gov MS (app, BI, dados, protótipo).
Maintainers
Readme
@fabioramos_02/create-esteira-gov
Scaffold de uma esteira spec-driven multi-agente para Claude Code, pensada para projetos
novos do governo de MS. Em vez de 14 skills, são 4 agentes + 1 orquestrador, com o core
agnóstico de linguagem e escopo — a variabilidade vive em presets plugáveis (app, BI,
dados, protótipo, blank). Design System: @design-system-ms/ds-sis.
Uso
npx @fabioramos_02/create-esteira-gov meu-projeto --preset app
# sem --preset abre um wizard para escolher
cd meu-projeto
# abra no Claude Code e rode: /esteiraA esteira
flowchart LR
D[Demanda] --> E[/especificar/]
E -->|spec.md| P[/planejar/]
P -->|plano.md| I[/implementar/]
I -->|código| V[/validar/]
V -->|validacao.md| OK([Pronto])
V -.REPROVADO.-> E
O{{/esteira}} -.orquestra.-> E| Etapa | Skill | Lê | Produz |
|------:|-------|----|--------|
| 1 | /especificar | demanda | spec.md |
| 2 | /planejar | spec.md + preset | plano.md |
| 3 | /implementar | plano.md + preset | código |
| 4 | /validar | spec.md + código | validacao.md |
| — | /esteira | demanda | encadeia 1→4 |
Handoff é por arquivos em specs/NNNN-<slug>/. A spec é a fonte da verdade.
Presets
| Preset | Escopo | Linguagem | DS |
|--------|--------|-----------|----|
| app | App web gov acessível | TypeScript | css + web components |
| bi | Dashboard / Power BI | JSON/DAX | tokens (tema) |
| dados | ETL + análise | Python | tokens (paleta) |
| prototipo | Protótipo rápido | HTML/CSS | css |
| blank | Só a esteira | a definir | none |
O Design System serve qualquer escopo porque exporta tokens JSON (Style Dictionary):
web usa /css + componentes; BI e dados leem /tokens para tema/paleta.
Regras do template gerado
- SRP: 1 arquivo = 1 responsabilidade.
- Máximo 250 linhas por arquivo (
npm run checkno projeto da esteira valida isso). - Nunca hardcode de cor/espaçamento — sempre via DS.
- Conventional Commits, GitHub Flow, pt-BR.
Criar um preset novo
Adicionar uma linguagem/escopo não exige tocar nos agentes:
- Crie
presets/<nome>/preset.json:{ "nome": "<nome>", "descricao": "...", "linguagem": "...", "stack": ["..."], "ds": "css+wc | css | tokens | none", "comandos": { "check": "...", "lint": "...", "test": "..." } } - (Opcional) Crie
presets/<nome>/template/com o scaffold inicial daquele tipo. - Pronto — o preset aparece no CLI e no wizard.
Os agentes leem .esteira/preset.json do projeto gerado e se adaptam à stack/comandos.
Desenvolvimento
npm install
npm run build # tsc -> dist/
npm run check # falha se algum arquivo passar de 250 linhasPublicação: npm publish --access public.
Créditos
Inspirado (e simplificado) a partir de igoruehara/spec-driven.
