maestro-bundle 1.4.0 → 1.6.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/README.md +39 -7
- package/package.json +1 -1
- package/src/cli.mjs +39 -2
- package/templates/bundle-ai-agents/AGENTS.md +6 -0
- package/templates/bundle-ai-agents/PRD_TEMPLATE.md +161 -0
- package/templates/bundle-data-pipeline/AGENTS.md +6 -0
- package/templates/bundle-data-pipeline/PRD_TEMPLATE.md +161 -0
- package/templates/bundle-frontend-spa/AGENTS.md +6 -0
- package/templates/bundle-frontend-spa/PRD_TEMPLATE.md +161 -0
- package/templates/bundle-jhipster-microservices/AGENTS.md +6 -0
- package/templates/bundle-jhipster-microservices/PRD_TEMPLATE.md +161 -0
- package/templates/bundle-jhipster-monorepo/AGENTS.md +6 -0
- package/templates/bundle-jhipster-monorepo/PRD_TEMPLATE.md +161 -0
package/README.md
CHANGED
|
@@ -9,11 +9,40 @@ npx maestro-bundle ai-agents claude
|
|
|
9
9
|
## O que faz
|
|
10
10
|
|
|
11
11
|
1. Instala **AGENTS.md** + **skills** no formato correto do seu editor
|
|
12
|
-
2.
|
|
13
|
-
3.
|
|
14
|
-
4.
|
|
12
|
+
2. Cria **PRD.md** — template de requisitos para o analista/dev preencher
|
|
13
|
+
3. Instala [LangChain Skills](https://github.com/langchain-ai/langchain-skills) (11 skills extras, apenas para `ai-agents`)
|
|
14
|
+
4. Instala o [GitHub Spec Kit](https://github.com/github/spec-kit) (`specify-cli@v0.4.3`) no projeto
|
|
15
|
+
5. Roda `specify init` que registra os commands `/speckit.*` no editor
|
|
16
|
+
6. Integra o `constitution.md` do bundle com os princípios do projeto
|
|
15
17
|
|
|
16
|
-
O dev abre o editor e já tem skills + `/speckit.specify` funcionando.
|
|
18
|
+
O dev abre o editor e já tem skills do bundle + LangChain skills + `/speckit.specify` funcionando.
|
|
19
|
+
|
|
20
|
+
### Skills extras do LangChain (apenas bundle ai-agents)
|
|
21
|
+
|
|
22
|
+
Quando você instala o bundle `ai-agents`, o CLI também instala automaticamente as 11 skills oficiais do LangChain:
|
|
23
|
+
|
|
24
|
+
| Skill | O que faz |
|
|
25
|
+
|---|---|
|
|
26
|
+
| `framework-selection` | Escolher entre LangChain, LangGraph ou Deep Agents |
|
|
27
|
+
| `langchain-fundamentals` | Criar agentes com `create_agent`, tools, middleware |
|
|
28
|
+
| `langchain-middleware` | Human-in-the-loop, custom middleware, output estruturado |
|
|
29
|
+
| `langchain-rag` | RAG: document loaders, embeddings, vector stores |
|
|
30
|
+
| `langchain-dependencies` | Pacotes, versões, instalação |
|
|
31
|
+
| `langgraph-fundamentals` | StateGraph, nodes, edges, streaming |
|
|
32
|
+
| `langgraph-persistence` | Checkpointers, Store, time travel |
|
|
33
|
+
| `langgraph-human-in-the-loop` | Interrupts, aprovação humana, resume |
|
|
34
|
+
| `deep-agents-core` | Criar Deep Agents, harness, SKILL.md format |
|
|
35
|
+
| `deep-agents-memory` | Memória e persistência para Deep Agents |
|
|
36
|
+
| `deep-agents-orchestration` | Subagentes, planning, HITL |
|
|
37
|
+
|
|
38
|
+
## AGENTS.md vs PRD.md
|
|
39
|
+
|
|
40
|
+
| Arquivo | Quem escreve | O que contém | Para que serve |
|
|
41
|
+
|---|---|---|---|
|
|
42
|
+
| **AGENTS.md** | Bundle (automático) | Stack, padrões, estrutura, convenções | Define COMO o agente trabalha |
|
|
43
|
+
| **PRD.md** | Analista / Dev | User stories, requisitos, API spec, modelo de dados | Define O QUE deve ser construído |
|
|
44
|
+
|
|
45
|
+
O `AGENTS.md` vem pronto no bundle. O `PRD.md` vem como template — o dev/analista preenche com os requisitos do projeto antes de começar a codar. O agente AI usa ambos como contexto.
|
|
17
46
|
|
|
18
47
|
## Editores suportados
|
|
19
48
|
|
|
@@ -71,7 +100,8 @@ $ npx maestro-bundle ai-agents claude
|
|
|
71
100
|
```
|
|
72
101
|
seu-projeto/
|
|
73
102
|
├── CLAUDE.md # @AGENTS.md (aponta pro AGENTS.md)
|
|
74
|
-
├── AGENTS.md #
|
|
103
|
+
├── AGENTS.md # Define COMO o agente trabalha
|
|
104
|
+
├── PRD.md # Define O QUE construir (preencher!)
|
|
75
105
|
├── .claude/
|
|
76
106
|
│ ├── skills/ # Skills do bundle
|
|
77
107
|
│ │ ├── rag-pipeline/SKILL.md
|
|
@@ -96,7 +126,8 @@ seu-projeto/
|
|
|
96
126
|
|
|
97
127
|
```
|
|
98
128
|
seu-projeto/
|
|
99
|
-
├── AGENTS.md #
|
|
129
|
+
├── AGENTS.md # Define COMO o agente trabalha
|
|
130
|
+
├── PRD.md # Define O QUE construir (preencher!)
|
|
100
131
|
├── .cursor/
|
|
101
132
|
│ ├── skills/ # Skills do bundle
|
|
102
133
|
│ │ ├── rag-pipeline/SKILL.md
|
|
@@ -113,7 +144,8 @@ seu-projeto/
|
|
|
113
144
|
|
|
114
145
|
```
|
|
115
146
|
seu-projeto/
|
|
116
|
-
├── AGENTS.md #
|
|
147
|
+
├── AGENTS.md # Define COMO o agente trabalha
|
|
148
|
+
├── PRD.md # Define O QUE construir (preencher!)
|
|
117
149
|
├── .agents/
|
|
118
150
|
│ └── skills/ # Commands do Spec Kit (como skills)
|
|
119
151
|
│ ├── speckit-constitution/SKILL.md
|
package/package.json
CHANGED
package/src/cli.mjs
CHANGED
|
@@ -301,7 +301,18 @@ async function main() {
|
|
|
301
301
|
spinner.succeed(`${EDITORS[editorKey].name}: ${results.join(", ")}`);
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
// 2.
|
|
304
|
+
// 2. PRD template
|
|
305
|
+
const prdTemplate = join(bundleDir, "PRD_TEMPLATE.md");
|
|
306
|
+
if (existsSync(prdTemplate)) {
|
|
307
|
+
const prdDest = join(targetDir, "PRD.md");
|
|
308
|
+
if (!existsSync(prdDest)) {
|
|
309
|
+
cpSync(prdTemplate, prdDest);
|
|
310
|
+
const spinnerPrd = ora("PRD.md template instalado").start();
|
|
311
|
+
spinnerPrd.succeed("PRD.md template instalado (preencha com os requisitos do produto)");
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// 3. Skills canônicas (sempre, para Deep Agents e referência)
|
|
305
316
|
const spinner2 = ora("Instalando skills canônicas").start();
|
|
306
317
|
const skillsDest = join(targetDir, "skills");
|
|
307
318
|
ensureDir(skillsDest);
|
|
@@ -310,7 +321,33 @@ async function main() {
|
|
|
310
321
|
}
|
|
311
322
|
spinner2.succeed(`${skills.length} skills canônicas em skills/`);
|
|
312
323
|
|
|
313
|
-
// 3.
|
|
324
|
+
// 3. LangChain Skills (apenas para bundle ai-agents)
|
|
325
|
+
if (bundleName === "ai-agents") {
|
|
326
|
+
const spinnerLc = ora("Instalando LangChain Skills (langchain-ai/langchain-skills)").start();
|
|
327
|
+
try {
|
|
328
|
+
// Instalar todas as 11 skills do LangChain para o editor escolhido
|
|
329
|
+
const agentFlag = primaryEditor === "cursor" ? "cursor" : primaryEditor === "codex" ? "codex" : "claude-code";
|
|
330
|
+
execSync(
|
|
331
|
+
`npx skills add langchain-ai/langchain-skills --agent ${agentFlag} --skill "*" --yes`,
|
|
332
|
+
{ stdio: "pipe", timeout: 120000, cwd: targetDir, shell: true }
|
|
333
|
+
);
|
|
334
|
+
spinnerLc.succeed("11 LangChain Skills instaladas (framework-selection, langchain-*, langgraph-*, deep-agents-*)");
|
|
335
|
+
} catch {
|
|
336
|
+
// Fallback: tentar sem --agent
|
|
337
|
+
try {
|
|
338
|
+
execSync(
|
|
339
|
+
`npx skills add langchain-ai/langchain-skills --skill "*" --yes`,
|
|
340
|
+
{ stdio: "pipe", timeout: 120000, cwd: targetDir, shell: true }
|
|
341
|
+
);
|
|
342
|
+
spinnerLc.succeed("11 LangChain Skills instaladas");
|
|
343
|
+
} catch {
|
|
344
|
+
spinnerLc.warn("Instale manualmente as LangChain Skills:");
|
|
345
|
+
console.log(chalk.dim(" npx skills add langchain-ai/langchain-skills --skill '*' --yes"));
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// 4. References
|
|
314
351
|
const spinner3 = ora("Instalando references").start();
|
|
315
352
|
const refsSrc = join(bundleDir, "references");
|
|
316
353
|
ensureDir(join(targetDir, "references"));
|
|
@@ -14,6 +14,12 @@ Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qual
|
|
|
14
14
|
|
|
15
15
|
Nunca pular direto para código. Spec primeiro, código depois.
|
|
16
16
|
|
|
17
|
+
## Product Requirements Document
|
|
18
|
+
|
|
19
|
+
O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
|
|
20
|
+
|
|
21
|
+
- `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
|
|
22
|
+
|
|
17
23
|
## References
|
|
18
24
|
|
|
19
25
|
Documentos de referência que o agente deve consultar quando necessário:
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
|
|
4
|
+
|
|
5
|
+
## 1. Resumo Executivo
|
|
6
|
+
|
|
7
|
+
<!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
|
|
8
|
+
|
|
9
|
+
## 2. Usuários Alvo
|
|
10
|
+
|
|
11
|
+
<!-- Quem vai usar o sistema? Descreva as personas -->
|
|
12
|
+
|
|
13
|
+
### Persona 1: [Nome]
|
|
14
|
+
- **Perfil:**
|
|
15
|
+
- **Objetivos:**
|
|
16
|
+
- **Dores:**
|
|
17
|
+
|
|
18
|
+
## 3. Escopo do MVP
|
|
19
|
+
|
|
20
|
+
### Incluído no MVP
|
|
21
|
+
- [ ] Feature 1
|
|
22
|
+
- [ ] Feature 2
|
|
23
|
+
- [ ] Feature 3
|
|
24
|
+
|
|
25
|
+
### Fora do MVP (futuro)
|
|
26
|
+
- [ ] Feature futura 1
|
|
27
|
+
- [ ] Feature futura 2
|
|
28
|
+
|
|
29
|
+
## 4. User Stories
|
|
30
|
+
|
|
31
|
+
### US01: [Título]
|
|
32
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
33
|
+
|
|
34
|
+
**Critérios de aceite:**
|
|
35
|
+
- [ ] CA1:
|
|
36
|
+
- [ ] CA2:
|
|
37
|
+
|
|
38
|
+
### US02: [Título]
|
|
39
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
40
|
+
|
|
41
|
+
**Critérios de aceite:**
|
|
42
|
+
- [ ] CA1:
|
|
43
|
+
- [ ] CA2:
|
|
44
|
+
|
|
45
|
+
## 5. Arquitetura de Alto Nível
|
|
46
|
+
|
|
47
|
+
<!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
graph LR
|
|
51
|
+
A[Frontend] --> B[API]
|
|
52
|
+
B --> C[Database]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Estrutura de Diretórios
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
project/
|
|
59
|
+
├── src/
|
|
60
|
+
├── tests/
|
|
61
|
+
└── ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 6. Features Detalhadas
|
|
65
|
+
|
|
66
|
+
### Feature 1: [Nome]
|
|
67
|
+
- **Descrição:**
|
|
68
|
+
- **Regras de negócio:**
|
|
69
|
+
-
|
|
70
|
+
- **Inputs:**
|
|
71
|
+
- **Outputs:**
|
|
72
|
+
- **Edge cases:**
|
|
73
|
+
-
|
|
74
|
+
|
|
75
|
+
### Feature 2: [Nome]
|
|
76
|
+
- **Descrição:**
|
|
77
|
+
- **Regras de negócio:**
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
## 7. Stack Tecnológica
|
|
81
|
+
|
|
82
|
+
| Componente | Tecnologia | Justificativa |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Backend | | |
|
|
85
|
+
| Frontend | | |
|
|
86
|
+
| Banco de dados | | |
|
|
87
|
+
| Cache | | |
|
|
88
|
+
| Deploy | | |
|
|
89
|
+
|
|
90
|
+
## 8. API Specification
|
|
91
|
+
|
|
92
|
+
### Endpoints
|
|
93
|
+
|
|
94
|
+
#### `GET /api/v1/resource`
|
|
95
|
+
- **Descrição:**
|
|
96
|
+
- **Response:** `200 OK`
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"items": [],
|
|
100
|
+
"total": 0,
|
|
101
|
+
"page": 1,
|
|
102
|
+
"size": 20
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### `POST /api/v1/resource`
|
|
107
|
+
- **Descrição:**
|
|
108
|
+
- **Body:**
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"field": "value"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
- **Response:** `201 Created`
|
|
115
|
+
|
|
116
|
+
## 9. Modelo de Dados
|
|
117
|
+
|
|
118
|
+
```sql
|
|
119
|
+
CREATE TABLE example (
|
|
120
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
121
|
+
name VARCHAR(100) NOT NULL,
|
|
122
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 10. Requisitos Não-Funcionais
|
|
127
|
+
|
|
128
|
+
| Requisito | Alvo | Prioridade |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Performance | Response time < 500ms | Alta |
|
|
131
|
+
| Disponibilidade | 99.9% uptime | Média |
|
|
132
|
+
| Segurança | OWASP Top 10 | Alta |
|
|
133
|
+
| Escalabilidade | Até X usuários simultâneos | Média |
|
|
134
|
+
|
|
135
|
+
## 11. Fases de Implementação
|
|
136
|
+
|
|
137
|
+
### Fase 1: Foundation
|
|
138
|
+
- [ ] Setup do projeto
|
|
139
|
+
- [ ] Modelo de dados
|
|
140
|
+
- [ ] Endpoints básicos
|
|
141
|
+
|
|
142
|
+
### Fase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 completa
|
|
144
|
+
- [ ] Feature 2 completa
|
|
145
|
+
|
|
146
|
+
### Fase 3: Polish
|
|
147
|
+
- [ ] Testes E2E
|
|
148
|
+
- [ ] Performance
|
|
149
|
+
- [ ] Documentação
|
|
150
|
+
|
|
151
|
+
## 12. Riscos e Mitigações
|
|
152
|
+
|
|
153
|
+
| Risco | Impacto | Probabilidade | Mitigação |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| | | | |
|
|
156
|
+
|
|
157
|
+
## 13. Critérios de Sucesso
|
|
158
|
+
|
|
159
|
+
- [ ] Critério 1
|
|
160
|
+
- [ ] Critério 2
|
|
161
|
+
- [ ] Critério 3
|
|
@@ -14,6 +14,12 @@ Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qual
|
|
|
14
14
|
|
|
15
15
|
Nunca pular direto para código. Spec primeiro, código depois.
|
|
16
16
|
|
|
17
|
+
## Product Requirements Document
|
|
18
|
+
|
|
19
|
+
O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
|
|
20
|
+
|
|
21
|
+
- `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
|
|
22
|
+
|
|
17
23
|
## References
|
|
18
24
|
|
|
19
25
|
Documentos de referência que o agente deve consultar quando necessário:
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
|
|
4
|
+
|
|
5
|
+
## 1. Resumo Executivo
|
|
6
|
+
|
|
7
|
+
<!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
|
|
8
|
+
|
|
9
|
+
## 2. Usuários Alvo
|
|
10
|
+
|
|
11
|
+
<!-- Quem vai usar o sistema? Descreva as personas -->
|
|
12
|
+
|
|
13
|
+
### Persona 1: [Nome]
|
|
14
|
+
- **Perfil:**
|
|
15
|
+
- **Objetivos:**
|
|
16
|
+
- **Dores:**
|
|
17
|
+
|
|
18
|
+
## 3. Escopo do MVP
|
|
19
|
+
|
|
20
|
+
### Incluído no MVP
|
|
21
|
+
- [ ] Feature 1
|
|
22
|
+
- [ ] Feature 2
|
|
23
|
+
- [ ] Feature 3
|
|
24
|
+
|
|
25
|
+
### Fora do MVP (futuro)
|
|
26
|
+
- [ ] Feature futura 1
|
|
27
|
+
- [ ] Feature futura 2
|
|
28
|
+
|
|
29
|
+
## 4. User Stories
|
|
30
|
+
|
|
31
|
+
### US01: [Título]
|
|
32
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
33
|
+
|
|
34
|
+
**Critérios de aceite:**
|
|
35
|
+
- [ ] CA1:
|
|
36
|
+
- [ ] CA2:
|
|
37
|
+
|
|
38
|
+
### US02: [Título]
|
|
39
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
40
|
+
|
|
41
|
+
**Critérios de aceite:**
|
|
42
|
+
- [ ] CA1:
|
|
43
|
+
- [ ] CA2:
|
|
44
|
+
|
|
45
|
+
## 5. Arquitetura de Alto Nível
|
|
46
|
+
|
|
47
|
+
<!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
graph LR
|
|
51
|
+
A[Frontend] --> B[API]
|
|
52
|
+
B --> C[Database]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Estrutura de Diretórios
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
project/
|
|
59
|
+
├── src/
|
|
60
|
+
├── tests/
|
|
61
|
+
└── ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 6. Features Detalhadas
|
|
65
|
+
|
|
66
|
+
### Feature 1: [Nome]
|
|
67
|
+
- **Descrição:**
|
|
68
|
+
- **Regras de negócio:**
|
|
69
|
+
-
|
|
70
|
+
- **Inputs:**
|
|
71
|
+
- **Outputs:**
|
|
72
|
+
- **Edge cases:**
|
|
73
|
+
-
|
|
74
|
+
|
|
75
|
+
### Feature 2: [Nome]
|
|
76
|
+
- **Descrição:**
|
|
77
|
+
- **Regras de negócio:**
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
## 7. Stack Tecnológica
|
|
81
|
+
|
|
82
|
+
| Componente | Tecnologia | Justificativa |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Backend | | |
|
|
85
|
+
| Frontend | | |
|
|
86
|
+
| Banco de dados | | |
|
|
87
|
+
| Cache | | |
|
|
88
|
+
| Deploy | | |
|
|
89
|
+
|
|
90
|
+
## 8. API Specification
|
|
91
|
+
|
|
92
|
+
### Endpoints
|
|
93
|
+
|
|
94
|
+
#### `GET /api/v1/resource`
|
|
95
|
+
- **Descrição:**
|
|
96
|
+
- **Response:** `200 OK`
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"items": [],
|
|
100
|
+
"total": 0,
|
|
101
|
+
"page": 1,
|
|
102
|
+
"size": 20
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### `POST /api/v1/resource`
|
|
107
|
+
- **Descrição:**
|
|
108
|
+
- **Body:**
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"field": "value"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
- **Response:** `201 Created`
|
|
115
|
+
|
|
116
|
+
## 9. Modelo de Dados
|
|
117
|
+
|
|
118
|
+
```sql
|
|
119
|
+
CREATE TABLE example (
|
|
120
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
121
|
+
name VARCHAR(100) NOT NULL,
|
|
122
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 10. Requisitos Não-Funcionais
|
|
127
|
+
|
|
128
|
+
| Requisito | Alvo | Prioridade |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Performance | Response time < 500ms | Alta |
|
|
131
|
+
| Disponibilidade | 99.9% uptime | Média |
|
|
132
|
+
| Segurança | OWASP Top 10 | Alta |
|
|
133
|
+
| Escalabilidade | Até X usuários simultâneos | Média |
|
|
134
|
+
|
|
135
|
+
## 11. Fases de Implementação
|
|
136
|
+
|
|
137
|
+
### Fase 1: Foundation
|
|
138
|
+
- [ ] Setup do projeto
|
|
139
|
+
- [ ] Modelo de dados
|
|
140
|
+
- [ ] Endpoints básicos
|
|
141
|
+
|
|
142
|
+
### Fase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 completa
|
|
144
|
+
- [ ] Feature 2 completa
|
|
145
|
+
|
|
146
|
+
### Fase 3: Polish
|
|
147
|
+
- [ ] Testes E2E
|
|
148
|
+
- [ ] Performance
|
|
149
|
+
- [ ] Documentação
|
|
150
|
+
|
|
151
|
+
## 12. Riscos e Mitigações
|
|
152
|
+
|
|
153
|
+
| Risco | Impacto | Probabilidade | Mitigação |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| | | | |
|
|
156
|
+
|
|
157
|
+
## 13. Critérios de Sucesso
|
|
158
|
+
|
|
159
|
+
- [ ] Critério 1
|
|
160
|
+
- [ ] Critério 2
|
|
161
|
+
- [ ] Critério 3
|
|
@@ -14,6 +14,12 @@ Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qual
|
|
|
14
14
|
|
|
15
15
|
Nunca pular direto para código. Spec primeiro, código depois.
|
|
16
16
|
|
|
17
|
+
## Product Requirements Document
|
|
18
|
+
|
|
19
|
+
O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
|
|
20
|
+
|
|
21
|
+
- `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
|
|
22
|
+
|
|
17
23
|
## References
|
|
18
24
|
|
|
19
25
|
Documentos de referência que o agente deve consultar quando necessário:
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
|
|
4
|
+
|
|
5
|
+
## 1. Resumo Executivo
|
|
6
|
+
|
|
7
|
+
<!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
|
|
8
|
+
|
|
9
|
+
## 2. Usuários Alvo
|
|
10
|
+
|
|
11
|
+
<!-- Quem vai usar o sistema? Descreva as personas -->
|
|
12
|
+
|
|
13
|
+
### Persona 1: [Nome]
|
|
14
|
+
- **Perfil:**
|
|
15
|
+
- **Objetivos:**
|
|
16
|
+
- **Dores:**
|
|
17
|
+
|
|
18
|
+
## 3. Escopo do MVP
|
|
19
|
+
|
|
20
|
+
### Incluído no MVP
|
|
21
|
+
- [ ] Feature 1
|
|
22
|
+
- [ ] Feature 2
|
|
23
|
+
- [ ] Feature 3
|
|
24
|
+
|
|
25
|
+
### Fora do MVP (futuro)
|
|
26
|
+
- [ ] Feature futura 1
|
|
27
|
+
- [ ] Feature futura 2
|
|
28
|
+
|
|
29
|
+
## 4. User Stories
|
|
30
|
+
|
|
31
|
+
### US01: [Título]
|
|
32
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
33
|
+
|
|
34
|
+
**Critérios de aceite:**
|
|
35
|
+
- [ ] CA1:
|
|
36
|
+
- [ ] CA2:
|
|
37
|
+
|
|
38
|
+
### US02: [Título]
|
|
39
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
40
|
+
|
|
41
|
+
**Critérios de aceite:**
|
|
42
|
+
- [ ] CA1:
|
|
43
|
+
- [ ] CA2:
|
|
44
|
+
|
|
45
|
+
## 5. Arquitetura de Alto Nível
|
|
46
|
+
|
|
47
|
+
<!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
graph LR
|
|
51
|
+
A[Frontend] --> B[API]
|
|
52
|
+
B --> C[Database]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Estrutura de Diretórios
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
project/
|
|
59
|
+
├── src/
|
|
60
|
+
├── tests/
|
|
61
|
+
└── ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 6. Features Detalhadas
|
|
65
|
+
|
|
66
|
+
### Feature 1: [Nome]
|
|
67
|
+
- **Descrição:**
|
|
68
|
+
- **Regras de negócio:**
|
|
69
|
+
-
|
|
70
|
+
- **Inputs:**
|
|
71
|
+
- **Outputs:**
|
|
72
|
+
- **Edge cases:**
|
|
73
|
+
-
|
|
74
|
+
|
|
75
|
+
### Feature 2: [Nome]
|
|
76
|
+
- **Descrição:**
|
|
77
|
+
- **Regras de negócio:**
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
## 7. Stack Tecnológica
|
|
81
|
+
|
|
82
|
+
| Componente | Tecnologia | Justificativa |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Backend | | |
|
|
85
|
+
| Frontend | | |
|
|
86
|
+
| Banco de dados | | |
|
|
87
|
+
| Cache | | |
|
|
88
|
+
| Deploy | | |
|
|
89
|
+
|
|
90
|
+
## 8. API Specification
|
|
91
|
+
|
|
92
|
+
### Endpoints
|
|
93
|
+
|
|
94
|
+
#### `GET /api/v1/resource`
|
|
95
|
+
- **Descrição:**
|
|
96
|
+
- **Response:** `200 OK`
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"items": [],
|
|
100
|
+
"total": 0,
|
|
101
|
+
"page": 1,
|
|
102
|
+
"size": 20
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### `POST /api/v1/resource`
|
|
107
|
+
- **Descrição:**
|
|
108
|
+
- **Body:**
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"field": "value"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
- **Response:** `201 Created`
|
|
115
|
+
|
|
116
|
+
## 9. Modelo de Dados
|
|
117
|
+
|
|
118
|
+
```sql
|
|
119
|
+
CREATE TABLE example (
|
|
120
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
121
|
+
name VARCHAR(100) NOT NULL,
|
|
122
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 10. Requisitos Não-Funcionais
|
|
127
|
+
|
|
128
|
+
| Requisito | Alvo | Prioridade |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Performance | Response time < 500ms | Alta |
|
|
131
|
+
| Disponibilidade | 99.9% uptime | Média |
|
|
132
|
+
| Segurança | OWASP Top 10 | Alta |
|
|
133
|
+
| Escalabilidade | Até X usuários simultâneos | Média |
|
|
134
|
+
|
|
135
|
+
## 11. Fases de Implementação
|
|
136
|
+
|
|
137
|
+
### Fase 1: Foundation
|
|
138
|
+
- [ ] Setup do projeto
|
|
139
|
+
- [ ] Modelo de dados
|
|
140
|
+
- [ ] Endpoints básicos
|
|
141
|
+
|
|
142
|
+
### Fase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 completa
|
|
144
|
+
- [ ] Feature 2 completa
|
|
145
|
+
|
|
146
|
+
### Fase 3: Polish
|
|
147
|
+
- [ ] Testes E2E
|
|
148
|
+
- [ ] Performance
|
|
149
|
+
- [ ] Documentação
|
|
150
|
+
|
|
151
|
+
## 12. Riscos e Mitigações
|
|
152
|
+
|
|
153
|
+
| Risco | Impacto | Probabilidade | Mitigação |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| | | | |
|
|
156
|
+
|
|
157
|
+
## 13. Critérios de Sucesso
|
|
158
|
+
|
|
159
|
+
- [ ] Critério 1
|
|
160
|
+
- [ ] Critério 2
|
|
161
|
+
- [ ] Critério 3
|
|
@@ -14,6 +14,12 @@ Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qual
|
|
|
14
14
|
|
|
15
15
|
Nunca pular direto para código. Spec primeiro, código depois.
|
|
16
16
|
|
|
17
|
+
## Product Requirements Document
|
|
18
|
+
|
|
19
|
+
O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
|
|
20
|
+
|
|
21
|
+
- `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
|
|
22
|
+
|
|
17
23
|
## References
|
|
18
24
|
|
|
19
25
|
Documentos de referência que o agente deve consultar quando necessário:
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
|
|
4
|
+
|
|
5
|
+
## 1. Resumo Executivo
|
|
6
|
+
|
|
7
|
+
<!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
|
|
8
|
+
|
|
9
|
+
## 2. Usuários Alvo
|
|
10
|
+
|
|
11
|
+
<!-- Quem vai usar o sistema? Descreva as personas -->
|
|
12
|
+
|
|
13
|
+
### Persona 1: [Nome]
|
|
14
|
+
- **Perfil:**
|
|
15
|
+
- **Objetivos:**
|
|
16
|
+
- **Dores:**
|
|
17
|
+
|
|
18
|
+
## 3. Escopo do MVP
|
|
19
|
+
|
|
20
|
+
### Incluído no MVP
|
|
21
|
+
- [ ] Feature 1
|
|
22
|
+
- [ ] Feature 2
|
|
23
|
+
- [ ] Feature 3
|
|
24
|
+
|
|
25
|
+
### Fora do MVP (futuro)
|
|
26
|
+
- [ ] Feature futura 1
|
|
27
|
+
- [ ] Feature futura 2
|
|
28
|
+
|
|
29
|
+
## 4. User Stories
|
|
30
|
+
|
|
31
|
+
### US01: [Título]
|
|
32
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
33
|
+
|
|
34
|
+
**Critérios de aceite:**
|
|
35
|
+
- [ ] CA1:
|
|
36
|
+
- [ ] CA2:
|
|
37
|
+
|
|
38
|
+
### US02: [Título]
|
|
39
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
40
|
+
|
|
41
|
+
**Critérios de aceite:**
|
|
42
|
+
- [ ] CA1:
|
|
43
|
+
- [ ] CA2:
|
|
44
|
+
|
|
45
|
+
## 5. Arquitetura de Alto Nível
|
|
46
|
+
|
|
47
|
+
<!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
graph LR
|
|
51
|
+
A[Frontend] --> B[API]
|
|
52
|
+
B --> C[Database]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Estrutura de Diretórios
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
project/
|
|
59
|
+
├── src/
|
|
60
|
+
├── tests/
|
|
61
|
+
└── ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 6. Features Detalhadas
|
|
65
|
+
|
|
66
|
+
### Feature 1: [Nome]
|
|
67
|
+
- **Descrição:**
|
|
68
|
+
- **Regras de negócio:**
|
|
69
|
+
-
|
|
70
|
+
- **Inputs:**
|
|
71
|
+
- **Outputs:**
|
|
72
|
+
- **Edge cases:**
|
|
73
|
+
-
|
|
74
|
+
|
|
75
|
+
### Feature 2: [Nome]
|
|
76
|
+
- **Descrição:**
|
|
77
|
+
- **Regras de negócio:**
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
## 7. Stack Tecnológica
|
|
81
|
+
|
|
82
|
+
| Componente | Tecnologia | Justificativa |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Backend | | |
|
|
85
|
+
| Frontend | | |
|
|
86
|
+
| Banco de dados | | |
|
|
87
|
+
| Cache | | |
|
|
88
|
+
| Deploy | | |
|
|
89
|
+
|
|
90
|
+
## 8. API Specification
|
|
91
|
+
|
|
92
|
+
### Endpoints
|
|
93
|
+
|
|
94
|
+
#### `GET /api/v1/resource`
|
|
95
|
+
- **Descrição:**
|
|
96
|
+
- **Response:** `200 OK`
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"items": [],
|
|
100
|
+
"total": 0,
|
|
101
|
+
"page": 1,
|
|
102
|
+
"size": 20
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### `POST /api/v1/resource`
|
|
107
|
+
- **Descrição:**
|
|
108
|
+
- **Body:**
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"field": "value"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
- **Response:** `201 Created`
|
|
115
|
+
|
|
116
|
+
## 9. Modelo de Dados
|
|
117
|
+
|
|
118
|
+
```sql
|
|
119
|
+
CREATE TABLE example (
|
|
120
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
121
|
+
name VARCHAR(100) NOT NULL,
|
|
122
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 10. Requisitos Não-Funcionais
|
|
127
|
+
|
|
128
|
+
| Requisito | Alvo | Prioridade |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Performance | Response time < 500ms | Alta |
|
|
131
|
+
| Disponibilidade | 99.9% uptime | Média |
|
|
132
|
+
| Segurança | OWASP Top 10 | Alta |
|
|
133
|
+
| Escalabilidade | Até X usuários simultâneos | Média |
|
|
134
|
+
|
|
135
|
+
## 11. Fases de Implementação
|
|
136
|
+
|
|
137
|
+
### Fase 1: Foundation
|
|
138
|
+
- [ ] Setup do projeto
|
|
139
|
+
- [ ] Modelo de dados
|
|
140
|
+
- [ ] Endpoints básicos
|
|
141
|
+
|
|
142
|
+
### Fase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 completa
|
|
144
|
+
- [ ] Feature 2 completa
|
|
145
|
+
|
|
146
|
+
### Fase 3: Polish
|
|
147
|
+
- [ ] Testes E2E
|
|
148
|
+
- [ ] Performance
|
|
149
|
+
- [ ] Documentação
|
|
150
|
+
|
|
151
|
+
## 12. Riscos e Mitigações
|
|
152
|
+
|
|
153
|
+
| Risco | Impacto | Probabilidade | Mitigação |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| | | | |
|
|
156
|
+
|
|
157
|
+
## 13. Critérios de Sucesso
|
|
158
|
+
|
|
159
|
+
- [ ] Critério 1
|
|
160
|
+
- [ ] Critério 2
|
|
161
|
+
- [ ] Critério 3
|
|
@@ -14,6 +14,12 @@ Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qual
|
|
|
14
14
|
|
|
15
15
|
Nunca pular direto para código. Spec primeiro, código depois.
|
|
16
16
|
|
|
17
|
+
## Product Requirements Document
|
|
18
|
+
|
|
19
|
+
O arquivo `PRD.md` na raiz do projeto contém os requisitos do produto definidos pelo analista/dev. Consulte-o para entender O QUE construir, as user stories, critérios de aceite, modelo de dados e API specification. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
|
|
20
|
+
|
|
21
|
+
- `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
|
|
22
|
+
|
|
17
23
|
## References
|
|
18
24
|
|
|
19
25
|
Documentos de referência que o agente deve consultar quando necessário:
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Product Requirements Document (PRD)
|
|
2
|
+
|
|
3
|
+
> Este documento define os requisitos do produto. Deve ser preenchido pelo analista de requisitos e/ou pelo dev antes de iniciar o desenvolvimento. O agente AI usa este documento como contexto para entender O QUE construir.
|
|
4
|
+
|
|
5
|
+
## 1. Resumo Executivo
|
|
6
|
+
|
|
7
|
+
<!-- Descreva em 2-3 frases o que é o produto e qual problema resolve -->
|
|
8
|
+
|
|
9
|
+
## 2. Usuários Alvo
|
|
10
|
+
|
|
11
|
+
<!-- Quem vai usar o sistema? Descreva as personas -->
|
|
12
|
+
|
|
13
|
+
### Persona 1: [Nome]
|
|
14
|
+
- **Perfil:**
|
|
15
|
+
- **Objetivos:**
|
|
16
|
+
- **Dores:**
|
|
17
|
+
|
|
18
|
+
## 3. Escopo do MVP
|
|
19
|
+
|
|
20
|
+
### Incluído no MVP
|
|
21
|
+
- [ ] Feature 1
|
|
22
|
+
- [ ] Feature 2
|
|
23
|
+
- [ ] Feature 3
|
|
24
|
+
|
|
25
|
+
### Fora do MVP (futuro)
|
|
26
|
+
- [ ] Feature futura 1
|
|
27
|
+
- [ ] Feature futura 2
|
|
28
|
+
|
|
29
|
+
## 4. User Stories
|
|
30
|
+
|
|
31
|
+
### US01: [Título]
|
|
32
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
33
|
+
|
|
34
|
+
**Critérios de aceite:**
|
|
35
|
+
- [ ] CA1:
|
|
36
|
+
- [ ] CA2:
|
|
37
|
+
|
|
38
|
+
### US02: [Título]
|
|
39
|
+
**Como** [persona], **quero** [ação], **para** [benefício].
|
|
40
|
+
|
|
41
|
+
**Critérios de aceite:**
|
|
42
|
+
- [ ] CA1:
|
|
43
|
+
- [ ] CA2:
|
|
44
|
+
|
|
45
|
+
## 5. Arquitetura de Alto Nível
|
|
46
|
+
|
|
47
|
+
<!-- Diagrama em Mermaid ou ASCII mostrando os componentes principais -->
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
graph LR
|
|
51
|
+
A[Frontend] --> B[API]
|
|
52
|
+
B --> C[Database]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Estrutura de Diretórios
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
project/
|
|
59
|
+
├── src/
|
|
60
|
+
├── tests/
|
|
61
|
+
└── ...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 6. Features Detalhadas
|
|
65
|
+
|
|
66
|
+
### Feature 1: [Nome]
|
|
67
|
+
- **Descrição:**
|
|
68
|
+
- **Regras de negócio:**
|
|
69
|
+
-
|
|
70
|
+
- **Inputs:**
|
|
71
|
+
- **Outputs:**
|
|
72
|
+
- **Edge cases:**
|
|
73
|
+
-
|
|
74
|
+
|
|
75
|
+
### Feature 2: [Nome]
|
|
76
|
+
- **Descrição:**
|
|
77
|
+
- **Regras de negócio:**
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
## 7. Stack Tecnológica
|
|
81
|
+
|
|
82
|
+
| Componente | Tecnologia | Justificativa |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Backend | | |
|
|
85
|
+
| Frontend | | |
|
|
86
|
+
| Banco de dados | | |
|
|
87
|
+
| Cache | | |
|
|
88
|
+
| Deploy | | |
|
|
89
|
+
|
|
90
|
+
## 8. API Specification
|
|
91
|
+
|
|
92
|
+
### Endpoints
|
|
93
|
+
|
|
94
|
+
#### `GET /api/v1/resource`
|
|
95
|
+
- **Descrição:**
|
|
96
|
+
- **Response:** `200 OK`
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"items": [],
|
|
100
|
+
"total": 0,
|
|
101
|
+
"page": 1,
|
|
102
|
+
"size": 20
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
#### `POST /api/v1/resource`
|
|
107
|
+
- **Descrição:**
|
|
108
|
+
- **Body:**
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"field": "value"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
- **Response:** `201 Created`
|
|
115
|
+
|
|
116
|
+
## 9. Modelo de Dados
|
|
117
|
+
|
|
118
|
+
```sql
|
|
119
|
+
CREATE TABLE example (
|
|
120
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
121
|
+
name VARCHAR(100) NOT NULL,
|
|
122
|
+
created_at TIMESTAMP DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 10. Requisitos Não-Funcionais
|
|
127
|
+
|
|
128
|
+
| Requisito | Alvo | Prioridade |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| Performance | Response time < 500ms | Alta |
|
|
131
|
+
| Disponibilidade | 99.9% uptime | Média |
|
|
132
|
+
| Segurança | OWASP Top 10 | Alta |
|
|
133
|
+
| Escalabilidade | Até X usuários simultâneos | Média |
|
|
134
|
+
|
|
135
|
+
## 11. Fases de Implementação
|
|
136
|
+
|
|
137
|
+
### Fase 1: Foundation
|
|
138
|
+
- [ ] Setup do projeto
|
|
139
|
+
- [ ] Modelo de dados
|
|
140
|
+
- [ ] Endpoints básicos
|
|
141
|
+
|
|
142
|
+
### Fase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 completa
|
|
144
|
+
- [ ] Feature 2 completa
|
|
145
|
+
|
|
146
|
+
### Fase 3: Polish
|
|
147
|
+
- [ ] Testes E2E
|
|
148
|
+
- [ ] Performance
|
|
149
|
+
- [ ] Documentação
|
|
150
|
+
|
|
151
|
+
## 12. Riscos e Mitigações
|
|
152
|
+
|
|
153
|
+
| Risco | Impacto | Probabilidade | Mitigação |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| | | | |
|
|
156
|
+
|
|
157
|
+
## 13. Critérios de Sucesso
|
|
158
|
+
|
|
159
|
+
- [ ] Critério 1
|
|
160
|
+
- [ ] Critério 2
|
|
161
|
+
- [ ] Critério 3
|