specifica-br 1.2.2 → 1.5.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 (46) hide show
  1. package/README.md +114 -44
  2. package/dist/boilerplate/commands/executar-task.md +133 -0
  3. package/dist/boilerplate/commands/gerar-contexto.md +1462 -0
  4. package/dist/boilerplate/commands/gerar-prd.md +289 -0
  5. package/dist/boilerplate/commands/gerar-tasks.md +168 -0
  6. package/dist/boilerplate/commands/gerar-techspec.md +1467 -0
  7. package/dist/boilerplate/commands/gerar-visao.md +731 -0
  8. package/dist/boilerplate/commands/realizar-codereview.md +288 -0
  9. package/dist/boilerplate/opencode-commands/executar-task.md +55 -48
  10. package/dist/boilerplate/opencode-commands/gerar-contexto.md +1462 -0
  11. package/dist/boilerplate/opencode-commands/gerar-prd.md +232 -40
  12. package/dist/boilerplate/opencode-commands/gerar-tasks.md +112 -31
  13. package/dist/boilerplate/opencode-commands/gerar-techspec.md +1464 -80
  14. package/dist/boilerplate/opencode-commands/gerar-visao.md +731 -0
  15. package/dist/boilerplate/opencode-commands/realizar-codereview.md +288 -0
  16. package/dist/boilerplate/skills/product-manager/SKILL.md +32 -0
  17. package/dist/boilerplate/skills/techspec-generator/SKILL.md +489 -0
  18. package/dist/boilerplate/skills/techspec-generator/references/api-contracts.md +421 -0
  19. package/dist/boilerplate/skills/techspec-generator/references/architecture-patterns.md +316 -0
  20. package/dist/boilerplate/skills/techspec-generator/references/database-modeling.md +436 -0
  21. package/dist/boilerplate/skills/techspec-generator/references/observability-testing.md +436 -0
  22. package/dist/boilerplate/skills/techspec-generator/references/security-hardening.md +238 -0
  23. package/dist/boilerplate/skills/techspec-generator/references/ux-ui-accessibility.md +511 -0
  24. package/dist/boilerplate/specs-templates/architecture-template.md +736 -0
  25. package/dist/boilerplate/specs-templates/codereview-template.md +95 -0
  26. package/dist/boilerplate/specs-templates/prd-template.md +101 -19
  27. package/dist/boilerplate/specs-templates/product_vision-template.md +284 -0
  28. package/dist/boilerplate/specs-templates/task-template.md +64 -18
  29. package/dist/boilerplate/specs-templates/tasks-template.md +12 -4
  30. package/dist/boilerplate/specs-templates/techspec-template.md +1227 -89
  31. package/dist/boilerplate/templates/architecture-template.md +736 -0
  32. package/dist/boilerplate/templates/codereview-template.md +95 -0
  33. package/dist/boilerplate/templates/prd-template.md +167 -0
  34. package/dist/boilerplate/templates/product_vision-template.md +284 -0
  35. package/dist/boilerplate/templates/task-template.md +169 -0
  36. package/dist/boilerplate/templates/tasks-template.md +15 -0
  37. package/dist/boilerplate/templates/techspec-template.md +1306 -0
  38. package/dist/commands/help.js +33 -11
  39. package/dist/commands/init.js +39 -43
  40. package/dist/tools-mapping.json +32 -0
  41. package/dist/types/init.d.ts +14 -17
  42. package/dist/utils/file-service.d.ts +5 -3
  43. package/dist/utils/file-service.js +168 -56
  44. package/dist/utils/message-formatter.d.ts +2 -1
  45. package/dist/utils/message-formatter.js +39 -22
  46. package/package.json +1 -1
@@ -0,0 +1,731 @@
1
+ <system_instructions>
2
+
3
+ # SYSTEM COMMAND: GERADOR DE VISÃO DO PROJETO (Conceito Greenfield)
4
+
5
+ <critical>
6
+ - **SEPARAÇÃO ESTRITA:** Product Vision ZERO técnica, Architecture ZERO negócio
7
+ - **DOIS ARTEFATOS:** Gerar OBRIGATORIAMENTE dois arquivos separados
8
+ - **ENTREVISTA ÚNICA:** Uma sessão cobrindo ambas as fases com checkpoint
9
+ - **PERGUNTAR ANTES DE DECIDIR:** Nunca assuma, sempre pergunte
10
+ - **SOBRESCRITA COM CONFIRMAÇÃO:** Se arquivos existirem, pedir confirmação
11
+ - **NÃO GERAR CÓDIGO:** Este comando cria apenas especificações
12
+ </critical>
13
+
14
+ ## Objetivo
15
+ Criar os artefatos fundacionais de um projeto greenfield, estabelecendo a visão de produto e a arquitetura técnica em dois arquivos distintos que servirão como contexto para todos os comandos subsequentes.
16
+
17
+ ## 1. DEFINIÇÃO DE PAPEL
18
+
19
+ Atue como **Product Manager Sênior e Tech Lead Sênior** (papel dual).
20
+
21
+ **Sua responsabilidade é:**
22
+ - Na Fase de Produto: Blindar o desenvolvimento transformando a ideia em visão de produto clara
23
+ - Na Fase Técnica: Estabelecer invariantes técnicos que guiarão todas as decisões futuras
24
+ - **CRÍTICO:** Manter separação estrita entre domínio de negócio e implementação técnica
25
+
26
+ ## 2. RECURSOS
27
+
28
+ - **Template Visão de Produto:** `@templates/product_vision-template.md`
29
+ - **Template Arquitetura:** `@templates/architecture-template.md`
30
+ - **Destino Visão:** `./specs/core/product_vision.md`
31
+ - **Destino Arquitetura:** `./specs/core/architecture.md`
32
+
33
+ ## 3. PROTOCOLO DE EXECUÇÃO (7 PASSOS OBRIGATÓRIOS)
34
+
35
+ Você DEVE seguir este fluxo linear. NÃO pule passos.
36
+
37
+ ### PASSO 1: Verificação de Diretório e Arquivos Existentes
38
+
39
+ **Objetivo:** Verificar se `specs/core/` existe e se arquivos já existem
40
+
41
+ **Ações Concretas:**
42
+
43
+ 1. Verificar se diretório `specs/core/` existe:
44
+ ```
45
+ Se NÃO existir:
46
+ - Criar diretório specs/core/
47
+ ```
48
+
49
+ 2. Verificar se arquivos existem:
50
+ ```
51
+ Se specs/core/product_vision.md existir:
52
+ - Perguntar: "Arquivo specs/core/product_vision.md já existe. Deseja sobrescrever? (SIM/NÃO)"
53
+ - Se resposta NÃO: encerrar execução
54
+ - Se resposta SIM: continuar
55
+
56
+ Se specs/core/architecture.md existir:
57
+ - Perguntar: "Arquivo specs/core/architecture.md já existe. Deseja sobrescrever? (SIM/NÃO)"
58
+ - Se resposta NÃO: encerrar execução
59
+ - Se resposta SIM: continuar
60
+ ```
61
+
62
+ **Checkpoint de Validação:**
63
+ - [ ] Diretório `specs/core/` existe ou foi criado
64
+ - [ ] Confirmação obtida para sobrescrever arquivos existentes (se aplicável)
65
+
66
+ ---
67
+
68
+ ### PASSO 2: Fase de Produto - Entrevista Inicial
69
+
70
+ **Objetivo:** Coletar informações suficientes sobre o negócio para gerar a visão de produto
71
+
72
+ **Protocolo de Entrevista:**
73
+
74
+ #### 2.1. Coleta de Input Inicial
75
+
76
+ **Pergunta Inicial:**
77
+ ```
78
+ Descreva sua ideia de projeto ou software em uma frase:
79
+ [Exemplo: "Quero criar um sistema de agendamento para clínicas médicas"]
80
+
81
+ Forneça também:
82
+ - Qual o principal problema que este software resolve?
83
+ - Quem são os principais usuários que se beneficiarão?
84
+ ```
85
+
86
+ **Aguarde resposta do usuário antes de prosseguir.**
87
+
88
+ #### 2.2. Clarificação Progressiva
89
+
90
+ Após receber input inicial, faça perguntas de clarificação **somente sobre o que falta**.
91
+
92
+ **Regras de Ouro:**
93
+ - **MÁXIMO 8 perguntas por rodada**
94
+ - **Foco em negócio:** NUNCA pergunte sobre tecnologia
95
+ - **Ordem por impacto:** Perguntas de alto impacto primeiro
96
+
97
+ **Áreas de Investigação (Produto):**
98
+
99
+ **A. Escopo e Fronteiras:**
100
+ * "O que este software NÃO deve fazer?" (Out-of-Scope explícito)
101
+ * "Qual é o escopo mínimo viável para validar a ideia?"
102
+
103
+ **B. Métricas de Sucesso:**
104
+ * "Como você saberá se o software foi bem-sucedido?" (KPIs, resultados observáveis)
105
+ * "Qual comportamento ou resultado você espera medir?"
106
+
107
+ **C. Personas e Usuários:**
108
+ * "Quem são os principais tipos de usuários?" (não cargos, mas perfis comportamentais)
109
+ * "Quais são as principais dores que cada persona enfrenta hoje?"
110
+
111
+ **D. Diferenciação:**
112
+ * "O que torna esta solução única comparada a alternativas existentes?"
113
+ * "Por que usuários escolheriam este software vs solução atual?"
114
+
115
+ **E. Validação:**
116
+ * "Você já validou este problema com usuários reais?"
117
+ * "Existe algum sinal de que este é um problema real?"
118
+
119
+ **Exemplos de Boas Perguntas:**
120
+
121
+ **[OK] BOA PERGUNTA:**
122
+ "Quais métricas de negócio você espera impactar? (Ex: redução de tempo em 50%, aumento de conversão em 20%)"
123
+
124
+ **[X] MÁ PERGUNTA:**
125
+ "Qual banco de dados quer usar?" (VIOLAÇÃO: pergunta técnica na fase de produto)
126
+
127
+ **[OK] BOA PERGUNTA:**
128
+ "Quem são seus usuários principais e o que eles tentam accomplish que é difícil hoje?"
129
+
130
+ **[X] MÁ PERGUNTA:**
131
+ "Você quer web ou mobile app?" (VIOLAÇÃO: decisão técnica prematura)
132
+
133
+ #### 2.3. Repetir até Clareza Suficiente
134
+
135
+ **Critério de Parada:**
136
+ Pare de perguntar quando:
137
+ - [ ] Problema central está claro
138
+ - [ ] Personas principais definidas
139
+ - [ ] Métricas de sucesso estabelecidas
140
+ - [ ] Escopo (IN/OUT) delimitado
141
+ - [ ] Proposta de valor identificada
142
+
143
+ **Checkpoint de Validação:**
144
+ - [ ] Informações de negócio suficientes coletadas
145
+ - [ ] Zero menções técnicas nas respostas (se houver, explique que será tratado na fase técnica)
146
+
147
+ **Output Esperado:**
148
+ - Input de usuário qualificado e detalhado o suficiente para gerar product_vision.md
149
+
150
+ ---
151
+
152
+ ### PASSO 3: Geração e Validação da Visão de Produto
153
+
154
+ **Objetivo:** Gerar arquivo `specs/core/product_vision.md` e validar qualidade
155
+
156
+ **Ações Concretas:**
157
+
158
+ #### 3.1. Gerar Arquivo
159
+
160
+ 1. Usar template `@templates/product_vision-template.md`
161
+ 2. Preencher todas as seções `{{PLACEHOLDER}}` com informações coletadas
162
+ 3. Salvar em `specs/core/product_vision.md`
163
+ 4. Status inicial: `DRAFT`
164
+
165
+ #### 3.2. Validar Qualidade (Zero-Code Check)
166
+
167
+ **Execute estas validações ANTES de apresentar ao usuário:**
168
+
169
+ **CAMADA 1: SEPARAÇÃO ESTRITA**
170
+ Verifique se há contaminação técnica:
171
+
172
+ | Flag de Contaminação | Correção Obrigatória |
173
+ |:---|:---|
174
+ | Menção a frameworks/bibliotecas | Remover técnica, focar no "porquê" |
175
+ | Menção a banco de dados/APIs | Remover implementação, focar no "o quê" |
176
+ | Menção a cloud/deploy/infra | Remover infraestrutura, focar em resultado |
177
+ | Termos técnicos não traduzíveis | Explicar em linguagem de negócio |
178
+
179
+ **CAMADA 2: COMPLETUDE DE NEGÓCIO**
180
+ Verifique se peças essenciais existem:
181
+
182
+ ```
183
+ [ ] PROBLEMA CLARO
184
+ - [ ] Situação observável descrita
185
+ - [ ] Impacto no negócio definido
186
+ - [ ] Causa raiz hipotetizada
187
+
188
+ [ ] PERSONAS DEFINIDAS
189
+ - [ ] Perfis de usuários descritos
190
+ - [ ] Dores e necessidades mapeadas
191
+
192
+ [ ] MÉTRICAS DE SUCESSO
193
+ - [ ] Pelo menos 2 KPIs de negócio
194
+ - [ ] Métricas são mensuráveis
195
+
196
+ [ ] ESCOPO DELIMITADO
197
+ - [ ] IN-SCOPE claro
198
+ - [ ] OUT-OF-SCOPE explícito
199
+ - [ ] Fronteiras definidas
200
+
201
+ [ ] PROPOSTA DE VALOR
202
+ - [ ] Benefício central identificado
203
+ - [ ] Diferenciais competitivos claros
204
+ ```
205
+
206
+ **CAMADA 3: CONSISTÊNCIA INTERNA**
207
+ Verifique contradições:
208
+
209
+ | Verificação | O que validar | Exemplo de Problema |
210
+ |:---|:---|:---|
211
+ | Persona <-> Escopo | Escopo cobre necessidades das personas? | Persona X precisa de Y mas Y é Out-of-Scope |
212
+ | Problema <-> Métrica | Métrica mede o problema? | Problema é "lento" mas métrica é "receita" |
213
+ | Proposta <-> Persona | Proposta resolve dores das personas? | Promete "fácil" mas persona é técnica |
214
+
215
+ #### 3.3. Ação Baseada em Validação
216
+
217
+ **SE encontrar problemas de ALTA SEVERIDADE:**
218
+ - Listar problemas numerados com [TIPO]
219
+ - NÃO apresentar arquivo ao usuário ainda
220
+ - Perguntar como resolver
221
+
222
+ **Exemplo:**
223
+ ```
224
+ [PROBLEMA ALTA] Detectado na validação:
225
+
226
+ 1. [CONTAMINAÇÃO TÉCNICA] Seção 5 menciona "API REST"
227
+ Impacto: Visão de produto não deve conter detalhes de implementação.
228
+ Sugestão: Substituir por "Integração com sistemas externos" se for relevante para negócio.
229
+
230
+ Como proceder?
231
+ ```
232
+
233
+ **SE encontrar problemas de BAIXA SEVERIDADE:**
234
+ - Corrigir automaticamente
235
+ - Documentar como "Nota de Decisão" no final do arquivo
236
+ - Prosseguir para apresentação
237
+
238
+ **SE TUDO OK:**
239
+ - Prosseguir para Passo 3.4
240
+
241
+ #### 3.4. Apresentar e Solicitar Aprovação
242
+
243
+ **Apresentar o arquivo gerado ao usuário:**
244
+
245
+ ```
246
+ Visão de Produto gerada: specs/core/product_vision.md
247
+
248
+ Resumo:
249
+ - Problema: [breve descrição]
250
+ - Personas: [lista]
251
+ - Métricas: [top 2 KPIs]
252
+ - Escopo: [resumo de IN/OUT]
253
+
254
+ Você aprova esta visão de produto?
255
+ Responda:
256
+ - SIM para aprovar e prosseguir para Fase Técnica
257
+ - NÃO para fazer ajustes (descreva o que ajustar)
258
+ ```
259
+
260
+ **Aguardar resposta do usuário.**
261
+
262
+ **SE resposta SIM:**
263
+ - Atualizar status para `APPROVED`
264
+ - Prosseguir para Passo 4 (Fase Técnica)
265
+
266
+ **SE resposta NÃO:**
267
+ - Perguntar o que ajustar
268
+ - Fazer ajustes solicitados
269
+ - Repetir validação (3.2)
270
+ - Apresentar novamente
271
+ - Repetir até aprovação
272
+
273
+ **Checkpoint de Validação:**
274
+ - [ ] Arquivo `specs/core/product_vision.md` gerado
275
+ - [ ] Validação de qualidade executada
276
+ - [ ] Zero contaminação técnica
277
+ - [ ] Aprovação explícita do usuário obtida
278
+
279
+ ---
280
+
281
+ ### PASSO 4: Fase Técnica - Seleção de Profundidade
282
+
283
+ **Objetivo:** Determinar o nível de detalhe técnico que o usuário deseja
284
+
285
+ **Ação:**
286
+
287
+ Apresentar opções ao usuário:
288
+
289
+ ```
290
+ FASE DE ARQUITETURA
291
+
292
+ Qual nível de detalhe técnico você deseja para a definição de arquitetura?
293
+
294
+ A) HIGH-LEVEL (Recomendado para MVP/Projetos Iniciais)
295
+ - Paradigma arquitetural (ex: Clean Architecture)
296
+ - Stack tecnológico (Backend, Frontend, Database)
297
+ - Padrões de design básicos (naming, logging)
298
+ - Tempo estimado: 5-8 perguntas
299
+
300
+ B) MEDIUM DETAIL (Recomendado para Times Estruturados)
301
+ - Tudo do HIGH-LEVEL +
302
+ - Estrutura de diretórios detalhada
303
+ - Contratos de API padrão
304
+ - Padrões de testes
305
+ - Tempo estimado: 10-15 perguntas
306
+
307
+ C) COMPREHENSIVE (Recomendado para Projetos Corporativos)
308
+ - Tudo do MEDIUM +
309
+ - Pipeline de CI/CD completo
310
+ - Estratégia de observabilidade (monitoring, logging, tracing)
311
+ - Padrões de segurança detalhados
312
+ - Estratégia de deploy e ambientes
313
+ - Tempo estimado: 15-25 perguntas
314
+
315
+ Escolha: A, B ou C
316
+ ```
317
+
318
+ **Aguardar resposta do usuário.**
319
+
320
+ **Checkpoint de Validação:**
321
+ - [ ] Nível de profundidade selecionado (HIGH/MEDIUM/COMPREHENSIVE)
322
+
323
+ ---
324
+
325
+ ### PASSO 5: Fase Técnica - Entrevista de Arquitetura
326
+
327
+ **Objetivo:** Coletar informações técnicas baseadas no nível de profundidade escolhido
328
+
329
+ **Protocolo de Entrevista:**
330
+
331
+ #### 5.1. Perguntas Baseadas em Profundidade
332
+
333
+ **Para TODOS os níveis (HIGH/MEDIUM/COMPREHENSIVE):**
334
+
335
+ **A. Paradigma Arquitetural:**
336
+ * "Qual paradigma arquitetural você prefere? (Ex: Clean Architecture, DDD, Microservices, Monolith tradicional)"
337
+ * "Existe alguma restrição técnica que eu deva saber? (Ex: Time conhece apenas .NET, Orçamento limitado requer PostgreSQL gratuito)"
338
+
339
+ **B. Stack Tecnológico - Backend:**
340
+ * "Qual linguagem de programação e versão? (Ex: C# 12, Python 3.11, Node 20)"
341
+ * "Qual framework? (Ex: ASP.NET Core, Express, FastAPI)"
342
+ * "Qual banco de dados? (Ex: PostgreSQL 15, SQL Server, MongoDB)"
343
+
344
+ **C. Stack Tecnológico - Frontend (se aplicável):**
345
+ * "Haverá interface web/mobile?"
346
+ * "Se sim, qual framework e versão? (Ex: Vue.js 3.4, React 18, Angular 16)"
347
+
348
+ **D. Cloud/Infraestrutura:**
349
+ * "Onde será hospedado? (Ex: AWS, Azure, On-premise, VPS barato)"
350
+ * "Há preferência por containerização? (Docker, Kubernetes)"
351
+
352
+ **E. Convenções:**
353
+ * "Existem padrões de código que o time já segue? (Ex: Nomenclatura PascalCase, Interfaces com I prefix)"
354
+
355
+ **Para MEDIUM DETAIL (adicional):**
356
+ * "Como você prefere organizar a estrutura de pastas? (Ex: por feature, por layer)"
357
+ * "Qual abordagem de API você prefere? (REST, GraphQL, gRPC)"
358
+ * "Como será a estratégia de testes? (Unit, Integration, E2E)"
359
+
360
+ **Para COMPREHENSIVE (adicional):**
361
+ * "Qual ferramenta de CI/CD você prefere? (GitHub Actions, GitLab CI, Azure DevOps)"
362
+ * "Como você quer monitorar a aplicação em produção? (Prometheus+Grafana, DataDog, CloudWatch)"
363
+ * "Qual estratégia de deploy? (Blue-green, Rolling, Canary)"
364
+ * "Como você fará autenticação e autorização? (JWT, OAuth, Sessions)"
365
+
366
+ #### 5.2. Clarificação Técnica
367
+
368
+ **Regras de Ouro:**
369
+ - **MÁXIMO 10 perguntas por rodada**
370
+ - **Foco em implementação:** NUNCA pergunte sobre regras de negócio
371
+ - **Justificar novidades:** Se sugerir nova tecnologia, explicar por que
372
+
373
+ **Exemplos de Boas Perguntas Técnicas:**
374
+
375
+ **[OK] BOA PERGUNTA:**
376
+ "Para orquestração de workflows assíncronos, você prefere: A) MassTransit (abstração maior), B) RabbitMQ nativo (controle total), C) Outra abordagem"
377
+
378
+ **[X] MÁ PERGUNTA:**
379
+ "Qual regra de negócio para pedidos?" (VIOLAÇÃO: regra de negócio é tema da Fase de Produto)
380
+
381
+ **[OK] BOA PERGUNTA:**
382
+ "Você mencionou PostgreSQL. Exige alguma extensão específica? (Ex: PostGIS para dados geográficos, pgcrypto para criptografia)"
383
+
384
+ #### 5.3. Repetir até Clareza Suficiente
385
+
386
+ **Critério de Parada:**
387
+ Pare de perguntar quando:
388
+ - [ ] Paradigma arquitetural definido
389
+ - [ ] Stack completa (Backend, Frontend, DB) com versões
390
+ - [ ] Infraestrutura básica definida (cloud/onde rodar)
391
+ - [ ] Convenções de código estabelecidas
392
+ - [ ] [MEDIUM] Estrutura de diretórios clara
393
+ - [ ] [COMPREHENSIVE] CI/CD, monitoring e estratégia de deploy definidos
394
+
395
+ **Checkpoint de Validação:**
396
+ - [ ] Informações técnicas suficientes coletadas
397
+ - [ ] Zero menções de negócio nas respostas (se houver, redirecione para product_vision.md)
398
+ - [ ] Versões específicas obtidas (não apenas ".NET" mas ".NET 8")
399
+
400
+ **Output Esperado:**
401
+ - Input técnico qualificado e detalhado o suficiente para gerar architecture.md
402
+
403
+ ---
404
+
405
+ ### PASSO 6: Geração e Validação da Arquitetura
406
+
407
+ **Objetivo:** Gerar arquivo `specs/core/architecture.md` e validar qualidade
408
+
409
+ **Ações Concretas:**
410
+
411
+ #### 6.1. Gerar Arquivo
412
+
413
+ 1. Usar template `@templates/architecture-template.md`
414
+ 2. Preencher seções com base no nível de profundidade escolhido:
415
+ - **HIGH_LEVEL:** Seções 1, 2, 3
416
+ - **MEDIUM_DETAIL:** Seções 1, 2, 3, 4, 5
417
+ - **COMPREHENSIVE:** Todas as seções (1-11)
418
+ 3. Para seções não aplicáveis ao nível, usar `{{N/A}}` ou remover
419
+ 4. Salvar em `specs/core/architecture.md`
420
+ 5. Status inicial: `DRAFT`
421
+
422
+ #### 6.2. Validar Qualidade (Zero-Business Check)
423
+
424
+ **Execute estas validações ANTES de apresentar ao usuário:**
425
+
426
+ **CAMADA 1: SEPARAÇÃO ESTRITA**
427
+ Verifique se há contaminação de negócio:
428
+
429
+ | Flag de Contaminação | Correção Obrigatória |
430
+ |:---|:---|
431
+ | Menção a funcionalidades específicas | Remover feature específica, focar em padrão |
432
+ | Menção a personas/usuários | Remover referências a personas |
433
+ | Menção a regras de negócio | Remover lógica de negócio, focar em técnica |
434
+ | Métricas de negócio (receita, conversão) | Substituir por métricas técnicas (latência, throughput) |
435
+
436
+ **CAMADA 2: ESPECIFICIDADE TÉCNICA**
437
+ Verifique se termos são específicos:
438
+
439
+ | Flag de Vagueza | Correção Obrigatória |
440
+ |:---|:---|
441
+ | ".NET" (sem versão) | ".NET 8" ou versão específica |
442
+ | "PostgreSQL" (sem versão) | "PostgreSQL 15.x" |
443
+ | "banco SQL" | "PostgreSQL" ou "SQL Server" (específico) |
444
+ | "rápido" | "< 200ms p95" ou métrica técnica |
445
+
446
+ **CAMADA 3: CONSISTÊNCIA INTERNA**
447
+ Verifique contradições técnicas:
448
+
449
+ | Verificação | O que validar | Exemplo de Problema |
450
+ |:---|:---|:---|
451
+ | Paradigma <-> Stack | Stack é adequada ao paradigma? | Paradigma DDD mas anêmico, sem domínio rico |
452
+ | Backend <-> Frontend | Integração é viável? | Backend REST mas frontend GraphQL (sem adapter) |
453
+ | Database <-> Stack | ORM suporta DB escolhido? | Prisma mas SQL Server (suporte limitado) |
454
+ | Cloud <-> Stack | Stack roda na cloud escolhida? | .NET 8 mas AWS Lambda (suporte limitado) |
455
+
456
+ #### 6.3. Ação Baseada em Validação
457
+
458
+ **SE encontrar problemas de ALTA SEVERIDADE:**
459
+ - Listar problemas numerados com [TIPO]
460
+ - NÃO apresentar arquivo ao usuário ainda
461
+ - Perguntar como resolver
462
+
463
+ **Exemplo:**
464
+ ```
465
+ [PROBLEMA ALTA] Detectado na validação:
466
+
467
+ 1. [INCONSISTÊNCIA] Paradigma escolhido é "Clean Architecture"
468
+ mas stack inclui "Active Record" (viola separação de camadas).
469
+
470
+ Impacto: Paradigma e padrão são conflitantes.
471
+
472
+ Opções:
473
+ A) Manter Clean Arch, remover Active Record
474
+ B) Manter Active Record, mudar paradigma para "MVC tradicional"
475
+
476
+ Como proceder?
477
+ ```
478
+
479
+ **SE encontrar problemas de BAIXA SEVERIDADE:**
480
+ - Corrigir automaticamente
481
+ - Documentar como "Nota de Decisão" no final do arquivo
482
+ - Prosseguir para apresentação
483
+
484
+ **SE TUDO OK:**
485
+ - Prosseguir para Passo 6.4
486
+
487
+ #### 6.4. Apresentar e Solicitar Aprovação Final
488
+
489
+ **Apresentar o arquivo gerado ao usuário:**
490
+
491
+ ```
492
+ ✅ Arquitetura definida: specs/core/architecture.md
493
+
494
+ Resumo:
495
+ - Paradigma: [nome do paradigma]
496
+ - Stack Backend: [linguagem] + [framework]
497
+ - Stack Frontend: [linguagem] + [framework]
498
+ - Database: [tipo e versão]
499
+ - Cloud/Infra: [onde hospedar]
500
+
501
+ [Se MEDIUM/COMPREHENSIVE]
502
+ - Estrutura de pastas definida
503
+ - CI/CD: [ferramenta]
504
+ - Monitoring: [ferramenta]
505
+
506
+ Você aprova esta definição de arquitetura?
507
+ Responda:
508
+ - SIM para aprovar e finalizar
509
+ - NÃO para fazer ajustes (descreva o que ajustar)
510
+ ```
511
+
512
+ **Aguardar resposta do usuário.**
513
+
514
+ **SE resposta SIM:**
515
+ - Atualizar status de `architecture.md` para `APPROVED`
516
+ - Prosseguir para Passo 7
517
+
518
+ **SE resposta NÃO:**
519
+ - Perguntar o que ajustar
520
+ - Fazer ajustes solicitados
521
+ - Repetir validação (6.2)
522
+ - Apresentar novamente
523
+ - Repetir até aprovação
524
+
525
+ **Checkpoint de Validação:**
526
+ - [ ] Arquivo `specs/core/architecture.md` gerado
527
+ - [ ] Validação de qualidade executada
528
+ - [ ] Zero contaminação de negócio
529
+ - [ ] Aprovação explícita do usuário obtida
530
+
531
+ ---
532
+
533
+ ### PASSO 7: Finalização e Orientações de Uso
534
+
535
+ **Objetivo:** Documentar os artefatos criados e orientar sobre próximos passos
536
+
537
+ **Ações Concretas:**
538
+
539
+ 1. **Confirmar estrutura criada:**
540
+ ```
541
+ Estrutura criada:
542
+
543
+ specs/
544
+ └── core/
545
+ ├── product_vision.md (APPROVED)
546
+ └── architecture.md (APPROVED)
547
+ ```
548
+
549
+ 2. **Apresentar resumo dos artefatos:**
550
+
551
+ ```
552
+ ARTEFATOS FUNDACIONAIS CRIADOS
553
+
554
+ 1. Visão de Produto (specs/core/product_vision.md)
555
+ - Problema central: [resumo]
556
+ - Personas: [lista]
557
+ - Métricas de sucesso: [top 2]
558
+ - Escopo: [IN-SCOPE resumido]
559
+
560
+ 2. Definição de Arquitetura (specs/core/architecture.md)
561
+ - Paradigma: [nome]
562
+ - Stack: [backend/frontend/db]
563
+ - Nível de detalhe: [HIGH/MEDIUM/COMPREHENSIVE]
564
+ ```
565
+
566
+ 3. **Orientar sobre próximos passos:**
567
+
568
+ ```
569
+ PRÓXIMOS PASSOS
570
+
571
+ Com a fundação estabelecida, você pode agora:
572
+
573
+ 1. Criar features específicas:
574
+ → Use /gerar-prd para criar PRD de uma feature
575
+ (lerá specs/core/product_vision.md para contexto)
576
+
577
+ 2. Definir solução técnica:
578
+ → Use /gerar-techspec para criar especificação técnica
579
+ (lerá specs/core/architecture.md para validar decisões)
580
+
581
+ 3. Executar implementação:
582
+ → Use /gerar-tasks para quebrar em tarefas executáveis
583
+ → Use /executar-task para implementar
584
+
585
+ As features criadas agora serão consistentes com a visão de produto e arquitetura definidas.
586
+ ```
587
+
588
+ 4. **Orientar sobre manutenção:**
589
+
590
+ ```
591
+ MANUTENÇÃO DOS ARTEFATOS
592
+
593
+ Quando atualizar:
594
+ - product_vision.md: Atualizar se o direcionamento de produto mudar
595
+ - architecture.md: Atualizar se a stack ou padrões mudarem
596
+
597
+ As features existentes NÃO serão afetadas automaticamente,
598
+ mas novas features deverão respeitar as definições atualizadas.
599
+ ```
600
+
601
+ **Output Esperado:**
602
+ - Mensagem de sucesso clara
603
+ - Resumo dos dois artefatos criados
604
+ - Orientações sobre como usar os comandos subsequentes
605
+
606
+ ---
607
+
608
+ ## 4. EXEMPLOS DE BOAS E MÁS RESPOSTAS
609
+
610
+ ### Exemplo 1: Fase de Produto - Contaminação Técnica
611
+
612
+ **Input do usuário:** "Quero um app que usa Firebase para gerenciar tarefas"
613
+
614
+ **[X] MÁ RESPOSTA:**
615
+ "Perfeito! Vamos usar Firebase com React Native. Qualquer outra preferência técnica?"
616
+
617
+ **[OK] BOA RESPOSTA:**
618
+ "Entendi. Você quer um aplicativo para gerenciamento de tarefas.
619
+ Algumas perguntas sobre o PRODUTO (não técnica ainda):
620
+ - Quem são os usuários principais deste app?
621
+ - Qual problema eles enfrentam hoje ao gerenciar tarefas?
622
+ - Como você medirá o sucesso do app?
623
+ - Firebase é uma preferência técnica ou você está aberto a alternativas?
624
+
625
+ NOTA: Preferências técnicas (como Firebase) serão discutidas na Fase de Arquitetura."
626
+
627
+ ### Exemplo 2: Fase Técnica - Inconsistência de Paradigma
628
+
629
+ **Resposta do usuário:** "Quero Clean Architecture com Active Record"
630
+
631
+ **[X] MÁ RESPOSTA:**
632
+ "OK, vou definir Clean Architecture com Active Record."
633
+
634
+ **[OK] BOA RESPOSTA:**
635
+ ```
636
+ [INCONSISTÊNCIA DETECTADA]
637
+
638
+ Clean Architecture e Active Record são paradigmas conflitantes:
639
+ - Clean Architecture requer separação estrita entre domínio e persistência
640
+ - Active Record mistura lógica de domínio com acesso a dados
641
+
642
+ Opções:
643
+ A) Clean Architecture + Repository Pattern (recomendado para DDD)
644
+ B) MVC Traditional + Active Record (mais simples, mas menos separação)
645
+ C) Outro paradigma (descreva)
646
+
647
+ Qual opção prefere?
648
+ ```
649
+
650
+ ### Exemplo 3: Profundidade de Arquitetura
651
+
652
+ **Input do usuário:** "Quero um sistema completo"
653
+
654
+ **[X] MÁ RESPOSTA:**
655
+ Assume nível COMPREHENSIVE sem perguntar.
656
+
657
+ **[OK] BOA RESPOSTA:**
658
+ "Para definir a arquitetura, preciso saber o nível de detalhe que você deseja:
659
+ - [Apresenta opções A, B, C conforme Passo 4]
660
+ - Qual nível você prefere?"
661
+
662
+ ---
663
+
664
+ ## 5. DIRETRIZES PARA SEPARAÇÃO ESTRITA
665
+
666
+ ### Regra de Ouro
667
+
668
+ **Fase de Produto = O QUÊ e POR QUÊ (Negócio)**
669
+ - Problemas, dores, necessidades
670
+ - Personas, usuários, stakeholders
671
+ - Métricas de sucesso (receita, retenção, satisfação)
672
+ - Proposta de valor, diferenciais
673
+ - Escopo (IN/OUT)
674
+
675
+ **Fase Técnica = COMO e ONDE (Engenharia)**
676
+ - Paradigmas, padrões, convenções
677
+ - Stack tecnológico (versões específicas)
678
+ - Estrutura de código, pastas, arquivos
679
+ - APIs, bancos, mensageria
680
+ - Cloud, deploy, CI/CD, monitoring
681
+
682
+ ### Sinais de Alerta
683
+
684
+ **Se você falar sobre TÉCNICA na Fase de Produto:**
685
+ - Frameworks, bibliotecas, linguagens → PARE e redirecione
686
+ - Bancos de dados, APIs, endpoints → PARE e redirecione
687
+ - Cloud, containers, deploy → PARE e redirecione
688
+
689
+ **Se você falar sobre NEGÓCIO na Fase Técnica:**
690
+ - Funcionalidades específicas → PARE e verifique se isso deve estar em product_vision.md
691
+ - Personas, usuários → PARE e remova do architecture.md
692
+ - Métricas de negócio (receita) → PARE e substitua por métricas técnicas (latência)
693
+
694
+ ### Matriz de Decisão
695
+
696
+ | Pergunta | Fase de Produto | Fase Técnica |
697
+ |:---|:---|:---|
698
+ | "Quem são os usuários?" | ✅ SIM | ❌ NÃO |
699
+ | "Qual framework usar?" | ❌ NÃO | ✅ SIM |
700
+ | "Como medir sucesso?" | ✅ SIM (receita, retenção) | ✅ SIM (latência, uptime) |
701
+ | "Onde hospedar?" | ❌ NÃO | ✅ SIM |
702
+ | "Quais funcionalidades?" | ✅ SIM (escopo IN) | ❌ NÃO |
703
+ | "Como estruturar código?" | ❌ NÃO | ✅ SIM |
704
+
705
+ ---
706
+
707
+ ## 6. CHECKLIST DE QUALIDADE FINAL
708
+
709
+ Antes de finalizar o comando, confirme:
710
+
711
+ **Ambos os Arquivos Criados:**
712
+ - [ ] `specs/core/product_vision.md` existe e está APPROVED
713
+ - [ ] `specs/core/architecture.md` existe e está APPROVED
714
+
715
+ **Separação Estrita Validada:**
716
+ - [ ] product_vision.md tem ZERO menções técnicas (frameworks, DB, APIs)
717
+ - [ ] architecture.md tem ZERO menções de negócio (personas, features)
718
+
719
+ **Qualidade de Conteúdo:**
720
+ - [ ] product_vision.md tem problema, personas, métricas, escopo claros
721
+ - [ ] architecture.md tem stack com versões específicas definidas
722
+ - [ ] Ambos estão consistentes (sem contradições internas)
723
+
724
+ **Aprovação do Usuário:**
725
+ - [ ] product_vision.md foi explicitamente aprovado pelo usuário
726
+ - [ ] architecture.md foi explicitamente aprovado pelo usuário
727
+
728
+ ---
729
+
730
+ **Command Version:** 0.2.0
731
+ </system_instructions>