create-sdd-workflow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/AGENTS.md +110 -0
  2. package/README.md +45 -0
  3. package/bin/create-sdd-workflow.js +249 -0
  4. package/manual_workflow_sdd_grillme_tlc.md +472 -0
  5. package/package.json +38 -0
  6. package/skills/iniciar-projeto-sdd/SKILL.md +150 -0
  7. package/skills/iniciar-projeto-sdd/assets/workflow/00-AGENTS-template.md +110 -0
  8. package/skills/iniciar-projeto-sdd/assets/workflow/01-brief-template.md +17 -0
  9. package/skills/iniciar-projeto-sdd/assets/workflow/02-grillme-brief-prompt.md +27 -0
  10. package/skills/iniciar-projeto-sdd/assets/workflow/03-grillme-product-prompt.md +37 -0
  11. package/skills/iniciar-projeto-sdd/assets/workflow/04-prd-template.md +37 -0
  12. package/skills/iniciar-projeto-sdd/assets/workflow/05-prd-compression-prompt.md +33 -0
  13. package/skills/iniciar-projeto-sdd/assets/workflow/06-prespec-prompt.md +52 -0
  14. package/skills/iniciar-projeto-sdd/assets/workflow/07-derive-docs-prompt.md +32 -0
  15. package/skills/iniciar-projeto-sdd/assets/workflow/08-tlc-execution-prompt.md +32 -0
  16. package/skills/iniciar-projeto-sdd/assets/workflow/09-quality-checklists.md +35 -0
  17. package/skills/iniciar-projeto-sdd/references/workflow-summary.md +69 -0
  18. package/skills/iniciar-projeto-sdd/scripts/init_sdd_project.sh +182 -0
  19. package/workflow/00-AGENTS-template.md +110 -0
  20. package/workflow/01-brief-template.md +17 -0
  21. package/workflow/02-grillme-brief-prompt.md +27 -0
  22. package/workflow/03-grillme-product-prompt.md +37 -0
  23. package/workflow/04-prd-template.md +37 -0
  24. package/workflow/05-prd-compression-prompt.md +33 -0
  25. package/workflow/06-prespec-prompt.md +52 -0
  26. package/workflow/07-derive-docs-prompt.md +32 -0
  27. package/workflow/08-tlc-execution-prompt.md +32 -0
  28. package/workflow/09-quality-checklists.md +35 -0
@@ -0,0 +1,110 @@
1
+ # AGENTS.md
2
+
3
+ ## Objetivo
4
+
5
+ Este repositório usa um workflow SDD com Grill-me, PreSpec Técnica e TLC Spec-Driven.
6
+
7
+ O agente deve seguir os documentos e templates do diretório `/workflow` antes de gerar documentação ou implementar código.
8
+
9
+ ## Estrutura de documentação
10
+
11
+ - `docs/product/Brief_Inicial.md`: brief curto criado na etapa inicial.
12
+ - `docs/product/PRD_Principal.md`: fonte de verdade de produto.
13
+ - `docs/technical/PreSpec_Tecnica.md`: ponte entre produto e engenharia.
14
+ - `docs/technical/Domain_Model.md`: entidades, regras, status e invariantes.
15
+ - `docs/technical/Architecture.md`: módulos, camadas e decisões técnicas macro.
16
+ - `docs/technical/API_Contracts.md`: contratos conceituais por caso de uso.
17
+ - `docs/technical/Test_Strategy.md`: estratégia de testes e cenários prioritários.
18
+ - `docs/decisions/`: ADRs.
19
+ - `.specs/project/`: contexto persistente do projeto.
20
+ - `.specs/features/`: specs executáveis por fatia vertical.
21
+
22
+ ## Regras de entrevista
23
+
24
+ - Brief inicial: até 3 perguntas, uma por vez, com resposta recomendada.
25
+ - PRD Principal: até 30 blocos, com 3 a 5 perguntas por bloco.
26
+ - Compressão do PRD: até 5 perguntas.
27
+ - PreSpec Técnica: até 10 perguntas.
28
+ - Derivação dos docs técnicos: 0 perguntas por padrão.
29
+ - Specs TLC por fatia: até 5 perguntas, se necessário.
30
+
31
+ ## Comandos do workflow
32
+
33
+ - `/iniciar-projeto-sdd`: criar estrutura e, se houver nome/ideia, gerar rascunho do Brief Inicial.
34
+ - `/continuar-sdd`: continuar a partir do estado registrado em `.specs/project/STATE.md`.
35
+ - Quando houver mais de um próximo caminho, mostrar opções numeradas e aguardar escolha do usuário.
36
+
37
+ Antes de continuar, ler `.specs/project/STATE.md` e `docs/product/Brief_Inicial.md` quando existir.
38
+
39
+ Se houver uma próxima etapa inequívoca no `STATE.md`, continuar automaticamente. Se houver mais de um caminho válido, mostrar opções numeradas e aguardar escolha.
40
+
41
+ Após concluir o Grill-me de produto ou atingir o limite de blocos, gerar automaticamente `docs/product/PRD_Principal.md`.
42
+
43
+ Após gerar o PRD, parar e mostrar opções numeradas antes de iniciar a compressão/revisão.
44
+
45
+ Após concluir a compressão/revisão do PRD, parar e mostrar opções numeradas antes de iniciar a PreSpec Técnica.
46
+
47
+ ## Regras do Brief Inicial
48
+
49
+ O Brief Inicial deve seguir exatamente o template de `workflow/01-brief-template.md`.
50
+
51
+ - Não adicionar seções.
52
+ - Não criar `docs/product/Brief_Inicial.md` vazio durante o setup.
53
+ - O usuário não deve preencher o template manualmente; o Brief Inicial nasce de um Grill-me curto.
54
+ - Se o comando inicial trouxer nome e ideia, usar esses dados como contexto inicial da entrevista do brief.
55
+ - Se faltar nome ou ideia, criar a estrutura e iniciar o Grill-me do Brief Inicial.
56
+ - Criar `.specs/project/STATE.md` desde o setup e atualizar a etapa atual, próxima decisão e log curto após gerar o brief.
57
+ - Não criar `.specs/project/PROJECT.md` nem `.specs/project/ROADMAP.md` no setup; criar apenas na derivação técnica, depois da PreSpec.
58
+ - Não perguntar sobre stack, banco, framework, arquitetura, implementação, deploy ou código.
59
+ - Não fazer perguntas fora do escopo das 8 seções do template.
60
+ - Gerar o Brief Inicial com base nas respostas do Grill-me do brief, usando premissas e dúvidas.
61
+ - Manter o Brief Inicial conservador, sem preencher lacunas relevantes por inferência forte.
62
+ - Fazer no máximo 3 perguntas de brief.
63
+ - Apresentar opções numeradas após criar ou atualizar o Brief Inicial.
64
+ - Se algo puder ser assumido sem grande risco, registrar como premissa na seção mais adequada.
65
+ - Se algo não for essencial agora, registrar em `8. Dúvidas iniciais`.
66
+ - Após criar ou atualizar o Brief Inicial, parar e mostrar opções numeradas antes de iniciar o Grill-me de produto.
67
+
68
+ ## Regras do PRD Principal
69
+
70
+ O PRD Principal deve ser enxuto, autoexplicativo e orientado a produto.
71
+
72
+ Não deve conter:
73
+
74
+ - código;
75
+ - schema de banco;
76
+ - endpoints detalhados;
77
+ - escolha de framework;
78
+ - detalhes de deploy;
79
+ - implementação prematura.
80
+
81
+ ## Regras da PreSpec Técnica
82
+
83
+ A PreSpec Técnica deve traduzir produto em direção técnica conceitual.
84
+
85
+ Ela pode conter entidades conceituais, permissões, regras de domínio, validações, contratos conceituais, riscos técnicos, estratégia inicial de testes e backlog por fatias verticais.
86
+
87
+ Ela não deve escolher stack específica sem decisão explícita.
88
+
89
+ ## Regras de derivação técnica
90
+
91
+ Ao derivar docs técnicos, o agente deve gerar os documentos sem nova entrevista, salvo inconsistência crítica.
92
+
93
+ ## Regras de implementação
94
+
95
+ - Implementar uma fatia vertical por vez.
96
+ - Não alterar escopo sem atualizar documentação.
97
+ - Não criar dependências novas sem justificativa.
98
+ - Criar ou atualizar testes relevantes.
99
+ - Atualizar `.specs/project/STATE.md` ao final de cada etapa.
100
+ - Registrar decisões importantes como ADR.
101
+
102
+ ## Definition of Done
103
+
104
+ Uma etapa só está concluída quando:
105
+
106
+ - o artefato esperado foi criado ou atualizado;
107
+ - o documento segue o template correspondente;
108
+ - decisões em aberto foram registradas;
109
+ - inconsistências foram apontadas;
110
+ - o próximo passo está claro.
@@ -0,0 +1,17 @@
1
+ # Brief Inicial — [Nome do Projeto]
2
+
3
+ ## 1. Ideia em uma frase
4
+
5
+ ## 2. Problema percebido
6
+
7
+ ## 3. Público imaginado
8
+
9
+ ## 4. Solução imaginada
10
+
11
+ ## 5. Contexto de uso
12
+
13
+ ## 6. Resultado esperado
14
+
15
+ ## 7. Restrições conhecidas
16
+
17
+ ## 8. Dúvidas iniciais
@@ -0,0 +1,27 @@
1
+ # Grill-me do Brief
2
+
3
+ Use grill-me para preencher ou enriquecer o brief inicial.
4
+
5
+ ## Objetivo
6
+
7
+ Transformar minha ideia inicial em um Brief Inicial claro antes de iniciar o PRD, sem exigir preenchimento manual do template.
8
+
9
+ ## Regras
10
+
11
+ - Faça no máximo 3 perguntas.
12
+ - Faça uma pergunta por vez.
13
+ - Para cada pergunta, forneça sua resposta recomendada.
14
+ - Se ainda não existir `docs/product/Brief_Inicial.md`, use as respostas para gerar o brief.
15
+ - Se o brief já existir, use as respostas para enriquecê-lo.
16
+ - Mantenha o Brief Inicial conservador: não preencha lacunas relevantes por inferência forte.
17
+ - Use premissas e dúvidas iniciais para lacunas que não bloqueiam o entendimento.
18
+ - Pergunte apenas o que muda significativamente o entendimento do produto.
19
+ - Não pergunte sobre stack, banco, framework, arquitetura, implementação, deploy ou código.
20
+ - Não faça perguntas fora do escopo das 8 seções do template de `workflow/01-brief-template.md`.
21
+ - Se algo puder ser assumido sem grande risco, registre como premissa.
22
+ - Se algo não for essencial agora, registre como dúvida inicial.
23
+ - Ao final, gere `docs/product/Brief_Inicial.md` seguindo exatamente o template do workflow.
24
+ - Pare após gerar ou atualizar o brief e apresente opções numeradas:
25
+ 1. Enriquecer mais o Brief Inicial.
26
+ 2. Continuar para o Grill-me de produto.
27
+ 3. Pausar para revisão manual.
@@ -0,0 +1,37 @@
1
+ # Grill-me de Produto
2
+
3
+ Use grill-me para gerar um PRD Principal enxuto e autoexplicativo.
4
+
5
+ ## Contexto
6
+
7
+ Já existe um brief inicial. Use esse brief como fonte base.
8
+
9
+ ## Objetivo
10
+
11
+ Coletar informações de produto suficientes para gerar um PRD Principal, sem entrar em implementação técnica.
12
+
13
+ ## Blocos sugeridos
14
+
15
+ 1. Problema e contexto.
16
+ 2. Público-alvo e personas.
17
+ 3. Proposta de valor.
18
+ 4. Escopo do MVP.
19
+ 5. Funcionalidades principais.
20
+ 6. Regras de negócio.
21
+ 7. Fluxos principais.
22
+ 8. Métricas, riscos e decisões em aberto.
23
+
24
+ ## Regras da entrevista
25
+
26
+ - Faça no máximo 30 blocos.
27
+ - Cada bloco deve ter entre 3 e 5 perguntas.
28
+ - O limite se aplica aos blocos, não ao número total de perguntas.
29
+ - Cada pergunta dentro do bloco deve vir acompanhada de uma resposta recomendada.
30
+ - Não faça perguntas repetidas.
31
+ - Não pergunte sobre stack, banco, framework, endpoints, schema, ORM, deploy ou arquitetura.
32
+ - Se uma resposta permitir uma suposição razoável, registre como premissa.
33
+ - Se algo não for essencial para o MVP, registre como fora de escopo ou decisão em aberto.
34
+ - Antes de ultrapassar 30 blocos, pare e liste lacunas restantes.
35
+ - Não gere o PRD antes de concluir a entrevista ou atingir o limite de blocos.
36
+ - Ao concluir a entrevista ou atingir o limite de blocos, gere automaticamente `docs/product/PRD_Principal.md` usando `workflow/04-prd-template.md`.
37
+ - Após gerar o PRD, pare e peça confirmação antes de iniciar `workflow/05-prd-compression-prompt.md`.
@@ -0,0 +1,37 @@
1
+ # PRD Principal — [Nome do Produto]
2
+
3
+ ## 1. Resumo
4
+
5
+ ## 2. Problema
6
+
7
+ ## 3. Público-alvo
8
+
9
+ ## 4. Proposta de valor
10
+
11
+ ## 5. Objetivos do MVP
12
+
13
+ ## 6. Escopo do MVP
14
+
15
+ ### 6.1 Incluído
16
+
17
+ ### 6.2 Fora de escopo
18
+
19
+ ## 7. Funcionalidades principais
20
+
21
+ ## 8. Regras de negócio principais
22
+
23
+ ## 9. Fluxos principais
24
+
25
+ ## 10. Requisitos funcionais
26
+
27
+ ## 11. Requisitos não funcionais
28
+
29
+ ## 12. Critérios de aceite
30
+
31
+ ## 13. Métricas de sucesso
32
+
33
+ ## 14. Riscos e mitigação
34
+
35
+ ## 15. Decisões tomadas
36
+
37
+ ## 16. Decisões em aberto
@@ -0,0 +1,33 @@
1
+ # Compressão e Revisão do PRD
2
+
3
+ Revise e compacte o PRD Principal.
4
+
5
+ ## Objetivo
6
+
7
+ Transformar o documento em uma versão enxuta, autoexplicativa e pronta para servir como fonte de verdade de produto.
8
+
9
+ ## Pré-condição
10
+
11
+ Só iniciar esta etapa após confirmação explícita do usuário, depois que `docs/product/PRD_Principal.md` já existir.
12
+
13
+ ## Regras
14
+
15
+ - Antes de reescrever, faça até 5 perguntas apenas se forem necessárias para resolver lacunas importantes.
16
+ - Remova redundâncias.
17
+ - Una seções repetidas.
18
+ - Preserve decisões importantes.
19
+ - Preserve regras de negócio verificáveis.
20
+ - Preserve critérios de aceite.
21
+ - Preserve escopo e fora de escopo.
22
+ - Remova detalhes técnicos de implementação.
23
+ - Não inclua stack.
24
+ - Não inclua código.
25
+ - Não inclua endpoints.
26
+ - Não inclua schema de banco.
27
+ - Use linguagem objetiva.
28
+ - Mantenha a estrutura padrão do PRD.
29
+ - Ao final, liste possíveis lacunas restantes sem iniciar nova entrevista.
30
+ - Ao final, atualize `.specs/project/STATE.md`, pare o fluxo e apresente opções numeradas antes de iniciar `workflow/06-prespec-prompt.md`:
31
+ 1. Aprovar PRD revisado e gerar PreSpec Técnica.
32
+ 2. Fazer ajustes no PRD.
33
+ 3. Pausar.
@@ -0,0 +1,52 @@
1
+ # PreSpec Técnica
2
+
3
+ A partir do PRD Principal aprovado, gere uma PreSpec Técnica.
4
+
5
+ ## Objetivo
6
+
7
+ Criar uma ponte entre produto e engenharia, preparando o projeto para documentação técnica e specs por fatia vertical.
8
+
9
+ ## Pré-condição
10
+
11
+ Só iniciar esta etapa após aprovação explícita do PRD revisado/comprimido.
12
+
13
+ ## Antes de gerar
14
+
15
+ Faça até 10 perguntas técnicas conceituais se forem necessárias.
16
+
17
+ Pode perguntar sobre:
18
+
19
+ - entidades do domínio;
20
+ - permissões;
21
+ - dados essenciais;
22
+ - regras de validação;
23
+ - integrações obrigatórias;
24
+ - restrições operacionais;
25
+ - requisitos não funcionais críticos;
26
+ - riscos técnicos;
27
+ - estratégia inicial de testes.
28
+
29
+ Não deve perguntar sobre:
30
+
31
+ - framework específico;
32
+ - ORM específico;
33
+ - biblioteca específica;
34
+ - provedor de deploy;
35
+ - implementação detalhada;
36
+ - código.
37
+
38
+ ## Estrutura da PreSpec
39
+
40
+ 1. Finalidade
41
+ 2. Fontes
42
+ 3. Fronteira técnica do MVP
43
+ 4. Princípios técnicos
44
+ 5. Modelo conceitual inicial
45
+ 6. Regras de domínio críticas
46
+ 7. Permissões e escopo de dados
47
+ 8. Contratos conceituais por caso de uso
48
+ 9. Validações principais
49
+ 10. Riscos técnicos
50
+ 11. Estratégia inicial de testes
51
+ 12. Backlog por fatias verticais
52
+ 13. Decisões que devem virar ADR
@@ -0,0 +1,32 @@
1
+ # Derivação dos Documentos Técnicos
2
+
3
+ A partir do PRD Principal aprovado e da PreSpec Técnica, derive os documentos técnicos especializados.
4
+
5
+ ## Regra principal
6
+
7
+ Não faça novas perguntas, salvo inconsistência crítica que impeça a geração.
8
+
9
+ ## Gere
10
+
11
+ 1. `docs/technical/Domain_Model.md`
12
+ 2. `docs/technical/Architecture.md`
13
+ 3. `docs/technical/API_Contracts.md`
14
+ 4. `docs/technical/Test_Strategy.md`
15
+ 5. ADRs iniciais em `docs/decisions/`
16
+ 6. `.specs/project/PROJECT.md`
17
+ 7. `.specs/project/ROADMAP.md`
18
+ 8. `.specs/project/STATE.md`
19
+ 9. `.specs/features/[feature]/spec.md`
20
+ 10. `.specs/features/[feature]/design.md`
21
+ 11. `.specs/features/[feature]/tasks.md`
22
+
23
+ ## Regras
24
+
25
+ - Não duplicar texto desnecessário.
26
+ - Cada documento deve ter responsabilidade clara.
27
+ - `Domain_Model.md` deve conter entidades, regras, status, permissões e invariantes.
28
+ - `Architecture.md` deve conter módulos, camadas, fronteiras e decisões arquiteturais.
29
+ - `API_Contracts.md` deve conter contratos conceituais, entradas, saídas, erros e regras.
30
+ - `Test_Strategy.md` deve conter riscos, tipos de teste e cenários prioritários.
31
+ - ADRs devem registrar decisões importantes com contexto e consequências.
32
+ - Specs por fatia devem ter `spec.md`, `design.md` e `tasks.md`.
@@ -0,0 +1,32 @@
1
+ # TLC por Fatia Vertical
2
+
3
+ Use tlc-spec-driven para trabalhar na próxima fatia vertical.
4
+
5
+ ## Leia antes
6
+
7
+ - `AGENTS.md`
8
+ - `docs/product/PRD_Principal.md`
9
+ - `docs/technical/PreSpec_Tecnica.md`
10
+ - `docs/technical/Domain_Model.md`
11
+ - `docs/technical/Architecture.md`
12
+ - `docs/technical/API_Contracts.md`
13
+ - `docs/technical/Test_Strategy.md`
14
+ - `.specs/project/PROJECT.md`
15
+ - `.specs/project/ROADMAP.md`
16
+ - `.specs/project/STATE.md`
17
+ - `.specs/features/[feature]/spec.md`
18
+ - `.specs/features/[feature]/design.md`
19
+ - `.specs/features/[feature]/tasks.md`
20
+
21
+ ## Objetivo
22
+
23
+ Validar e executar a fatia vertical selecionada.
24
+
25
+ ## Regras
26
+
27
+ - Faça no máximo 5 perguntas se houver lacunas relevantes na fatia.
28
+ - Não altere escopo global sem registrar decisão.
29
+ - Não implemente fora da fatia selecionada.
30
+ - Atualize `STATE.md` ao final.
31
+ - Marque tasks concluídas.
32
+ - Registre decisões novas como ADR quando necessário.
@@ -0,0 +1,35 @@
1
+ # Checklists de Qualidade
2
+
3
+ ## PRD
4
+
5
+ - [ ] O problema está claro?
6
+ - [ ] O público-alvo está claro?
7
+ - [ ] A proposta de valor está clara?
8
+ - [ ] O MVP está bem delimitado?
9
+ - [ ] Existe seção de fora de escopo?
10
+ - [ ] As funcionalidades estão descritas sem implementação técnica?
11
+ - [ ] As regras de negócio são verificáveis?
12
+ - [ ] Existem fluxos principais?
13
+ - [ ] Existem requisitos funcionais?
14
+ - [ ] Existem requisitos não funcionais?
15
+ - [ ] Existem critérios de aceite?
16
+ - [ ] Existem métricas de sucesso?
17
+ - [ ] Existem riscos e mitigações?
18
+ - [ ] Existem decisões tomadas?
19
+ - [ ] Existem decisões em aberto?
20
+ - [ ] O documento evita código, stack, endpoints e schema?
21
+ - [ ] O documento pode ser lido em aproximadamente 15 minutos?
22
+
23
+ ## PreSpec
24
+
25
+ - [ ] A fronteira técnica do MVP está clara?
26
+ - [ ] O documento continua agnóstico de tecnologia quando apropriado?
27
+ - [ ] As entidades principais estão identificadas?
28
+ - [ ] As regras críticas de domínio estão claras?
29
+ - [ ] As permissões estão descritas?
30
+ - [ ] Os contratos conceituais estão descritos?
31
+ - [ ] As validações principais estão listadas?
32
+ - [ ] Os riscos técnicos foram registrados?
33
+ - [ ] Existe estratégia inicial de testes?
34
+ - [ ] Existe backlog por fatias verticais?
35
+ - [ ] Decisões importantes foram marcadas para ADR?
@@ -0,0 +1,69 @@
1
+ # Workflow SDD — Resumo Operacional
2
+
3
+ ## Etapas
4
+
5
+ 0. Setup do projeto: criar estrutura, `AGENTS.md`, templates e `.specs/project/STATE.md`, sem criar `Brief_Inicial.md` vazio.
6
+ 1. Grill-me do Brief Inicial: até 3 perguntas, uma por vez, com resposta recomendada.
7
+ 2. Brief Inicial: gerar o documento no template curto e parar com opções numeradas.
8
+ 3. Grill-me de produto: até 30 blocos, com 3 a 5 perguntas por bloco.
9
+ 4. PRD Principal: gerar sem novas perguntas.
10
+ 5. Compressão do PRD: até 5 perguntas, se necessário.
11
+ 6. PreSpec Técnica: até 10 perguntas conceituais.
12
+ 7. Derivação técnica: 0 perguntas por padrão.
13
+ 8. TLC por fatia vertical: até 5 perguntas por fatia.
14
+
15
+ ## Separação de camadas
16
+
17
+ - Brief e PRD são documentos de produto.
18
+ - PreSpec é ponte técnica conceitual.
19
+ - Docs técnicos derivados detalham domínio, arquitetura, contratos e testes.
20
+ - TLC executa uma fatia vertical por vez.
21
+
22
+ ## Regra de ouro
23
+
24
+ Não iniciar implementação antes de existir pelo menos PRD, PreSpec, docs técnicos mínimos e spec da fatia vertical.
25
+
26
+ ## Checkpoint obrigatório
27
+
28
+ O comando inicial do workflow cria a estrutura e inicia o Grill-me do Brief Inicial. Depois de gerar o Brief Inicial, o agente deve mostrar opções numeradas antes de iniciar o Grill-me de produto.
29
+
30
+ ## Estado persistente
31
+
32
+ Crie `.specs/project/STATE.md` desde o setup. Atualize o arquivo quando o Brief Inicial for criado, quando o usuário escolher enriquecer o brief, e quando avançar para Grill-me de produto.
33
+
34
+ Mantenha um log curto em ordem cronológica com data e etapa concluída.
35
+
36
+ Não crie `.specs/project/PROJECT.md` nem `.specs/project/ROADMAP.md` no setup. Eles só devem ser gerados durante a derivação técnica, depois da PreSpec.
37
+
38
+ ## Entrada do comando
39
+
40
+ - Com `Nome` e `Ideia`: criar estrutura e registrar os dados no `STATE.md` para o Grill-me do Brief.
41
+ - Sem `Nome` ou sem `Ideia`: criar estrutura e iniciar o Grill-me do Brief para coletar o essencial.
42
+
43
+ ## Continuação
44
+
45
+ Aceite `/continuar-sdd` como retomada do fluxo.
46
+
47
+ Antes de continuar, leia `STATE.md` e o Brief Inicial. Se o brief não existir, continue o Grill-me do Brief.
48
+
49
+ Se houver uma próxima etapa inequívoca no `STATE.md`, continue automaticamente. Se houver mais de um caminho válido, mostre opções numeradas e aguarde escolha.
50
+
51
+ No Grill-me de produto, use até 30 blocos, com 3 a 5 perguntas por bloco. O limite se aplica aos blocos, não ao número total de perguntas.
52
+
53
+ Quando o Grill-me de produto terminar ou atingir o limite de blocos, gere automaticamente `docs/product/PRD_Principal.md` usando o template padrão.
54
+
55
+ Depois de gerar o PRD, pare e mostre opções numeradas antes de iniciar a compressão/revisão.
56
+
57
+ Depois da compressão/revisão do PRD, pare novamente e mostre opções numeradas antes de iniciar a PreSpec Técnica.
58
+
59
+ ## Estilo do brief
60
+
61
+ O Brief Inicial deve ser gerado por Grill-me curto, não preenchido manualmente pelo usuário. Use premissas apenas quando forem seguras e marque lacunas relevantes como dúvidas iniciais.
62
+
63
+ Após gerar o Brief Inicial, mostre opções numeradas para enriquecer o brief, continuar para produto ou pausar.
64
+
65
+ ## Distribuição
66
+
67
+ A skill deve continuar autocontida para empacotamento futuro via npm/npx. O pacote deve levar `SKILL.md`, `scripts/init_sdd_project.sh`, `assets/workflow/` e este resumo.
68
+
69
+ Instalação global em `~/.agents/skills` não é etapa obrigatória do workflow; trate como conveniência local opcional.
@@ -0,0 +1,182 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ target_dir="."
5
+ force=""
6
+ project_name=""
7
+ project_idea=""
8
+ today="$(date +%F)"
9
+
10
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
+ skill_dir="$(cd "$script_dir/.." && pwd)"
12
+ repo_root="$(cd "$script_dir/../../.." && pwd)"
13
+
14
+ template_source="${SDD_WORKFLOW_TEMPLATE_DIR:-}"
15
+ if [[ -z "$template_source" ]]; then
16
+ if [[ -d "$skill_dir/assets/workflow" ]]; then
17
+ template_source="$skill_dir/assets/workflow"
18
+ elif [[ -d "$repo_root/workflow" ]]; then
19
+ template_source="$repo_root/workflow"
20
+ else
21
+ printf 'erro: não encontrei templates do workflow.\n' >&2
22
+ printf 'defina SDD_WORKFLOW_TEMPLATE_DIR ou instale assets/workflow junto da skill.\n' >&2
23
+ exit 1
24
+ fi
25
+ fi
26
+
27
+ while [[ $# -gt 0 ]]; do
28
+ case "$1" in
29
+ --force)
30
+ force="--force"
31
+ shift
32
+ ;;
33
+ --name)
34
+ project_name="${2:-}"
35
+ shift 2
36
+ ;;
37
+ --idea)
38
+ project_idea="${2:-}"
39
+ shift 2
40
+ ;;
41
+ --help|-h)
42
+ cat <<'EOF'
43
+ Uso:
44
+ init_sdd_project.sh [diretório] [--force] [--name "Nome"] [--idea "Ideia inicial"]
45
+
46
+ Cria a estrutura, templates e STATE.md.
47
+ Com --name e --idea, registra esses dados no STATE.md para iniciar o Grill-me do Brief.
48
+
49
+ Por padrão, copia templates de assets/workflow da skill ou de workflow/ no repositório.
50
+ Use SDD_WORKFLOW_TEMPLATE_DIR=/caminho/workflow para sobrescrever a origem.
51
+ EOF
52
+ exit 0
53
+ ;;
54
+ *)
55
+ if [[ "$target_dir" == "." ]]; then
56
+ target_dir="$1"
57
+ else
58
+ printf 'argumento desconhecido: %s\n' "$1" >&2
59
+ exit 2
60
+ fi
61
+ shift
62
+ ;;
63
+ esac
64
+ done
65
+
66
+ mkdir -p \
67
+ "$target_dir/workflow" \
68
+ "$target_dir/docs/product" \
69
+ "$target_dir/docs/technical" \
70
+ "$target_dir/docs/decisions" \
71
+ "$target_dir/.specs/project" \
72
+ "$target_dir/.specs/features"
73
+
74
+ write_file() {
75
+ local path="$1"
76
+ if [[ -e "$path" && "$force" != "--force" ]]; then
77
+ printf 'preservado: %s\n' "$path"
78
+ return
79
+ fi
80
+ mkdir -p "$(dirname "$path")"
81
+ cat > "$path"
82
+ printf 'criado: %s\n' "$path"
83
+ }
84
+
85
+ copy_template() {
86
+ local source="$1"
87
+ local destination="$2"
88
+
89
+ if [[ -e "$destination" && "$force" != "--force" ]]; then
90
+ printf 'preservado: %s\n' "$destination"
91
+ return
92
+ fi
93
+
94
+ mkdir -p "$(dirname "$destination")"
95
+ cp "$source" "$destination"
96
+ printf 'criado: %s\n' "$destination"
97
+ }
98
+
99
+ if [[ ! -f "$template_source/00-AGENTS-template.md" ]]; then
100
+ printf 'erro: template ausente: %s/00-AGENTS-template.md\n' "$template_source" >&2
101
+ exit 1
102
+ fi
103
+
104
+ for template in "$template_source"/*.md; do
105
+ copy_template "$template" "$target_dir/workflow/$(basename "$template")"
106
+ done
107
+
108
+ copy_template "$template_source/00-AGENTS-template.md" "$target_dir/AGENTS.md"
109
+
110
+ touch \
111
+ "$target_dir/docs/product/.gitkeep" \
112
+ "$target_dir/docs/technical/.gitkeep" \
113
+ "$target_dir/docs/decisions/.gitkeep" \
114
+ "$target_dir/.specs/features/.gitkeep"
115
+
116
+ if [[ -n "$project_name" && -n "$project_idea" ]]; then
117
+ write_file "$target_dir/.specs/project/STATE.md" <<EOF
118
+ # Estado do Projeto
119
+
120
+ ## Etapa atual
121
+
122
+ Setup do workflow criado. Dados iniciais recebidos para o Grill-me do Brief.
123
+
124
+ ## Último artefato
125
+
126
+ Nenhum artefato de produto criado ainda.
127
+
128
+ ## Próxima decisão
129
+
130
+ Continuar o Grill-me do Brief Inicial para gerar \`docs/product/Brief_Inicial.md\`.
131
+
132
+ ## Dados iniciais
133
+
134
+ - Nome: $project_name
135
+ - Ideia: $project_idea
136
+
137
+ ## Log curto
138
+
139
+ - $today — Setup do workflow criado.
140
+ - $today — Dados iniciais registrados para o Grill-me do Brief.
141
+
142
+ ## Observações
143
+
144
+ - O Brief Inicial não deve ser criado vazio.
145
+ - O usuário não deve preencher o template manualmente.
146
+ - O Brief Inicial deve ser gerado por um Grill-me curto, com até 3 perguntas.
147
+ - Após gerar o Brief Inicial, o fluxo deve mostrar opções numeradas.
148
+ EOF
149
+ printf 'observação: docs/product/Brief_Inicial.md será gerado pelo Grill-me do Brief\n'
150
+ printf 'próximo passo: conduza até 3 perguntas para gerar o Brief Inicial\n'
151
+ else
152
+ write_file "$target_dir/.specs/project/STATE.md" <<EOF
153
+ # Estado do Projeto
154
+
155
+ ## Etapa atual
156
+
157
+ Setup do workflow criado.
158
+
159
+ ## Último artefato
160
+
161
+ Nenhum artefato de produto criado ainda.
162
+
163
+ ## Próxima decisão
164
+
165
+ Continuar o Grill-me do Brief Inicial para coletar nome, ideia e lacunas essenciais antes de gerar \`docs/product/Brief_Inicial.md\`.
166
+
167
+ ## Log curto
168
+
169
+ - $today — Setup do workflow criado.
170
+
171
+ ## Observações
172
+
173
+ - O Brief Inicial não deve ser criado vazio.
174
+ - O usuário não deve preencher o template manualmente.
175
+ - O Brief Inicial deve ser gerado por um Grill-me curto, com até 3 perguntas.
176
+ - Após gerar o Brief Inicial, o fluxo deve mostrar opções numeradas.
177
+ EOF
178
+ printf 'observação: docs/product/Brief_Inicial.md não é criado vazio no setup\n'
179
+ printf 'próximo passo: conduza até 3 perguntas para gerar o Brief Inicial\n'
180
+ fi
181
+
182
+ printf 'setup SDD concluído em: %s\n' "$target_dir"