@dewtech/dare-cli 2.10.0 → 2.12.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 +19 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/core/types/project.d.ts +3 -0
- package/dist/core/types/project.d.ts.map +1 -1
- package/dist/utils/project-generator.d.ts +2 -0
- package/dist/utils/project-generator.d.ts.map +1 -1
- package/dist/utils/project-generator.js +123 -29
- package/dist/utils/project-generator.js.map +1 -1
- package/dist/utils/stack-bootstrap.d.ts +5 -0
- package/dist/utils/stack-bootstrap.d.ts.map +1 -1
- package/dist/utils/stack-bootstrap.js +19 -12
- package/dist/utils/stack-bootstrap.js.map +1 -1
- package/package.json +1 -1
- package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -53
- package/templates/ide/antigravity/templates/DESIGN-template.md +129 -34
- package/templates/ide/antigravity/templates/TASK-SPEC-template.md +100 -43
- package/templates/ide/claude/.claude/commands/dare-blueprint.md +87 -81
- package/templates/ide/claude/.claude/commands/dare-design.md +45 -31
- package/templates/ide/claude/.claude/commands/dare-execute.md +131 -52
- package/templates/ide/claude/.claude/commands/dare-security.md +232 -0
- package/templates/ide/claude/CLAUDE.md +38 -10
- package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -53
- package/templates/ide/claude/templates/DESIGN-template.md +129 -34
- package/templates/ide/claude/templates/TASK-SPEC-template.md +100 -43
- package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +51 -21
- package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -18
- package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -57
- package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -53
- package/templates/ide/cursor/templates/DESIGN-template.md +129 -34
- package/templates/ide/cursor/templates/TASK-SPEC-template.md +100 -43
|
@@ -25,7 +25,7 @@ export async function bootstrapBackend(opts) {
|
|
|
25
25
|
case 'python-fastapi':
|
|
26
26
|
return bootstrapPythonFastapi(opts.dir, mode);
|
|
27
27
|
case 'rust-axum':
|
|
28
|
-
return bootstrapRustAxum(opts.dir, opts.projectName, mode);
|
|
28
|
+
return bootstrapRustAxum(opts.dir, opts.projectName, mode, opts.isMonorepo ?? false);
|
|
29
29
|
case 'go-gin':
|
|
30
30
|
return bootstrapGoGin(opts.dir, opts.projectName, mode);
|
|
31
31
|
case 'go-stdlib':
|
|
@@ -46,10 +46,10 @@ export async function bootstrapFrontend(opts) {
|
|
|
46
46
|
await tryRenameNpmProject(opts.dir, opts.projectName);
|
|
47
47
|
break;
|
|
48
48
|
case 'rust-leptos':
|
|
49
|
-
await bootstrapLeptosFullstack(opts.dir, opts.projectName, mode);
|
|
49
|
+
await bootstrapLeptosFullstack(opts.dir, opts.projectName, mode, opts.isMonorepo ?? false);
|
|
50
50
|
break;
|
|
51
51
|
case 'rust-leptos-csr':
|
|
52
|
-
await bootstrapLeptosCsr(opts.dir, opts.projectName, mode);
|
|
52
|
+
await bootstrapLeptosCsr(opts.dir, opts.projectName, mode, opts.isMonorepo ?? false);
|
|
53
53
|
break;
|
|
54
54
|
default:
|
|
55
55
|
throw new Error(`Unknown frontend stack: ${opts.stack}`);
|
|
@@ -254,7 +254,7 @@ async function bootstrapPythonFastapi(dir, mode) {
|
|
|
254
254
|
await python.runOther(venvPython, ['-m', 'pip', 'install', '--upgrade', 'pip']);
|
|
255
255
|
await python.runOther(venvPython, ['-m', 'pip', 'install', '-r', 'requirements.txt']);
|
|
256
256
|
}
|
|
257
|
-
async function bootstrapRustAxum(dir, projectName, mode) {
|
|
257
|
+
async function bootstrapRustAxum(dir, projectName, mode, isMonorepo = false) {
|
|
258
258
|
banner(`Bootstrapping Rust + Axum in ${dir}`);
|
|
259
259
|
const cargo = await StackTool.resolve({
|
|
260
260
|
nativeCmd: 'cargo',
|
|
@@ -264,7 +264,9 @@ async function bootstrapRustAxum(dir, projectName, mode) {
|
|
|
264
264
|
dir,
|
|
265
265
|
mode,
|
|
266
266
|
});
|
|
267
|
-
|
|
267
|
+
// --vcs none when inside a workspace — the workspace root owns the .git
|
|
268
|
+
const vcsArgs = isMonorepo ? ['--vcs', 'none'] : [];
|
|
269
|
+
await cargo.run(['init', '--name', sanitizeCrateName(projectName), ...vcsArgs]);
|
|
268
270
|
const cargoToml = path.join(dir, 'Cargo.toml');
|
|
269
271
|
await fs.writeFile(cargoToml, [
|
|
270
272
|
`[package]`,
|
|
@@ -548,7 +550,7 @@ func Recover(next http.Handler) http.Handler {
|
|
|
548
550
|
`);
|
|
549
551
|
await go.run(['mod', 'tidy']);
|
|
550
552
|
}
|
|
551
|
-
async function bootstrapLeptosFullstack(dir, projectName, mode) {
|
|
553
|
+
async function bootstrapLeptosFullstack(dir, projectName, mode, isMonorepo) {
|
|
552
554
|
banner(`Bootstrapping Leptos fullstack (SSR + WASM) in ${dir}`);
|
|
553
555
|
const cargo = await StackTool.resolve({
|
|
554
556
|
nativeCmd: 'cargo',
|
|
@@ -741,16 +743,19 @@ button {
|
|
|
741
743
|
cursor: pointer;
|
|
742
744
|
}
|
|
743
745
|
`);
|
|
744
|
-
// .cargo/config.toml —
|
|
745
|
-
//
|
|
746
|
-
|
|
746
|
+
// .cargo/config.toml — only needed when this crate is the workspace root.
|
|
747
|
+
// In a monorepo the root Cargo workspace already has this file; writing it
|
|
748
|
+
// inside the frontend/ member dir is redundant and can confuse tooling.
|
|
749
|
+
if (!isMonorepo) {
|
|
750
|
+
await fs.writeFile(path.join(dir, '.cargo', 'config.toml'), `# DARE: Do NOT add a global [build] target here.
|
|
747
751
|
# Mixed workspaces (Leptos WASM + native crates like napi-rs or aya) will break
|
|
748
752
|
# if cargo tries to compile all crates for the same target.
|
|
749
753
|
# cargo-leptos manages wasm32-unknown-unknown target per-crate automatically.
|
|
750
754
|
`);
|
|
755
|
+
}
|
|
751
756
|
await cargo.run(['fetch']);
|
|
752
757
|
}
|
|
753
|
-
async function bootstrapLeptosCsr(dir, projectName, mode) {
|
|
758
|
+
async function bootstrapLeptosCsr(dir, projectName, mode, isMonorepo) {
|
|
754
759
|
banner(`Bootstrapping Leptos CSR (WASM + trunk) in ${dir}`);
|
|
755
760
|
const cargo = await StackTool.resolve({
|
|
756
761
|
nativeCmd: 'cargo',
|
|
@@ -856,10 +861,12 @@ button {
|
|
|
856
861
|
cursor: pointer;
|
|
857
862
|
}
|
|
858
863
|
`);
|
|
859
|
-
// .cargo/config.toml
|
|
860
|
-
|
|
864
|
+
// .cargo/config.toml — omit when inside a Cargo workspace (root already has it)
|
|
865
|
+
if (!isMonorepo) {
|
|
866
|
+
await fs.writeFile(path.join(dir, '.cargo', 'config.toml'), `# DARE: Do NOT add a global [build] target here.
|
|
861
867
|
# trunk manages wasm32-unknown-unknown target automatically via its own build pipeline.
|
|
862
868
|
`);
|
|
869
|
+
}
|
|
863
870
|
await cargo.run(['fetch']);
|
|
864
871
|
}
|
|
865
872
|
async function bootstrapVite(dir, template, mode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,53 +1,193 @@
|
|
|
1
|
-
# BLUEPRINT
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
1
|
+
# BLUEPRINT: [Nome do Projeto]
|
|
2
|
+
|
|
3
|
+
> **Gerado a partir de:** `DARE/DESIGN.md` v[X.Y]
|
|
4
|
+
> **Data:** YYYY-MM-DD | **Status:** DRAFT → APROVADO
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. VISÃO GERAL DA ARQUITETURA
|
|
9
|
+
|
|
10
|
+
[Descrição da arquitetura: Monolito modular / Microserviços / Hexagonal / Clean Architecture]
|
|
11
|
+
|
|
12
|
+
```mermaid
|
|
13
|
+
graph TD
|
|
14
|
+
A[Cliente] --> B[API Gateway / BFF]
|
|
15
|
+
B --> C[Auth Service]
|
|
16
|
+
B --> D[Core Service]
|
|
17
|
+
D --> E[(PostgreSQL)]
|
|
18
|
+
D --> F[(Redis)]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Decisões arquiteturais principais:**
|
|
22
|
+
|
|
23
|
+
| Decisão | Escolha | Justificativa |
|
|
24
|
+
|---------|---------|---------------|
|
|
25
|
+
| Padrão de módulos | [ex: Hexagonal] | [motivo] |
|
|
26
|
+
| Comunicação inter-serviços | [ex: REST síncrono] | [motivo] |
|
|
27
|
+
| Autenticação | [ex: JWT stateless] | [motivo] |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. STACK TÉCNICA DEFINIDA
|
|
32
|
+
|
|
33
|
+
| Camada | Tecnologia | Versão | Papel |
|
|
34
|
+
|--------|-----------|--------|-------|
|
|
35
|
+
| Linguagem | | | |
|
|
36
|
+
| Framework | | | |
|
|
37
|
+
| Banco principal | | | |
|
|
38
|
+
| Cache / filas | | | |
|
|
39
|
+
| Frontend | | | |
|
|
40
|
+
| Container | Docker | latest | Dev + CI |
|
|
41
|
+
| Observabilidade | | | Logs, métricas, traces |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. ESTRUTURA DE PASTAS E ARQUIVOS
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
[nome-do-projeto]/
|
|
49
|
+
├── [diretório principal]/
|
|
50
|
+
│ ├── [módulo 1]/
|
|
51
|
+
│ └── [módulo 2]/
|
|
52
|
+
├── DARE/
|
|
53
|
+
│ ├── DESIGN.md
|
|
54
|
+
│ ├── BLUEPRINT.md
|
|
55
|
+
│ ├── TASKS.md
|
|
56
|
+
│ ├── dare-dag.yaml
|
|
57
|
+
│ └── EXECUTION/
|
|
58
|
+
├── Dockerfile
|
|
59
|
+
├── docker-compose.yml
|
|
60
|
+
└── [arquivo de configuração principal]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
> **Constraints de workspace (Rust):** se Cargo workspace, NÃO definir `[build] target` global no `.cargo/config.toml` (quebra crates WASM + native). Cada crate declara suas próprias features Leptos.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 4. MODELO DE DADOS
|
|
68
|
+
|
|
69
|
+
### Entidades principais
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
[Entidade 1]
|
|
73
|
+
- id: UUID (PK)
|
|
74
|
+
- [campo]: [tipo] [restrições]
|
|
75
|
+
- created_at, updated_at
|
|
76
|
+
|
|
77
|
+
[Entidade 2]
|
|
78
|
+
- id: UUID (PK)
|
|
79
|
+
- [entidade_1_id]: FK → Entidade1
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Relacionamentos
|
|
83
|
+
|
|
84
|
+
| De | Para | Cardinalidade | Via |
|
|
85
|
+
|----|------|---------------|-----|
|
|
86
|
+
| [Entidade 1] | [Entidade 2] | 1:N | FK |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 5. CONTRATOS DE API
|
|
91
|
+
|
|
92
|
+
| Método | Endpoint | Auth | Request Body | Response | Status codes |
|
|
93
|
+
|--------|----------|------|-------------|----------|--------------|
|
|
94
|
+
| POST | `/api/v1/[recurso]` | Não | `{campo1, campo2}` | `{id, ...}` | 201, 400, 422 |
|
|
95
|
+
| GET | `/api/v1/[recurso]` | JWT | — | `[{id, ...}]` | 200, 401 |
|
|
96
|
+
| GET | `/api/v1/[recurso]/:id` | JWT | — | `{id, ...}` | 200, 401, 404 |
|
|
97
|
+
| PUT | `/api/v1/[recurso]/:id` | JWT + Owner | `{campos}` | `{id, ...}` | 200, 401, 403, 404 |
|
|
98
|
+
| DELETE | `/api/v1/[recurso]/:id` | JWT + Admin | — | `{}` | 204, 401, 403, 404 |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 6. PLANO DE EXECUÇÃO (FASES)
|
|
103
|
+
|
|
104
|
+
### Fase 1: Containerização e Setup ← **SEMPRE PRIMEIRA**
|
|
105
|
+
**Critério de DONE:** `docker compose up -d` sobe sem erros; healthcheck `/health` retorna 200.
|
|
106
|
+
- Dockerfile multi-stage
|
|
107
|
+
- docker-compose.yml com todos os serviços
|
|
108
|
+
- Variáveis de ambiente via `.env.example`
|
|
109
|
+
|
|
110
|
+
### Fase 2: Banco de Dados e Migrations
|
|
111
|
+
**Critério de DONE:** migrations rodando; schema validado; seeds de desenvolvimento funcionando.
|
|
112
|
+
- Migrations / schema inicial
|
|
113
|
+
- Seeds de desenvolvimento
|
|
114
|
+
- Índices para queries críticas
|
|
115
|
+
|
|
116
|
+
### Fase 3: Autenticação e Autorização
|
|
117
|
+
**Critério de DONE:** login retorna JWT; endpoint protegido rejeita token inválido com 401; acesso sem permissão retorna 403.
|
|
118
|
+
- Registro, login, refresh, logout
|
|
119
|
+
- Middleware de autenticação
|
|
120
|
+
- Sistema de permissões (RBAC/ACL)
|
|
121
|
+
|
|
122
|
+
### Fase 4: [Módulo de negócio principal]
|
|
123
|
+
**Critério de DONE:** [comportamento testável esperado].
|
|
124
|
+
- [Descrever aqui]
|
|
125
|
+
|
|
126
|
+
### Fase N-1: Auditoria de Segurança e Dependências
|
|
127
|
+
**Critério de DONE:** `[audit-cmd]` sem CVE HIGH/CRITICAL; security headers presentes; sem secrets em código.
|
|
128
|
+
- `npm audit --audit-level=high` / `cargo audit` / `pip-audit` / `composer audit`
|
|
129
|
+
- Headers HTTP de segurança (HSTS, CSP, X-Frame-Options)
|
|
130
|
+
- Scan de secrets no repositório
|
|
131
|
+
|
|
132
|
+
### Fase N: Observabilidade e Documentação
|
|
133
|
+
**Critério de DONE:** logs estruturados em JSON; endpoint `/metrics` ou equivalente; documentação API gerada.
|
|
134
|
+
- Logs estruturados (JSON) com trace-id
|
|
135
|
+
- Métricas de negócio e técnicas
|
|
136
|
+
- Documentação API (OpenAPI / Swagger)
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 7. VALIDAÇÃO E SEGURANÇA
|
|
141
|
+
|
|
142
|
+
### Validation Gates (Ralph Loop) por stack
|
|
143
|
+
|
|
144
|
+
| Stack | Build | Test | Lint/Audit |
|
|
145
|
+
|-------|-------|------|------------|
|
|
146
|
+
| Rust/Axum | `cargo build` | `cargo test --workspace` | `cargo clippy && cargo audit` |
|
|
147
|
+
| Node/NestJS | `npm run build` | `npm test` | `npx eslint src && npm audit --audit-level=high` |
|
|
148
|
+
| Python/FastAPI | `python -m py_compile` | `pytest` | `ruff check . && pip-audit` |
|
|
149
|
+
| PHP/Laravel | `php artisan config:cache` | `php artisan test` | `./vendor/bin/phpstan && composer audit` |
|
|
150
|
+
| Go | `go build ./...` | `go test ./...` | `golangci-lint run` |
|
|
151
|
+
|
|
152
|
+
### Controles de segurança obrigatórios
|
|
153
|
+
|
|
154
|
+
- [ ] Rate limiting em endpoints de autenticação e públicos
|
|
155
|
+
- [ ] Input validation no servidor para todos os endpoints
|
|
156
|
+
- [ ] Dados sensíveis (PII, tokens, senhas) nunca em logs
|
|
157
|
+
- [ ] Todas as dependências sem CVE HIGH/CRITICAL (ver Fase N-1)
|
|
158
|
+
- [ ] HTTP Security Headers em produção
|
|
159
|
+
- [ ] Secrets apenas em variáveis de ambiente / vault
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 8. ESTRATÉGIA DE TESTES
|
|
164
|
+
|
|
165
|
+
| Tipo | Ferramenta | Cobertura mínima | O que cobre |
|
|
166
|
+
|------|-----------|------------------|-------------|
|
|
167
|
+
| Unitários | [jest/pytest/cargo test] | 80 % das funções críticas | Lógica de negócio isolada |
|
|
168
|
+
| Integração | [supertest/httpx/reqwest] | Todos os endpoints | Contrato da API |
|
|
169
|
+
| Segurança | [npm audit/cargo audit/pip-audit] | 100 % deps | CVEs conhecidos |
|
|
170
|
+
| E2E | [playwright/cypress] se frontend | Fluxo principal | Jornada do usuário |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 9. ESTRATÉGIA DE DEPLOY
|
|
175
|
+
|
|
176
|
+
| Ambiente | Branch | Trigger | Infra |
|
|
177
|
+
|----------|--------|---------|-------|
|
|
178
|
+
| `dev` | `develop` | Push automático | [ex: Docker local / Railway] |
|
|
179
|
+
| `staging` | `main` | PR merge | [ex: OKE / ECS / Fly.io] |
|
|
180
|
+
| `prod` | tag `v*.*.*` | Manual | [ex: OKE / ECS / Fly.io] |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 10. CHECKLIST DE APROVAÇÃO DO BLUEPRINT
|
|
185
|
+
|
|
186
|
+
- [ ] Arquitetura revisada e aprovada
|
|
187
|
+
- [ ] Modelo de dados validado
|
|
188
|
+
- [ ] Contratos de API definidos e completos
|
|
189
|
+
- [ ] Fases com critérios de DONE claros
|
|
190
|
+
- [ ] Validation gates por stack definidos
|
|
191
|
+
- [ ] Controles de segurança mapeados
|
|
192
|
+
- [ ] Estratégia de testes cobrindo todos os tipos
|
|
193
|
+
- [ ] DAG de tasks gerado (`dare-dag.yaml`)
|
|
@@ -1,34 +1,129 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
# DESIGN: [Nome do Projeto / Feature]
|
|
2
|
+
|
|
3
|
+
> **Versão:** v1.0 | **Data:** YYYY-MM-DD | **Status:** DRAFT → APROVADO
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. DESCRIÇÃO
|
|
8
|
+
|
|
9
|
+
[O que é o sistema e qual problema ele resolve — 3 a 5 frases claras e objetivas. Evite jargão.]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 2. OBJETIVOS E MÉTRICAS DE SUCESSO
|
|
14
|
+
|
|
15
|
+
| # | Objetivo | Métrica verificável | Meta |
|
|
16
|
+
|---|----------|---------------------|------|
|
|
17
|
+
| O-01 | [ex: Reduzir tempo de resposta da API] | p99 latência em produção | < 200 ms |
|
|
18
|
+
| O-02 | [ex: Aumentar cobertura de testes] | `coverage --summary` | > 80 % |
|
|
19
|
+
| O-03 | | | |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 3. STAKEHOLDERS
|
|
24
|
+
|
|
25
|
+
| Papel | Nome / Time | Interesse principal |
|
|
26
|
+
|-------|-------------|---------------------|
|
|
27
|
+
| Product Owner | | Aprovação de scope e prioridades |
|
|
28
|
+
| Tech Lead | | Decisões arquiteturais |
|
|
29
|
+
| Usuário Final | | [Persona] — [necessidade] |
|
|
30
|
+
| Operações / SRE | | SLA, alertas, deploys |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 4. REQUISITOS FUNCIONAIS
|
|
35
|
+
|
|
36
|
+
| ID | Requisito | Prioridade | Critério de aceite |
|
|
37
|
+
|----|-----------|------------|--------------------|
|
|
38
|
+
| RF-01 | | MUST | |
|
|
39
|
+
| RF-02 | | SHOULD | |
|
|
40
|
+
| RF-03 | | COULD | |
|
|
41
|
+
|
|
42
|
+
> Prioridades: **MUST** (bloqueia v1) · **SHOULD** (importante, mas não bloqueia) · **COULD** (nice to have)
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 5. REQUISITOS NÃO-FUNCIONAIS
|
|
47
|
+
|
|
48
|
+
| ID | Categoria | Requisito | Meta |
|
|
49
|
+
|----|-----------|-----------|------|
|
|
50
|
+
| RNF-01 | Performance | [ex: API responde dentro do SLA] | p95 < 500 ms |
|
|
51
|
+
| RNF-02 | Disponibilidade | [ex: uptime mensal] | ≥ 99,5 % |
|
|
52
|
+
| RNF-03 | Segurança | Autenticação obrigatória em todos os endpoints sensíveis | JWT + refresh |
|
|
53
|
+
| RNF-04 | Segurança | Rate limiting em endpoints públicos | ≤ 60 req/min/IP |
|
|
54
|
+
| RNF-05 | Segurança | Dados sensíveis (PII, tokens) nunca em logs | auditoria automática |
|
|
55
|
+
| RNF-06 | Observabilidade | Logs estruturados (JSON) com trace-id | OpenTelemetry |
|
|
56
|
+
| RNF-07 | Manutenibilidade | Cobertura de testes | > 80 % |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 6. REQUISITOS DE SEGURANÇA
|
|
61
|
+
|
|
62
|
+
| ID | Requisito | Referência |
|
|
63
|
+
|----|-----------|------------|
|
|
64
|
+
| RS-01 | Todas as entradas do usuário validadas no servidor antes de qualquer processamento | OWASP A03 |
|
|
65
|
+
| RS-02 | Senhas e segredos nunca armazenados em texto plano; hash Argon2/Bcrypt | OWASP A02 |
|
|
66
|
+
| RS-03 | Controle de acesso verificado por recurso (não só por rota) | OWASP A01 |
|
|
67
|
+
| RS-04 | Dependências auditadas antes de cada release (sem CVE HIGH/CRITICAL) | OWASP A06 |
|
|
68
|
+
| RS-05 | Segredos gerenciados via variáveis de ambiente / vault — nunca em código | Supply chain |
|
|
69
|
+
| RS-06 | [Requisito específico do domínio] | |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 7. STACK TÉCNICA
|
|
74
|
+
|
|
75
|
+
| Camada | Tecnologia | Versão |
|
|
76
|
+
|--------|-----------|--------|
|
|
77
|
+
| Linguagem / Runtime | | |
|
|
78
|
+
| Framework principal | | |
|
|
79
|
+
| Banco de dados | | |
|
|
80
|
+
| Cache | | |
|
|
81
|
+
| Frontend | | |
|
|
82
|
+
| Infra / deploy | | |
|
|
83
|
+
| Observabilidade | | |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 8. INTEGRAÇÕES EXTERNAS
|
|
88
|
+
|
|
89
|
+
| Sistema | Tipo | Protocolo | Direção | Dados trocados | Responsável |
|
|
90
|
+
|---------|------|-----------|---------|----------------|-------------|
|
|
91
|
+
| [ex: Stripe] | Pagamento | REST/webhook | Saída + entrada | Cobrança, confirmação | Time Pagamentos |
|
|
92
|
+
| [ex: Auth0] | IdP | OIDC | Entrada | ID Token, Claims | Time Auth |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 9. RESTRIÇÕES
|
|
97
|
+
|
|
98
|
+
- **Prazo:** [Data de entrega ou milestone]
|
|
99
|
+
- **Orçamento de infra:** [Limite de custo mensal ou por request]
|
|
100
|
+
- **Limitações técnicas:** [ex: não pode usar banco NoSQL; deve usar Go ≥ 1.22]
|
|
101
|
+
- **Regulatórias / Compliance:** [ex: LGPD, GDPR, SOC 2, PCI-DSS se aplicável]
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 10. FORA DO ESCOPO (v1)
|
|
106
|
+
|
|
107
|
+
- [Funcionalidade adiada para v2 — e o motivo]
|
|
108
|
+
- [Caso de uso que NÃO será tratado nesta versão]
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 11. RISCOS E MITIGAÇÕES
|
|
113
|
+
|
|
114
|
+
| # | Risco | Probabilidade | Impacto | Mitigação |
|
|
115
|
+
|---|-------|---------------|---------|-----------|
|
|
116
|
+
| R-01 | [ex: Latência alta no serviço de terceiros] | Média | Alto | Circuit breaker + fallback |
|
|
117
|
+
| R-02 | [ex: Falta de dados históricos para ML] | Alta | Médio | Dataset sintético inicial |
|
|
118
|
+
| R-03 | | | | |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 12. CHECKLIST DE APROVAÇÃO
|
|
123
|
+
|
|
124
|
+
- [ ] Requisitos funcionais revisados e priorizados
|
|
125
|
+
- [ ] Requisitos de segurança validados pelo Tech Lead
|
|
126
|
+
- [ ] Stack técnica aprovada
|
|
127
|
+
- [ ] Integrações externas confirmadas com responsáveis
|
|
128
|
+
- [ ] Fora do escopo alinhado com Product Owner
|
|
129
|
+
- [ ] Riscos críticos com mitigação definida
|