jarvis-ai-framework 1.0.2 → 1.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.
- package/AGENTS.md +10 -7
- package/README.md +2 -0
- package/agents/AGENTS.md +4 -3
- package/agents/README.md +6 -4
- package/agents/product/prod.discovery-interviewer.md +86 -0
- package/bin/commands/init.js +1 -1
- package/bin/lib/config/constants.js +12 -0
- package/bin/lib/core/sync-engine.js +12 -0
- package/package.json +2 -4
- package/rules/AGENTS.md +1 -1
- package/rules/engineering/eng.breakdown-subtasks-rules.md +208 -37
- package/rules/engineering/eng.start-rules.md +11 -11
- package/rules/engineering/eng.work-rules.md +19 -14
- package/rules/product/README.md +2 -0
- package/rules/product/prod-rules.md +3 -1
- package/{skills/prod-specs/rules/prod-spec-rules.md → rules/product/prod.spec-rules.md} +55 -50
- package/skills/SKILLS-ROADMAP.md +2 -6
- package/skills/init-jarvis/SKILL.md +1 -1
- package/skills/prod-specs/SKILL.md +20 -84
- package/templates/AGENTS.md +7 -6
- package/templates/ENV-template.md +1 -1
- package/templates/product/prod-discovery-template.md +98 -0
- package/{skills/prod-specs/templates → templates/product}/prod-epic-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-frd-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-issue-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-prd-template.md +1 -0
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +2 -0
- package/workflows/engineering/eng.build-tech-spec.md +37 -48
- package/workflows/engineering/eng.work.md +1 -1
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -5
- package/workflows/product/prod.spec.breakdown.md +3 -8
- package/workflows/product/prod.spec.discovery.md +152 -0
- package/workflows/product/prod.spec.epic.md +3 -0
- package/workflows/product/prod.spec.frd.md +123 -8
- package/workflows/product/prod.spec.issue.md +3 -2
- package/workflows/product/prod.spec.md +2 -0
- package/workflows/product/prod.spec.prd.md +105 -6
- package/skills/prod-specs/references/prod.spec.clarify.md +0 -176
- package/skills/prod-specs/references/prod.spec.epic.md +0 -107
- package/skills/prod-specs/references/prod.spec.frd.md +0 -135
- package/skills/prod-specs/references/prod.spec.issue.md +0 -145
- package/skills/prod-specs/references/prod.spec.prd.md +0 -118
- package/skills/prod-specs/templates/prod-prd-full-template.md +0 -159
- /package/{skills/prod-specs/templates → templates/product}/prod-breakdown-template.md +0 -0
|
@@ -8,7 +8,7 @@ trigger: always_on
|
|
|
8
8
|
|
|
9
9
|
## Propósito
|
|
10
10
|
|
|
11
|
-
O workflow `work` tem como **único objetivo** implementar código seguindo o plano de execução (`plan.md`). É uma etapa de **codificação
|
|
11
|
+
O workflow `work` tem como **único objetivo** implementar código seguindo o plano de execução (`plan.md`). É uma etapa de **codificação**: commita ao final de cada fase validada, mas nunca faz push nem abre PR.
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -67,19 +67,23 @@ Confirmar que está na branch certa? (s/n)
|
|
|
67
67
|
|
|
68
68
|
## Princípios Fundamentais
|
|
69
69
|
|
|
70
|
-
### 1.
|
|
70
|
+
### 1. Codificação com commit por fase - NUNCA push ou PR
|
|
71
71
|
|
|
72
72
|
O `work` é **estritamente proibido** de:
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
| ❌ Proibido
|
|
76
|
-
|
|
|
77
|
-
| Fazer
|
|
78
|
-
| Criar Pull Requests
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
75
|
+
| ❌ Proibido | ✅ Permitido |
|
|
76
|
+
| -------------------------------------------------- | --------------------------------------------------------- |
|
|
77
|
+
| Fazer `git push` | Escrever código |
|
|
78
|
+
| Criar Pull Requests | Criar/modificar arquivos de código |
|
|
79
|
+
| Usar `git add .` | `git add` de arquivos específicos da fase |
|
|
80
|
+
| Commitar sem aprovação do usuário na fase | Commitar ao final da fase validada, com testes passando |
|
|
81
|
+
| Commitar com testes falhando | Executar testes locais |
|
|
82
|
+
| Mover cards no Jira | Ler arquivos da sessão |
|
|
83
|
+
| Fazer merge de branches | Atualizar `plan.md` com progresso |
|
|
84
|
+
| Sugerir "vamos fazer o PR agora" | Validar código com o usuário |
|
|
85
|
+
|
|
86
|
+
O commit segue o formato do workflow (`{TASK_MANAGER_KEY} {tipo}({escopo}): {descrição}`, com `Refs:`). Push e PR são responsabilidade do `eng.pr`.
|
|
83
87
|
|
|
84
88
|
### 2. Escopo de Atuação
|
|
85
89
|
|
|
@@ -187,7 +191,7 @@ O workflow segue um ciclo rígido:
|
|
|
187
191
|
|
|
188
192
|
- Informar que a fase foi concluída
|
|
189
193
|
- Perguntar se deseja iniciar próxima fase
|
|
190
|
-
- ⚠️ **NUNCA sugerir
|
|
194
|
+
- ⚠️ **NUNCA sugerir push ou PR** (são do `eng.pr`)
|
|
191
195
|
|
|
192
196
|
---
|
|
193
197
|
|
|
@@ -243,9 +247,9 @@ O workflow **DEVE pausar e aguardar confirmação**:
|
|
|
243
247
|
|
|
244
248
|
1. **Escapar para Git**
|
|
245
249
|
|
|
246
|
-
- "Vou fazer o commit dessas mudanças..."
|
|
247
250
|
- "Agora podemos criar o PR..."
|
|
248
251
|
- "Deixa eu dar push das alterações..."
|
|
252
|
+
- `git add .` ou commit com testes falhando
|
|
249
253
|
2. **Pular validação**
|
|
250
254
|
|
|
251
255
|
- Implementar várias fases sem pausar
|
|
@@ -291,7 +295,7 @@ Ao finalizar **TODAS as fases** do `plan.md`, informe:
|
|
|
291
295
|
2. Execute os testes completos
|
|
292
296
|
3. Quando estiver pronto, use `eng.pr` para criar o Pull Request
|
|
293
297
|
|
|
294
|
-
⚠️ Este workflow NÃO faz
|
|
298
|
+
⚠️ Este workflow commita por fase, mas NÃO faz push nem PR.
|
|
295
299
|
Use `eng.pr` quando estiver pronto para submeter.
|
|
296
300
|
```
|
|
297
301
|
|
|
@@ -307,6 +311,7 @@ Antes de considerar uma fase completa:
|
|
|
307
311
|
- [ ] Usuário validou o código
|
|
308
312
|
- [ ] `plan.md` atualizado com status
|
|
309
313
|
- [ ] Comentários adicionados no plan.md
|
|
310
|
-
- [ ]
|
|
314
|
+
- [ ] Commit da fase feito (arquivos adicionados um a um, testes passando)
|
|
315
|
+
- [ ] NENHUM push foi feito
|
|
311
316
|
- [ ] NENHUM PR foi criado
|
|
312
317
|
- [ ] Próximos passos comunicados
|
package/rules/product/README.md
CHANGED
|
@@ -12,6 +12,7 @@ Documentação didática (termos por extenso, exemplos, quando usar cada comando
|
|
|
12
12
|
|---------|--------|
|
|
13
13
|
| Guia de decisão (qual spec?) | [prod.spec.guide.md](../../docs/produto/prod.spec.guide.md) |
|
|
14
14
|
| `/prod.spec` | [prod.spec.md](../../docs/produto/prod.spec.md) |
|
|
15
|
+
| `/prod.spec.discovery` | [prod.spec.discovery.md](../../docs/produto/prod.spec.discovery.md) |
|
|
15
16
|
| `/prod.spec.prd` | [prod.spec.prd.md](../../docs/produto/prod.spec.prd.md) |
|
|
16
17
|
| `/prod.spec.frd` | [prod.spec.frd.md](../../docs/produto/prod.spec.frd.md) |
|
|
17
18
|
| `/prod.spec.breakdown` | [prod.spec.breakdown.md](../../docs/produto/prod.spec.breakdown.md) |
|
|
@@ -22,3 +23,4 @@ Documentação didática (termos por extenso, exemplos, quando usar cada comando
|
|
|
22
23
|
## Arquivo normativo (agentes)
|
|
23
24
|
|
|
24
25
|
- [`prod-rules.md`](./prod-rules.md) — ENV, pastas, status, convenção de nomes, formato de perguntas
|
|
26
|
+
- [`prod.spec-rules.md`](./prod.spec-rules.md) — princípios de escrita de spec: critérios de aceitação por tipo de documento, contexto completo e terminologia consistente
|
|
@@ -42,7 +42,7 @@ Se o arquivo não existir ou no caso de recusa, crie o `$IDE/ENV.md` incluindo a
|
|
|
42
42
|
RULES_FOLDER=.$IDE/rules
|
|
43
43
|
PROD_FOLDER_NAME=product
|
|
44
44
|
PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
|
|
45
|
-
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
45
|
+
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
46
46
|
PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
|
|
47
47
|
PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
|
|
48
48
|
CENTRAL_DOCS_REPO=[USER:LOCAL_CENTRAL_DOCS_REPO]
|
|
@@ -95,6 +95,7 @@ Abaixo, segue uma descrição de algumas das variáveis mais importantes para as
|
|
|
95
95
|
Sempre siga as instruções de acordo com as relações abaixo.
|
|
96
96
|
**Guia para humanos (desenvolvedores aprendendo produto):** `docs/produto/` — uma página por comando, termos por extenso.
|
|
97
97
|
|
|
98
|
+
- `$PROD_FLOWS/prod.spec.discovery.md` — Investigação inicial de uma ideia (rascunho estruturado; não define tarefas) → [docs/produto/prod.spec.discovery.md](../../docs/produto/prod.spec.discovery.md)
|
|
98
99
|
- `$PROD_FLOWS/prod.spec.prd.md` — Documento de Requisitos de Produto (*Product Requirements Document*) → [docs/produto/prod.spec.prd.md](../../docs/produto/prod.spec.prd.md)
|
|
99
100
|
- `$PROD_FLOWS/prod.spec.frd.md` — Documento de Requisitos Funcionais (*Functional Requirements Document*) → [docs/produto/prod.spec.frd.md](../../docs/produto/prod.spec.frd.md)
|
|
100
101
|
- `$PROD_FLOWS/prod.spec.breakdown.md` — Quebra de especificação grande em fatias → [docs/produto/prod.spec.breakdown.md](../../docs/produto/prod.spec.breakdown.md)
|
|
@@ -129,6 +130,7 @@ Dentro das pastas do projeto, os caminhos de pastas e o nome dos arquivos finais
|
|
|
129
130
|
- Documento de Requisitos Funcionais: `$PROD_DOCS/prd-{id}-{nome-do-pai}/frd-{id}-{nome}.md`
|
|
130
131
|
- Épico: `$PROD_DOCS/prd-{id}-{nome-do-pai}/issues/epic-{id}-{nome}.md`
|
|
131
132
|
- História / tarefa: `$PROD_DOCS/prd-{id}-{nome-do-pai}/issues/{story|task}-{id}-{nome}.md`
|
|
133
|
+
- Discovery (rascunho de uma ideia, anterior ao PRD): `$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`. Usa `status` (`in_review` enquanto o rascunho existe; `cancelled` se o veredito for não seguir) e `verdict` (vazio durante a entrevista, `proceed`, `investigate_more` ou `do_not_proceed`). O veredito é uma recomendação; um PRD, FRD, épico ou issue criado depois prevalece como fonte da verdade.
|
|
132
134
|
|
|
133
135
|
O ID deve ser iterado nos novos arquivos seguindo a sequência existente.
|
|
134
136
|
|
|
@@ -2,75 +2,39 @@
|
|
|
2
2
|
trigger: always_on
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- O idioma padrão é o português do Brasil. Mas mude caso o usuário solicite outro idioma.
|
|
7
|
-
- Sempre procure por arquivos de configuração e documentação do projeto antes de executar qualquer comando ou workflow.
|
|
8
|
-
- Leia o `README.md` do projeto para saber contexto e detalhes importantes.
|
|
9
|
-
- Nunca invente ou presuma dados ou informações. Se não souber, pergunte, valide e confirme com o usuário.
|
|
10
|
-
- Entenda se o projeto é novo ou existente, para criar ou modificar especificações de produto ou técnicas.
|
|
11
|
-
- Identifique se o produto é versionado com git e leia o histórico de commits para entender as últimas atualizações.
|
|
5
|
+
> **Applies to:** HUB: all | POSITION: all | AREA: PRODUCT | SQUAD: all
|
|
12
6
|
|
|
7
|
+
# Regras de Escrita de Especificação de Produto
|
|
13
8
|
|
|
14
|
-
##
|
|
9
|
+
## Objetivo
|
|
15
10
|
|
|
16
|
-
|
|
11
|
+
Definir os princípios que todo documento de especificação de produto (PRD, FRD, épico, história, tarefa e bug) deve seguir: o nível certo de critérios de aceitação em cada tipo de documento, contexto completo, terminologia consistente e o uso opcional de um discovery como insumo.
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
## Escopo
|
|
19
14
|
|
|
20
|
-
-
|
|
21
|
-
- `$SKILL_REFERENCES_FOLDER`: `${CLAUDE_SKILL_DIR}/references/`
|
|
15
|
+
Aplica-se a todos os comandos `prod.spec.*` que escrevem ou alteram um documento. Complementa o `prod-rules.md` (variáveis de ambiente, comandos, nomes de arquivos, status e perguntas ao usuário), que continua sendo a regra geral de produto.
|
|
22
16
|
|
|
17
|
+
## Regras
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
### Princípio: Critérios de aceitação e requisitos
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
1. Tente usar o tool `AskUserQuestion` se ele estiver disponível no seu ambiente (ex: Claude Desktop, Claude Cowork, Claude Code CLI).
|
|
28
|
-
2. Se não estiver disponível, use **obrigatoriamente** (se possível) o formato de tabela abaixo. Caso não possível no formato de tabela, faça perguntas em texto corrido.
|
|
29
|
-
3. Nunca avance sem coletar as respostas necessárias.
|
|
21
|
+
#### Critérios de aceitação específicos do documento
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
| | {Aqui fica a pergunta que você deve fazer para o usuário. Seja objetivo e direto ao ponto:} |
|
|
33
|
-
| --- | ----------------------------------------------------------------------------------------- |
|
|
34
|
-
| A | {Resposta 1} |
|
|
35
|
-
| B | {Resposta 2} |
|
|
36
|
-
| C | {Resposta 3} |
|
|
37
|
-
| D | {Resposta 4} |
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**NUNCA** pergunte tudo de uma vez, sempre faça perguntas separadas e aguarde a resposta antes de prosseguir.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
## Descrição dos Status
|
|
44
|
-
|
|
45
|
-
Em itens e especificações, utilizamos status para identificar quais etapas do desenvolvimento cada item está. Isso é representado pela variável `$ITEM_STATUS`.
|
|
46
|
-
|
|
47
|
-
- icebox: Lista de ideias, necessidades e desejos. Item que está aguardando priorização ou definição de escopo.
|
|
48
|
-
- in_review: Item que está sendo estudado, descoberto, revisado ou analisado.
|
|
49
|
-
- backlog: Item já foi estudado, sabemos o que fazer e está aguardando priorização de implementação.
|
|
50
|
-
- in_progress: Item que está em desenvolvimento.
|
|
51
|
-
- in_production: Item que está em produção.
|
|
52
|
-
- cancelled: Item que foi descontinuado ou cancelado.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
## Princípio: Critérios de aceitação e requisitos
|
|
56
|
-
|
|
57
|
-
### Critérios de aceitação específicos do documento
|
|
58
|
-
|
|
59
|
-
#### Para PRDs (nível macro)
|
|
23
|
+
##### Para PRDs (nível macro)
|
|
60
24
|
Concentre-se no "o quê" e no "porquê":
|
|
61
25
|
- Definir capacidades gerais do produto
|
|
62
26
|
- Definir regras e restrições de negócios
|
|
63
27
|
- Estabelecer métricas de sucesso
|
|
64
28
|
- Descrições sempre levando em consideração as soluções macro do Projeto, baseando-se nas FRDs
|
|
65
29
|
|
|
66
|
-
|
|
30
|
+
##### Para FRDs (nível médio)
|
|
67
31
|
Retrata as soluções macro do produto. É ponte entre estratégia e implementação:
|
|
68
32
|
- Definir requisitos de nível de recurso
|
|
69
33
|
- Definir limites para histórias relacionadas
|
|
70
34
|
- Incluir pontos de integração
|
|
71
35
|
- Definir requisitos não funcionais
|
|
72
36
|
|
|
73
|
-
|
|
37
|
+
#### Para histórias (detalhadas, funcionais)
|
|
74
38
|
|
|
75
39
|
Concentre-se em comportamentos específicos e testáveis com base em designs:
|
|
76
40
|
|
|
@@ -104,7 +68,7 @@ Concentre-se em comportamentos específicos e testáveis com base em designs:
|
|
|
104
68
|
- **Épico**: escopo em nível de recurso e abordagem técnica
|
|
105
69
|
- **Issues (História/Tarefa)**: detalhes específicos de implementação e comportamento da UI
|
|
106
70
|
|
|
107
|
-
|
|
71
|
+
### Princípio: Contexto completo
|
|
108
72
|
|
|
109
73
|
**Princípio**: Cada documento deve ser compreensível por si só, sem exigir conhecimento tribal.
|
|
110
74
|
|
|
@@ -147,7 +111,7 @@ As pessoas juntam-se em equipas, o contexto perde-se, as memórias desaparecem.
|
|
|
147
111
|
- **Bugs rápidos**: ambiente do documento, etapas, comportamento esperado
|
|
148
112
|
- **Tarefas rápidas**: explique por que esse trabalho é importante
|
|
149
113
|
|
|
150
|
-
|
|
114
|
+
### Princípio: Terminologia Consistente
|
|
151
115
|
|
|
152
116
|
**Princípio**: Use os mesmos termos para os mesmos conceitos em toda a documentação.
|
|
153
117
|
|
|
@@ -184,3 +148,44 @@ A terminologia inconsistente cria confusão. "Cliente" vs "Usuário" vs "Cliente
|
|
|
184
148
|
- **Planos**: use os termos exatos do PRD
|
|
185
149
|
- **Histórias**: Combine a terminologia do PRD e do Plano
|
|
186
150
|
- **Questões rápidas**: use terminologia estabelecida ou defina novos termos
|
|
151
|
+
|
|
152
|
+
### Princípio: Discovery como insumo
|
|
153
|
+
|
|
154
|
+
**Princípio**: O discovery (`$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`) é um rascunho de suposições. Ele pode servir de contexto para um PRD, FRD, épico ou issue, mas nunca é obrigatório e nunca é tratado como verdade.
|
|
155
|
+
|
|
156
|
+
**O discovery é opcional**:
|
|
157
|
+
- Sem discovery apontado, siga o fluxo do comando normalmente, sem procurar na pasta `discoveries/` e sem perguntar nada sobre discovery. Ter arquivos nessa pasta não tem relação com o comando.
|
|
158
|
+
- Exemplos: `/prod.spec.prd já sei o que quero` segue o fluxo de sempre; `/prod.spec.prd discovery-002` carrega o discovery.
|
|
159
|
+
|
|
160
|
+
**Como apontar e achar o discovery**:
|
|
161
|
+
- O usuário aponta por caminho, nome ou id (como `discovery-002`); procure em `$PROD_DOCS/discoveries/`.
|
|
162
|
+
- Se o arquivo não existir: informe, liste os discoveries da pasta e pergunte qual usar, ou se o usuário prefere seguir sem discovery.
|
|
163
|
+
- Se a pasta `discoveries/` não existir: siga sem discovery e não crie a pasta.
|
|
164
|
+
- Se mais de um arquivo casar com o que o usuário apontou: pergunte qual usar, sem escolher sozinho.
|
|
165
|
+
|
|
166
|
+
**Como usar o discovery**:
|
|
167
|
+
- Leia o discovery como **contexto, não como resposta**: é um rascunho e pode estar defasado.
|
|
168
|
+
- **Questione e repasse tudo com o usuário**, seção por seção: mostre o que está registrado e pergunte se ainda vale ou se mudou.
|
|
169
|
+
- Hipóteses e perguntas em aberto do discovery são perguntadas como tais; o que o comando exige e o discovery não cobre é perguntado normalmente.
|
|
170
|
+
- Nada do discovery entra no documento novo como fato sem o usuário ter passado por aquilo. O que ficar sem validação continua marcado como suposição.
|
|
171
|
+
|
|
172
|
+
**Avisos conforme a situação do discovery**:
|
|
173
|
+
- `verdict: do_not_proceed` (ou `status: cancelled`): avise que a recomendação foi não seguir, mostre o motivo registrado e só continue com confirmação explícita do usuário.
|
|
174
|
+
- `verdict: investigate_more`, `verdict` vazio ou `status: in_review` (discovery ainda em entrevista): avise que há lacunas críticas, liste as perguntas em aberto e pergunte se o usuário quer retomar o discovery antes ou seguir assumindo o risco.
|
|
175
|
+
- `verdict: proceed`: siga normalmente.
|
|
176
|
+
|
|
177
|
+
**O documento novo é o oficial**:
|
|
178
|
+
- O PRD, FRD, épico ou issue é a fonte da verdade. O discovery **nunca é alterado** por estes comandos: ele permanece como o registro do momento da investigação.
|
|
179
|
+
- O documento novo referencia o discovery de origem no campo `related_discovery` do frontmatter.
|
|
180
|
+
- Quando a informação do documento novo divergir do discovery, **avise o usuário na conversa** e crie no documento novo a seção **"Divergências"** (somente quando houver), com o que mudou e por quê, em poucas linhas.
|
|
181
|
+
|
|
182
|
+
## Exceções
|
|
183
|
+
|
|
184
|
+
Quando o usuário pedir explicitamente outro formato ou nível de detalhe para um documento, registre a decisão no próprio documento e siga o pedido.
|
|
185
|
+
|
|
186
|
+
## Referências
|
|
187
|
+
|
|
188
|
+
- `prod-rules.md`: regras gerais de produto (ambiente, comandos, nomes de arquivos, status e perguntas ao usuário)
|
|
189
|
+
- `../../templates/product/`: templates dos documentos
|
|
190
|
+
- `../../workflows/product/`: os comandos `prod.spec.*`
|
|
191
|
+
- `prod.spec.discovery.md` (workflow) e `prod-discovery-template.md`: o comando e o formato do discovery, o rascunho que os comandos acima podem usar como insumo
|
package/skills/SKILLS-ROADMAP.md
CHANGED
|
@@ -194,8 +194,8 @@ Skills existentes e planejadas do framework Jarvis.
|
|
|
194
194
|
## Skills Criadas — Produto
|
|
195
195
|
|
|
196
196
|
### `prod-specs` ✅
|
|
197
|
-
- **Trigger**:
|
|
198
|
-
- **Escopo**:
|
|
197
|
+
- **Trigger**: pedido de especificação de produto (PRD, FRD, épico, história, discovery), inclusive em linguagem natural
|
|
198
|
+
- **Escopo**: skill fina, só porta de entrada: aponta para os workflows `prod.spec.*`, que são a fonte única de cada comando
|
|
199
199
|
- **Status**: `criado`
|
|
200
200
|
|
|
201
201
|
### `prod-specs-update` ✅
|
|
@@ -203,10 +203,6 @@ Skills existentes e planejadas do framework Jarvis.
|
|
|
203
203
|
- **Escopo**: revisão e evolução de requisitos
|
|
204
204
|
- **Status**: `criado`
|
|
205
205
|
|
|
206
|
-
### `product-specs` ✅
|
|
207
|
-
- **Trigger**: especificação de produto (alias)
|
|
208
|
-
- **Status**: `criado`
|
|
209
|
-
|
|
210
206
|
### `prod-roadmap-report` ✅
|
|
211
207
|
- **Trigger**: relatório de roadmap de produto
|
|
212
208
|
- **Status**: `criado`
|
|
@@ -719,7 +719,7 @@ ENABLE_CDD=true
|
|
|
719
719
|
|
|
720
720
|
PROD_FOLDER_NAME=product
|
|
721
721
|
PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
|
|
722
|
-
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
722
|
+
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
723
723
|
PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
|
|
724
724
|
PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
|
|
725
725
|
```
|
|
@@ -12,97 +12,33 @@ metadata:
|
|
|
12
12
|
|
|
13
13
|
# Product Specs
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
- Leia o arquivo de regras invioláveis em `rules/prod-spec-rules.md`.
|
|
15
|
+
Esta skill é só a **porta de entrada** das especificações de produto: ela **não guarda conteúdo próprio**. Quando o pedido for um dos abaixo, siga o workflow indicado (os arquivos ficam em `$IDE/$FLOWS_FOLDER/`, e os templates em `$PROD_TEMPLATES`).
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
| Pedido | Comando | Workflow |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| Não sei qual documento criar | `/prod.spec` | `$IDE/$FLOWS_FOLDER/prod.spec.md` |
|
|
20
|
+
| Investigar uma ideia inicial | `/prod.spec.discovery` | `$IDE/$FLOWS_FOLDER/prod.spec.discovery.md` |
|
|
21
|
+
| PRD (Documento de Requisitos de Produto) | `/prod.spec.prd` | `$IDE/$FLOWS_FOLDER/prod.spec.prd.md` |
|
|
22
|
+
| FRD (Documento de Requisitos Funcionais) | `/prod.spec.frd` | `$IDE/$FLOWS_FOLDER/prod.spec.frd.md` |
|
|
23
|
+
| Épico | `/prod.spec.epic` | `$IDE/$FLOWS_FOLDER/prod.spec.epic.md` |
|
|
24
|
+
| História, tarefa ou bug | `/prod.spec.issue` | `$IDE/$FLOWS_FOLDER/prod.spec.issue.md` |
|
|
25
|
+
| Esclarecer uma especificação | `/prod.spec.clarify` | `$IDE/$FLOWS_FOLDER/prod.spec.clarify.md` |
|
|
26
|
+
| Quebrar uma especificação grande | `/prod.spec.breakdown` | `$IDE/$FLOWS_FOLDER/prod.spec.breakdown.md` |
|
|
19
27
|
|
|
20
|
-
|
|
28
|
+
Antes de executar, leia as regras de produto em `$PROD_RULES` (`prod-rules.md` e `prod.spec-rules.md`).
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
Para outras necessidades de produto sem workflow próprio, aplique as boas práticas comumente utilizadas por gerentes de produto.
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
- `$SKILL_REFERENCES_FOLDER`: `${CLAUDE_SKILL_DIR}/references/`
|
|
32
|
+
## Frases que acionam esta skill
|
|
26
33
|
|
|
34
|
+
**PRD:** "criar um PRD sobre..." · "novo PRD para..." · "editar o PRD..."
|
|
27
35
|
|
|
28
|
-
|
|
36
|
+
**FRD:** "criar um FRD sobre..." · "novo FRD para..."
|
|
29
37
|
|
|
30
|
-
|
|
38
|
+
**Épico:** "crie um épico sobre..." · "novo épico para..."
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
- Analisar mercado, concorrentes, outros produtos
|
|
34
|
-
- Analisar o próprio produto para fornecer mais insights e identificar lacunas e oportunidades
|
|
35
|
-
- Criar apresentações estratégicas e táticas
|
|
36
|
-
- Quando o usuário precisar analisar dados, indicadores e métricas de qualquer tipo
|
|
37
|
-
- quando o usuário precisa criar especificações como:
|
|
38
|
-
- PRD: Documento de Requisitos do Produto
|
|
39
|
-
- FRD: Documento de requisitos de recursos
|
|
40
|
-
- Escreva épicos, histórias e tarefas técnicas
|
|
41
|
-
- Planeje, analise e escreva itens como épicos, histórias, tarefas
|
|
42
|
-
- Priorizar roadmaps, backlogs e planejamento de curto, médio e longo prazo
|
|
43
|
-
- Escrever relatórios de status sobre projetos, obras em andamento
|
|
44
|
-
- Compilar, organizar e escrever informações em documentos bem formatados e estruturados que serão compartilhados
|
|
45
|
-
- apoiar e auxiliar o PM ou líder de produto em qualquer outra tarefa que possa ser necessária em sua função como gerente
|
|
40
|
+
**História, tarefa ou bug:** "criar uma história sobre..." · "nova tarefa para..." · "criar um bug..."
|
|
46
41
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Essa habilidade deve ser invocada quando o usuário pede para **fazer trabalho real com o produto**, como:
|
|
50
|
-
|
|
51
|
-
- “Criar/aperfeiçoar um PRD/especificação/caso de negócios/1 página”
|
|
52
|
-
- “Transforme esta ideia em um roteiro” / “Roteiro de resultados para X”
|
|
53
|
-
- “Desenhar um plano de descoberta/roteiro de entrevista/plano de experiência”
|
|
54
|
-
- “Definir métricas de sucesso/OKRs/árvore de métricas”
|
|
55
|
-
- “Posicione este produto em relação aos concorrentes”
|
|
56
|
-
- “Projetar um recurso alimentado por IA / agente GenAI / ciclo de vida AI PM”
|
|
57
|
-
- “Executar uma conversa / feedback / 1:1 / negociação difícil”
|
|
58
|
-
- “Planejar uma estratégia de produto/visão/avaliação de oportunidade”
|
|
59
|
-
|
|
60
|
-
## Instruções e Referências
|
|
61
|
-
|
|
62
|
-
SEMPRE utilize as instruções na íntegra contidas nessas referências de acordo com o contexto e pedido:
|
|
63
|
-
|
|
64
|
-
- Crie, modifique ou esclareça um PRD seguindo as instruções em `references/prod.spec.prd.md`
|
|
65
|
-
- Crie, modifique ou esclareça um FRD seguindo as instruções em `references/prod.spec.frd.md`
|
|
66
|
-
- Avalie, clarifique, detalhe e identifique gaps e possíveis melhorias na especificação seguindo as instruções em `references/prod.spec.clarify.md`
|
|
67
|
-
|
|
68
|
-
Para outras necessidades não especificadas ou que não possuam instruções ou templates, aplique as boas práticas comumente utilizadas pelos Gerentes de Produto no mercado.
|
|
69
|
-
|
|
70
|
-
Se o usuário solicitar para ver o que pode ser feito com essa habilidade, cite todas as referências disponíveis com uma descrição concisa.
|
|
71
|
-
|
|
72
|
-
Cenário A: "Criar um PRD para um aplicativo de tarefas" → Fluxo de trabalho completo de perguntas
|
|
73
|
-
Cenário B: "Crie um PRD com base neste documento: [...]" → Fluxo de trabalho de validação
|
|
74
|
-
Cenário C: "Editar este PRD: [...]" → Fluxo de trabalho de melhoria focado
|
|
75
|
-
|
|
76
|
-
Esteja atento quando o usuário conversar em linguagem natural, para acionar comandos usando instruções corretas:
|
|
77
|
-
|
|
78
|
-
## Templates Disponíveis
|
|
79
|
-
|
|
80
|
-
Os templates ficam na pasta `templates` dessa skill. Elas devem ser usadas para gerar o output final para o usuário. Suas perguntas devem ser baseadas nesses templates para que eles fiquem completos, detalhados e com qualidade.
|
|
81
|
-
|
|
82
|
-
- [Template para PRD](templates/prod-prd-template.md)
|
|
83
|
-
- [Template para FRD](templates/prod-frd-template.md)
|
|
84
|
-
- [Template para épicos](templates/prod-epic-template.md)
|
|
85
|
-
- [Template para itens (história/tarefa/bug)](templates/prod-issue-template.md)
|
|
86
|
-
|
|
87
|
-
**Para PRDs:**
|
|
88
|
-
- "criar um PRD sobre..."
|
|
89
|
-
- "novo PRD para..."
|
|
90
|
-
- "editar o PRD..."
|
|
91
|
-
|
|
92
|
-
**Para problemas (histórias/tarefas/bugs):**
|
|
93
|
-
- "criar uma história sobre..."
|
|
94
|
-
- "nova tarefa para..."
|
|
95
|
-
- "criar um bug..."
|
|
96
|
-
|
|
97
|
-
**Para épicos:**
|
|
98
|
-
- "crie um épico sobre..."
|
|
99
|
-
- "novo épico para..."
|
|
100
|
-
|
|
101
|
-
**Para FRDs:**
|
|
102
|
-
- "criar um FRD sobre..."
|
|
103
|
-
- "novo FRD para..."
|
|
104
|
-
|
|
105
|
-
**Para esclarecimentos:**
|
|
106
|
-
- "esclarecer a especificação..."
|
|
107
|
-
- "esclarecer o PRD..."
|
|
42
|
+
**Discovery:** "investigar uma ideia..." · "fazer discovery de..." · "tenho uma ideia, vale a pena?"
|
|
108
43
|
|
|
44
|
+
**Esclarecimento:** "esclarecer a especificação..." · "esclarecer o PRD..."
|
package/templates/AGENTS.md
CHANGED
|
@@ -29,12 +29,13 @@ templates/
|
|
|
29
29
|
│ └── qa/ # Templates de QA
|
|
30
30
|
│ ├── test-plan-template.md
|
|
31
31
|
│ └── quality-gate-template.md
|
|
32
|
-
└── product/ # Templates de produto
|
|
33
|
-
├──
|
|
34
|
-
├──
|
|
35
|
-
├── epic-template.md
|
|
36
|
-
├──
|
|
37
|
-
|
|
32
|
+
└── product/ # Templates de produto ($PROD_TEMPLATES)
|
|
33
|
+
├── prod-prd-template.md # Product Requirements Document
|
|
34
|
+
├── prod-frd-template.md # Functional Requirements Document
|
|
35
|
+
├── prod-epic-template.md # Épicos
|
|
36
|
+
├── prod-issue-template.md # Histórias, tarefas e bugs
|
|
37
|
+
├── prod-breakdown-template.md # Quebra de especificação
|
|
38
|
+
└── prod-discovery-template.md # Discovery (investigação inicial de uma ideia)
|
|
38
39
|
```
|
|
39
40
|
|
|
40
41
|
---
|
|
@@ -60,7 +60,7 @@ SESSIONS_DIR=.jarvis/sessions
|
|
|
60
60
|
# Pastas de produto (derivadas das de cima — em geral não precisa mexer)
|
|
61
61
|
PROD_FOLDER_NAME=product
|
|
62
62
|
PROD_RULES=$RULES_FOLDER/$PROD_FOLDER_NAME
|
|
63
|
-
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
63
|
+
PROD_FLOWS=.$IDE/$FLOWS_FOLDER
|
|
64
64
|
PROD_TEMPLATES=.$IDE/$TEMPLATES_FOLDER/$PROD_FOLDER_NAME
|
|
65
65
|
PROD_DOCS=$DOCS_FOLDER/$PROD_FOLDER_NAME
|
|
66
66
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: {discovery-001}
|
|
3
|
+
name: {nome dessa ideia}
|
|
4
|
+
status: {in_review enquanto o rascunho existe | cancelled se o veredito for do_not_proceed}
|
|
5
|
+
verdict: {vazio durante a entrevista | proceed | investigate_more | do_not_proceed}
|
|
6
|
+
created_at: {YYYY-MM-DD}
|
|
7
|
+
updated_at: {YYYY-MM-DD}
|
|
8
|
+
created_by: {nome de quem criou esse doc}
|
|
9
|
+
last_editor: {nome de quem editou por último}
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# {id}: {name}
|
|
13
|
+
|
|
14
|
+
> **Este documento é um rascunho.** Ele registra o que se sabe, o que é hipótese e o que ainda é lacuna sobre uma ideia. Não define tarefas, histórias, critérios de aceitação, estimativas nem escopo fechado, e nada aqui é verdade absoluta. Quando um PRD, FRD, épico ou issue for criado a partir dele, o documento novo é a fonte da verdade.
|
|
15
|
+
>
|
|
16
|
+
> Nunca registre credenciais, tokens nem dados pessoais de clientes neste arquivo: ele é versionado.
|
|
17
|
+
|
|
18
|
+
## Ideia
|
|
19
|
+
|
|
20
|
+
{O que é a ideia, em poucas frases, e para quem ela é. Use as palavras do usuário; não acrescente o que ele não disse.}
|
|
21
|
+
|
|
22
|
+
## Problema
|
|
23
|
+
|
|
24
|
+
{Declare o problema, não a solução. Responda, sempre que souber:}
|
|
25
|
+
|
|
26
|
+
- **Qual é o problema?** {a dor, o que não funciona hoje}
|
|
27
|
+
- **Quem sofre com ele?** {quem e em que situação}
|
|
28
|
+
- **Qual a evidência de que ele existe?** {dado, relato ou observação; se não houver, diga "sem evidência"}
|
|
29
|
+
- **Como se resolve hoje?** {a alternativa atual, mesmo que seja uma gambiarra}
|
|
30
|
+
- **Por que agora?** {o que torna isto relevante neste momento}
|
|
31
|
+
- **Como saberemos que funcionou?** {sinais de sucesso, sem metas fechadas}
|
|
32
|
+
|
|
33
|
+
## Hipóteses
|
|
34
|
+
|
|
35
|
+
{Uma tabela única com tudo o que precisaria ser verdade para a ideia funcionar: requisitos iniciais e suposições. Requisitos são hipóteses de alto nível, sem critério de aceitação. Destaque as de importância alta e certeza baixa: são as primeiras a validar e alimentam as perguntas em aberto.}
|
|
36
|
+
|
|
37
|
+
| Hipótese | Tipo | Importância | Certeza | Origem | Como validar |
|
|
38
|
+
|---|---|---|---|---|---|
|
|
39
|
+
| {o que precisaria ser verdade} | {problema, requisito, usuário, técnica ou negócio} | {alta, média ou baixa} | {alta, média ou baixa} | {dado, observação ou suposição} | {como confirmar ou descartar} |
|
|
40
|
+
|
|
41
|
+
## Viabilidade
|
|
42
|
+
|
|
43
|
+
{Um sinal indicativo por lente, com a justificativa e as lacunas que o sustentam. É uma leitura inicial, não um desenho técnico nem uma estimativa. Um rascunho de abordagem técnica pode aparecer, sempre como hipótese a validar e nunca como decisão de arquitetura.}
|
|
44
|
+
|
|
45
|
+
| Lente | Sinal | Justificativa e lacunas |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| **Valor:** alguém vai querer e usar? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
|
|
48
|
+
| **Usabilidade:** as pessoas conseguem usar? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
|
|
49
|
+
| **Técnica:** dá para construir com o que temos? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
|
|
50
|
+
| **Negócio:** funciona para o negócio (custo, prazo, risco)? | {alto, médio ou baixo} | {por quê; o que ainda não se sabe} |
|
|
51
|
+
|
|
52
|
+
## Alternativas e riscos
|
|
53
|
+
|
|
54
|
+
{Inclua sempre "não fazer nada" e "usar algo que já existe", além das opções levantadas.}
|
|
55
|
+
|
|
56
|
+
| Alternativa | Prós | Contras |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| {não fazer nada} | {prós resumidos} | {contras resumidos} |
|
|
59
|
+
| {usar algo existente} | {prós resumidos} | {contras resumidos} |
|
|
60
|
+
| {outra opção} | {prós resumidos} | {contras resumidos} |
|
|
61
|
+
|
|
62
|
+
**Riscos e dependências:**
|
|
63
|
+
|
|
64
|
+
- {risco ou dependência, com quem pode confirmar}
|
|
65
|
+
|
|
66
|
+
## Perguntas em aberto
|
|
67
|
+
|
|
68
|
+
{O que ainda precisa ser validado, com quem e como. Comece pelas hipóteses de importância alta e certeza baixa.}
|
|
69
|
+
|
|
70
|
+
- [ ] {pergunta} — quem responde: {pessoa ou área}
|
|
71
|
+
|
|
72
|
+
## Veredito
|
|
73
|
+
|
|
74
|
+
{Uma recomendação, não uma aprovação. Escolha uma e justifique em poucas linhas:}
|
|
75
|
+
|
|
76
|
+
- **proceed** (seguir): vale especificar. O problema parece real e não há lacuna crítica aberta
|
|
77
|
+
- **investigate_more** (investigar mais): há lacuna crítica; liste o que falta. Uma lacuna crítica nunca dá `proceed`
|
|
78
|
+
- **do_not_proceed** (não seguir): informe o motivo; o `status` passa a `cancelled` e o arquivo fica como registro da decisão
|
|
79
|
+
|
|
80
|
+
**Veredito:** {proceed | investigate_more | do_not_proceed}
|
|
81
|
+
|
|
82
|
+
**Motivo:** {justificativa}
|
|
83
|
+
|
|
84
|
+
## Próximo passo sugerido
|
|
85
|
+
|
|
86
|
+
{Sempre preencha, qualquer que seja o veredito. É só uma sugestão: o agente oferece usar este documento como insumo, mas nunca executa o comando sozinho, e você pode escolher outro caminho ou parar aqui.}
|
|
87
|
+
|
|
88
|
+
- **Comando recomendado:** {/prod.spec.prd (e depois /prod.spec.breakdown), /prod.spec.frd, /prod.spec.issue, retomar este discovery ou arquivar a ideia}
|
|
89
|
+
- **Motivo:** {por que esse caminho}
|
|
90
|
+
- **Alternativa:** {outro caminho possível, se houver}
|
|
91
|
+
|
|
92
|
+
## Histórico das sessões
|
|
93
|
+
|
|
94
|
+
{Um registro por sessão de entrevista, em ordem cronológica.}
|
|
95
|
+
|
|
96
|
+
| Data | O que foi coberto | Observações |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| {YYYY-MM-DD} | {temas cobertos nesta sessão} | {o que ficou pendente} |
|
|
@@ -6,6 +6,7 @@ status: {icebox|in_review|in_progress|in_production|deprecated}
|
|
|
6
6
|
task_link: {URL referêncial no $TASK_MANAGER - se existir. Se não, ignore essa linha}
|
|
7
7
|
related_prd: {path PRD relacionado, exemplo /master-docs/product/prd-001.md}
|
|
8
8
|
related_frd: {path FRD relacionado, exemplo /master-docs/product/frds/frd-001.md}
|
|
9
|
+
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
9
10
|
created_at: {YYYY-MM-DD}
|
|
10
11
|
updated_at: {YYYY-MM-DD}
|
|
11
12
|
created_by: {nome de quem criou esse doc}
|
|
@@ -6,6 +6,7 @@ status: {$ITEM_STATUS}
|
|
|
6
6
|
last_editor: {nome de quem editou por último}
|
|
7
7
|
updated_at: {YYYY-MM-DD}
|
|
8
8
|
related_prd: {Lista de PRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
|
|
9
|
+
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
9
10
|
created_at: {YYYY-MM-DD}
|
|
10
11
|
created_by: {nome de quem criou esse doc}
|
|
11
12
|
---
|
|
@@ -5,6 +5,7 @@ type: {Story, Task, Bug}
|
|
|
5
5
|
related_prd: {path PRD relacionado, exemplo /master-docs/product/prd-001.md}
|
|
6
6
|
related_epic: {nome do Epico relacionado, exemplo /master-docs/product/epics/epic-001.md. Se não existir, ignore essa linha}
|
|
7
7
|
related_frd: {path FRD relacionado, exemplo /master-docs/product/frds/frd-001.md}
|
|
8
|
+
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
8
9
|
created_at: {YYYY-MM-DD}
|
|
9
10
|
updated_at: {YYYY-MM-DD}
|
|
10
11
|
task_link: {URL referêncial no $TASK_MANAGER - se existir. Se não, ignore essa linha}
|
|
@@ -8,6 +8,7 @@ updated_at: {YYYY-MM-DD}
|
|
|
8
8
|
related_repo: {URLs de repositórios relacionados, se forem vários, utilize sintaxe compatível com YAML}
|
|
9
9
|
related_prd: {Lista de PRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
|
|
10
10
|
related_frd: {Lista de FRDs que são relacionadas a esse PRD, se forem vários, utilize sintaxe compatível com YAML}
|
|
11
|
+
related_discovery: {path do discovery de origem, exemplo $PROD_DOCS/discoveries/discovery-001-nome.md. Se não existir, ignore essa linha}
|
|
11
12
|
created_at: {YYYY-MM-DD}
|
|
12
13
|
created_by: {nome de quem criou esse doc}
|
|
13
14
|
---
|
package/workflows/AGENTS.md
CHANGED
|
@@ -28,6 +28,7 @@ workflows/
|
|
|
28
28
|
│
|
|
29
29
|
├── product/ # Workflows de produto
|
|
30
30
|
│ ├── prod.spec.md # Entrypoint de specs
|
|
31
|
+
│ ├── prod.spec.discovery.md # Investigacao inicial de uma ideia
|
|
31
32
|
│ ├── prod.spec.prd.md # Documento de Requisitos de Produto
|
|
32
33
|
│ ├── prod.spec.frd.md # Documento de Requisitos Funcionais
|
|
33
34
|
│ ├── prod.spec.breakdown.md # Quebra em versões / épicos / histórias
|
|
@@ -80,6 +81,7 @@ Utilize o arquivo `../../workflows/[dominio]/nome-do-workflow.md` como template.
|
|
|
80
81
|
| `/eng.frontend-component` | `engineering/frontend/eng.frontend-component.md` |
|
|
81
82
|
| `/eng.frontend-review` | `engineering/frontend/eng.frontend-review.md` |
|
|
82
83
|
| `/eng.frontend-perf-audit` | `engineering/frontend/eng.frontend-perf-audit.md` |
|
|
84
|
+
| `/prod.spec.discovery` | `product/prod.spec.discovery.md` |
|
|
83
85
|
| `/prod.spec.prd` | `product/prod.spec.prd.md` |
|
|
84
86
|
|
|
85
87
|
---
|
|
@@ -140,7 +142,7 @@ Workflows de engenharia seguem fases restritas:
|
|
|
140
142
|
| Fase | Workflows | Restricao |
|
|
141
143
|
|------|-----------|-----------|
|
|
142
144
|
| Planejamento | `eng.start`, `eng.plan` | Somente analise, SEM codigo |
|
|
143
|
-
| Implementacao | `eng.work` | Codigo e testes, SEM
|
|
145
|
+
| Implementacao | `eng.work` | Codigo e testes, commit por fase, SEM push nem PR |
|
|
144
146
|
| Entrega | `eng.pr` | Branch, commit e PR |
|
|
145
147
|
|
|
146
148
|
**IMPORTANTE**: Respeitar estritamente as restricoes de cada fase.
|
package/workflows/README.md
CHANGED
|
@@ -14,6 +14,7 @@ workflows/
|
|
|
14
14
|
│
|
|
15
15
|
├── product/ # Gestão de Produto & Requisitos
|
|
16
16
|
│ ├── prod.spec.md # Entrypoint de especificações
|
|
17
|
+
│ ├── prod.spec.discovery.md # Investigação inicial de uma ideia (rascunho)
|
|
17
18
|
│ ├── prod.spec.prd.md # Documento de Requisitos de Produto
|
|
18
19
|
│ ├── prod.spec.frd.md # Documento de Requisitos Funcionais
|
|
19
20
|
│ ├── prod.spec.breakdown.md # Quebra em versões / épicos / histórias
|
|
@@ -70,6 +71,7 @@ workflows/
|
|
|
70
71
|
| Workflow | Propósito |
|
|
71
72
|
|----------|-----------|
|
|
72
73
|
| `prod.spec.md` | Entrypoint unificado para especificações |
|
|
74
|
+
| `prod.spec.discovery.md` | Investigar uma ideia inicial (problema, requisitos e viabilidade) e gerar um rascunho |
|
|
73
75
|
| `prod.spec.prd.md` | Criar/editar Documento de Requisitos de Produto |
|
|
74
76
|
| `prod.spec.frd.md` | Criar/editar Documento de Requisitos Funcionais |
|
|
75
77
|
| `prod.spec.breakdown.md` | Quebrar spec grande em versões, épicos e histórias |
|