maestro-bundle 1.6.0 → 1.8.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 CHANGED
@@ -1,48 +1,85 @@
1
1
  # maestro-bundle
2
2
 
3
- Um comando. Bundle instalado. Agente governado. [GitHub Spec Kit](https://github.com/github/spec-kit) configurado.
3
+ Um comando. Bundle instalado. Agente governado. Zero vibing code.
4
4
 
5
5
  ```bash
6
6
  npx maestro-bundle ai-agents claude
7
7
  ```
8
8
 
9
- ## O que faz
9
+ ## Filosofia: Sem spec, sem código
10
10
 
11
- 1. Instala **AGENTS.md** + **skills** no formato correto do seu editor
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
11
+ O maestro-bundle instala tudo que o agente AI precisa para trabalhar de forma **governada** e a peça central disso é o [GitHub Spec Kit](https://github.com/github/spec-kit).
17
12
 
18
- O dev abre o editor e tem skills do bundle + LangChain skills + `/speckit.specify` funcionando.
13
+ O Spec Kit implementa **Specification-Driven Development (SDD)**: toda demanda nova ou em andamento precisa ter uma spec antes de qualquer linha de código. O agente é instruído a **recusar** implementar qualquer coisa que não tenha passado pelo fluxo:
19
14
 
20
- ### Skills extras do LangChain (apenas bundle ai-agents)
15
+ ```
16
+ /speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement
17
+ ```
21
18
 
22
- Quando você instala o bundle `ai-agents`, o CLI também instala automaticamente as 11 skills oficiais do LangChain:
19
+ Isso elimina o "vibing code" — aquele padrão onde o dev abre o Cursor e sai codando sem planejamento, sem requisitos, sem spec. Com o bundle instalado, o agente AI vai parar e perguntar: "Cadê a spec?"
23
20
 
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 |
21
+ ## O que instala
22
+
23
+ 1. **AGENTS.md** + **skills** no formato correto do editor — padrões, convenções e capacidades do agente
24
+ 2. **PRD.md** template de requisitos para o analista/dev preencher
25
+ 3. **GitHub Spec Kit** — `specify-cli` instalado + `specify init` executado no projeto, registrando os commands `/speckit.*` no editor
26
+ 4. **Constitution** princípios do projeto integrados ao Spec Kit
27
+ 5. **LangChain Skills** 11 skills oficiais extras (apenas para `ai-agents`)
28
+
29
+ ## Fluxo de trabalho
30
+
31
+ ```
32
+ ┌─────────────────────────────────────────────────────────┐
33
+ │ 1. Dev instala o bundle │
34
+ │ npx maestro-bundle ai-agents claude │
35
+ │ │
36
+ │ 2. Analista/dev preenche o PRD.md │
37
+ │ (requisitos, user stories, API spec) │
38
+ │ │
39
+ │ 3. Dev abre o editor e pede uma feature │
40
+ │ "Cria o endpoint de demands" │
41
+ │ │
42
+ │ 4. Agente PARA e inicia o fluxo SDD: │
43
+ │ /speckit.specify → spec.md │
44
+ │ /speckit.plan → plan.md │
45
+ │ /speckit.tasks → tasks.md │
46
+ │ /speckit.implement → código │
47
+ │ │
48
+ │ 5. Código é produzido seguindo: │
49
+ │ - A spec (O QUE construir) │
50
+ │ - O AGENTS.md (COMO construir) │
51
+ │ - As skills (capacidades específicas) │
52
+ │ - O PRD.md (requisitos do produto) │
53
+ └─────────────────────────────────────────────────────────┘
54
+ ```
55
+
56
+ Se a demanda já está no meio (spec existe), o agente continua de onde parou. Se é bug fix simples, pode corrigir direto. Mas feature nova sem spec? Não rola.
37
57
 
38
- ## AGENTS.md vs PRD.md
58
+ ## Arquivos do projeto: quem faz o quê
39
59
 
40
- | Arquivo | Quem escreve | O que contém | Para que serve |
60
+ | Arquivo | Quem escreve | Quando | Para quê |
41
61
  |---|---|---|---|
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 |
62
+ | **AGENTS.md** | Bundle (automático) | Na instalação | Define COMO o agente trabalha (stack, padrões, convenções) |
63
+ | **PRD.md** | Analista / Dev | Antes de codar | Define O QUE construir (user stories, API spec, modelo de dados) |
64
+ | **`.specify/specs/*/spec.md`** | Agente via `/speckit.specify` | Antes de cada feature | Especificação detalhada da feature |
65
+ | **`.specify/specs/*/plan.md`** | Agente via `/speckit.plan` | Após spec | Plano técnico (arquitetura, decisões) |
66
+ | **`.specify/specs/*/tasks.md`** | Agente via `/speckit.tasks` | Após plan | Tasks atômicas implementáveis |
67
+ | **skills/** | Bundle (automático) | Na instalação | Capacidades que o agente carrega sob demanda |
44
68
 
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.
69
+ ## Commands do Spec Kit disponíveis no editor
70
+
71
+ Após instalar o bundle, estes commands funcionam direto no editor:
72
+
73
+ | Command | Fase | O que faz |
74
+ |---|---|---|
75
+ | `/speckit.constitution` | Setup | Definir princípios e padrões do projeto |
76
+ | `/speckit.specify` | Spec | Especificar O QUE construir e POR QUÊ |
77
+ | `/speckit.plan` | Plan | Planejar arquitetura, stack, decisões técnicas |
78
+ | `/speckit.tasks` | Tasks | Quebrar em tasks atômicas implementáveis |
79
+ | `/speckit.implement` | Build | Executar todas as tasks seguindo o plano |
80
+ | `/speckit.clarify` | (opcional) | Perguntas para desambiguar requisitos |
81
+ | `/speckit.analyze` | (opcional) | Verificar consistência entre artefatos |
82
+ | `/speckit.checklist` | (opcional) | Gerar checklists de qualidade |
46
83
 
47
84
  ## Editores suportados
48
85
 
@@ -74,6 +111,8 @@ $ npx maestro-bundle ai-agents claude
74
111
  Editor: Claude Code
75
112
 
76
113
  ✔ Claude Code: AGENTS.md, CLAUDE.md → @AGENTS.md, 14 skills em .claude/skills/
114
+ ✔ PRD.md template instalado (preencha com os requisitos do produto)
115
+ ✔ 11 LangChain Skills instaladas
77
116
  ✔ 14 skills canônicas em skills/
78
117
  ✔ references/ pronto
79
118
  ✔ specify-cli v0.4.3 instalado
@@ -90,92 +129,83 @@ $ npx maestro-bundle ai-agents claude
90
129
  /speckit.implement — Executar as tasks
91
130
 
92
131
  Próximo passo:
93
- Abra o projeto no editor AI e use /speckit.specify para começar
132
+ 1. Preencha o PRD.md com os requisitos do produto
133
+ 2. Abra o projeto no editor AI
134
+ 3. Use /speckit.specify para começar a primeira feature
94
135
  ```
95
136
 
96
- ## Estrutura instalada por editor
137
+ ## Estrutura instalada
97
138
 
98
139
  ### Claude Code
99
-
100
140
  ```
101
141
  seu-projeto/
102
- ├── CLAUDE.md # @AGENTS.md (aponta pro AGENTS.md)
103
- ├── AGENTS.md # Define COMO o agente trabalha
104
- ├── PRD.md # Define O QUE construir (preencher!)
142
+ ├── CLAUDE.md # @AGENTS.md
143
+ ├── AGENTS.md # COMO o agente trabalha
144
+ ├── PRD.md # O QUE construir (preencher!)
105
145
  ├── .claude/
106
146
  │ ├── skills/ # Skills do bundle
107
147
  │ │ ├── rag-pipeline/SKILL.md
108
148
  │ │ ├── clean-architecture/SKILL.md
109
- │ │ ├── commit-pattern/SKILL.md
110
149
  │ │ └── ...
111
- │ └── commands/ # Commands do Spec Kit (gerado pelo specify init)
112
- │ ├── speckit.constitution.md
150
+ │ └── commands/ # /speckit.* (gerado pelo Spec Kit)
113
151
  │ ├── speckit.specify.md
114
152
  │ ├── speckit.plan.md
115
153
  │ ├── speckit.tasks.md
116
154
  │ └── speckit.implement.md
117
- ├── .specify/ # Spec Kit (templates, scripts, constitution)
118
- │ ├── memory/constitution.md
119
- │ ├── scripts/
120
- └── templates/
121
- ├── skills/ # Skills canônicas (para Deep Agents)
122
- └── references/
155
+ ├── .specify/ # Spec Kit
156
+ │ ├── memory/constitution.md # Princípios do projeto
157
+ │ ├── scripts/ # Scripts auxiliares
158
+ ├── templates/ # Templates para spec, plan, tasks
159
+ │ └── specs/ # Specs das features (criadas via /speckit.specify)
160
+ └── 001-feature-name/
161
+ │ ├── spec.md
162
+ │ ├── plan.md
163
+ │ └── tasks.md
164
+ ├── skills/ # Skills canônicas (Deep Agents)
165
+ └── references/ # Docs de referência
123
166
  ```
124
167
 
125
168
  ### Cursor
126
-
127
169
  ```
128
170
  seu-projeto/
129
- ├── AGENTS.md # Define COMO o agente trabalha
130
- ├── PRD.md # Define O QUE construir (preencher!)
171
+ ├── AGENTS.md # COMO o agente trabalha
172
+ ├── PRD.md # O QUE construir (preencher!)
131
173
  ├── .cursor/
132
174
  │ ├── skills/ # Skills do bundle
133
- │ ├── rag-pipeline/SKILL.md
134
- │ │ └── ...
135
- │ └── commands/ # Commands do Spec Kit
136
- │ ├── speckit.specify.md
137
- │ └── ...
138
- ├── .specify/
139
- ├── skills/
175
+ └── commands/ # /speckit.* commands
176
+ ├── .specify/ # Spec Kit (specs, plans, tasks)
177
+ ├── skills/ # Skills canônicas
140
178
  └── references/
141
179
  ```
142
180
 
143
181
  ### OpenAI Codex
144
-
145
182
  ```
146
183
  seu-projeto/
147
- ├── AGENTS.md # Define COMO o agente trabalha
148
- ├── PRD.md # Define O QUE construir (preencher!)
149
- ├── .agents/
150
- │ └── skills/ # Commands do Spec Kit (como skills)
151
- │ ├── speckit-constitution/SKILL.md
152
- │ ├── speckit-specify/SKILL.md
153
- │ └── ...
154
- ├── .specify/
184
+ ├── AGENTS.md # COMO o agente trabalha
185
+ ├── PRD.md # O QUE construir (preencher!)
186
+ ├── .agents/skills/ # speckit-* skills
187
+ ├── .specify/ # Spec Kit
155
188
  ├── skills/ # Skills canônicas
156
189
  └── references/
157
190
  ```
158
191
 
159
- ## GitHub Spec Kit SDD no editor
192
+ ## Skills extras do LangChain (bundle ai-agents)
160
193
 
161
- O bundle instala automaticamente o [GitHub Spec Kit](https://github.com/github/spec-kit) no projeto. Isso significa que ao abrir o editor o dev já pode usar:
194
+ O bundle `ai-agents` instala automaticamente as 11 skills oficiais do [LangChain](https://github.com/langchain-ai/langchain-skills):
162
195
 
163
- | Command | O que faz |
196
+ | Skill | O que faz |
164
197
  |---|---|
165
- | `/speckit.constitution` | Definir princípios e padrões do projeto |
166
- | `/speckit.specify` | Especificar O QUE construir e POR QUÊ |
167
- | `/speckit.plan` | Planejar arquitetura, stack, decisões técnicas |
168
- | `/speckit.tasks` | Quebrar em tasks atômicas implementáveis |
169
- | `/speckit.implement` | Executar todas as tasks |
170
- | `/speckit.clarify` | Fazer perguntas para desambiguar requisitos |
171
- | `/speckit.analyze` | Verificar consistência entre artefatos |
172
- | `/speckit.checklist` | Gerar checklists de qualidade |
173
-
174
- O fluxo SDD garante que ninguém sai codando sem spec:
175
-
176
- ```
177
- /speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement
178
- ```
198
+ | `framework-selection` | Escolher entre LangChain, LangGraph ou Deep Agents |
199
+ | `langchain-fundamentals` | Criar agentes com `create_agent`, tools, middleware |
200
+ | `langchain-middleware` | Human-in-the-loop, custom middleware, output estruturado |
201
+ | `langchain-rag` | RAG: document loaders, embeddings, vector stores |
202
+ | `langchain-dependencies` | Pacotes, versões, instalação |
203
+ | `langgraph-fundamentals` | StateGraph, nodes, edges, streaming |
204
+ | `langgraph-persistence` | Checkpointers, Store, time travel |
205
+ | `langgraph-human-in-the-loop` | Interrupts, aprovação humana, resume |
206
+ | `deep-agents-core` | Criar Deep Agents, harness, SKILL.md format |
207
+ | `deep-agents-memory` | Memória e persistência para Deep Agents |
208
+ | `deep-agents-orchestration` | Subagentes, planning, HITL |
179
209
 
180
210
  ## Pré-requisitos
181
211
 
@@ -200,4 +230,5 @@ npx maestro-bundle --help
200
230
 
201
231
  - [AGENTS.md](https://agents.md/) — Padrão universal para instruções de agentes AI
202
232
  - [GitHub Spec Kit](https://github.com/github/spec-kit) — Specification-Driven Development
233
+ - [LangChain Skills](https://github.com/langchain-ai/langchain-skills) — Skills oficiais LangChain
203
234
  - [Agent Skills](https://agentskills.io) — Padrão aberto para skills de agentes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-bundle",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "description": "Instala bundles de governança para projetos com AI agents. Um comando, tudo configurado.",
5
5
  "bin": {
6
6
  "maestro-bundle": "./src/cli.mjs"
package/src/cli.mjs CHANGED
@@ -33,6 +33,10 @@ const BUNDLES = {
33
33
  name: "Frontend SPA",
34
34
  desc: "React + TypeScript + Tailwind + Vite",
35
35
  },
36
+ "ai-agents-deep": {
37
+ name: "Deep Agent (tipo Claude Code)",
38
+ desc: "Python + Deep Agents SDK + LangGraph + Subagentes + Skills",
39
+ },
36
40
  };
37
41
 
38
42
  // ============================================================
@@ -321,8 +325,8 @@ async function main() {
321
325
  }
322
326
  spinner2.succeed(`${skills.length} skills canônicas em skills/`);
323
327
 
324
- // 3. LangChain Skills (apenas para bundle ai-agents)
325
- if (bundleName === "ai-agents") {
328
+ // 3. LangChain Skills (para bundles de AI)
329
+ if (bundleName === "ai-agents" || bundleName === "ai-agents-deep") {
326
330
  const spinnerLc = ora("Instalando LangChain Skills (langchain-ai/langchain-skills)").start();
327
331
  try {
328
332
  // Instalar todas as 11 skills do LangChain para o editor escolhido
@@ -4,15 +4,12 @@ Você está construindo um sistema de agentes AI com orquestração, RAG e execu
4
4
 
5
5
  ## Specification-Driven Development (SDD)
6
6
 
7
- Este projeto usa **GitHub Spec Kit** para governança. Antes de implementar qualquer demanda:
7
+ A regra fundamental de SDD está definida no bundle-base (AGENTS.md base) e é inegociável:
8
+ **Sem spec, sem código. Sem exceção.** O agente deve recusar implementar qualquer demanda que
9
+ não tenha passado pelo fluxo `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`.
8
10
 
9
- 1. Rodar `/speckit.constitution` se `.spec/constitution.md` não existir
10
- 2. Rodar `/speckit.specify` descrever O QUE e POR QUÊ (não como)
11
- 3. Rodar `/speckit.plan` — arquitetura e decisões técnicas
12
- 4. Rodar `/speckit.tasks` — quebrar em tasks atômicas
13
- 5. Rodar `/speckit.implement` — executar as tasks
14
-
15
- Nunca pular direto para código. Spec primeiro, código depois.
11
+ Se o usuário pedir para codar algo sem spec, PARE e inicie o fluxo SDD primeiro.
12
+ Consulte `.specify/specs/` para verificar se existe spec para a demanda.
16
13
 
17
14
  ## Product Requirements Document
18
15
 
@@ -0,0 +1,24 @@
1
+ # Constitution — Projeto Deep Agent
2
+
3
+ ## Princípios
4
+
5
+ 1. **Spec primeiro, código depois** — Toda demanda passa pelo fluxo SDD antes de implementação
6
+ 2. **Agent harness completo** — Todo Deep Agent tem: tools, system prompt, middleware, backend, checkpointer
7
+ 3. **Subagentes para isolamento** — Tarefas especializadas vão para subagentes, nunca bloat no main
8
+ 4. **Human-in-the-loop obrigatório** — Operações destrutivas sempre pedem aprovação
9
+ 5. **Skills on-demand** — Carregar conhecimento quando relevante, não no startup
10
+
11
+ ## Padrões de desenvolvimento
12
+
13
+ - Python 3.11+, type hints, Black + Ruff
14
+ - Tools com schemas Pydantic e descrições claras
15
+ - System prompts versionados em código
16
+ - Checkpointer obrigatório (MemorySaver dev, PostgresSaver prod)
17
+ - Backend explícito (nunca confiar no StateBackend default em prod)
18
+
19
+ ## Padrões de qualidade
20
+
21
+ - Evals com golden dataset antes de deploy
22
+ - Middleware de logging em todo agente
23
+ - Testes unitários para tools e middleware
24
+ - Cobertura mínima: 80%
@@ -0,0 +1,105 @@
1
+ # Projeto: Deep Agent (tipo Claude Code)
2
+
3
+ Você está construindo um Deep Agent — um agente AI autônomo que pode planejar, executar tarefas, gerenciar arquivos, delegar para subagentes e interagir com o usuário. Similar ao Claude Code, Cursor Agent ou Codex. Construído com o framework Deep Agents do LangChain.
4
+
5
+ ## Specification-Driven Development (SDD)
6
+
7
+ A regra fundamental de SDD está definida no bundle-base (AGENTS.md base) e é inegociável:
8
+ **Sem spec, sem código. Sem exceção.** O agente deve recusar implementar qualquer demanda que
9
+ não tenha passado pelo fluxo `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`.
10
+
11
+ Se o usuário pedir para codar algo sem spec, PARE e inicie o fluxo SDD primeiro.
12
+ Consulte `.specify/specs/` para verificar se já existe spec para a demanda.
13
+
14
+ ## Product Requirements Document
15
+
16
+ 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. Este AGENTS.md define COMO o agente deve trabalhar; o PRD define O QUE deve ser construído.
17
+
18
+ - `PRD.md` — Requisitos do produto, user stories, API spec, modelo de dados
19
+
20
+ ## Stack do projeto
21
+
22
+ - **Linguagem:** Python 3.11+
23
+ - **Framework:** Deep Agents SDK (`deepagents`)
24
+ - **Execução:** LangGraph (por baixo)
25
+ - **Modelos:** Claude (Anthropic), GPT (OpenAI), Gemini (Google), Ollama (local)
26
+ - **Backends:** StateBackend, FilesystemBackend, StoreBackend, LocalShellBackend, Sandboxes
27
+ - **API:** FastAPI (para servir o agente como API)
28
+ - **Observabilidade:** LangSmith ou Langfuse
29
+ - **Testes:** Pytest + evals customizados
30
+
31
+ ## Estrutura do projeto
32
+
33
+ ```
34
+ src/
35
+ ├── agent/ # Definição do Deep Agent principal
36
+ │ ├── main.py # create_deep_agent + configuração
37
+ │ ├── tools.py # Tools customizadas
38
+ │ ├── subagents.py # Definição de subagentes
39
+ │ ├── middleware.py # Middleware customizado
40
+ │ └── prompts.py # System prompts versionados
41
+ ├── skills/ # Skills que o agente pode carregar
42
+ │ ├── code-review/SKILL.md
43
+ │ ├── deploy/SKILL.md
44
+ │ └── ...
45
+ ├── backends/ # Configuração de backends
46
+ │ ├── filesystem.py
47
+ │ ├── store.py
48
+ │ └── composite.py
49
+ ├── api/ # Servir agente como API (opcional)
50
+ │ ├── server.py # FastAPI
51
+ │ └── websocket.py # Streaming via WebSocket
52
+ ├── evals/ # Avaliação do agente
53
+ │ ├── golden_dataset.json
54
+ │ ├── evaluators.py
55
+ │ └── run_evals.py
56
+ └── config/
57
+ ├── settings.py
58
+ └── models.py
59
+ ```
60
+
61
+ ## Padrões de código
62
+
63
+ - Máximo 500 linhas por arquivo, 20 linhas por função
64
+ - Type hints em funções públicas
65
+ - f-strings, Black + Ruff
66
+ - Nomes descritivos, guard clauses
67
+ - Tratar exceções com tipos específicos
68
+
69
+ ## Padrões de Deep Agent
70
+
71
+ - System prompts versionados em `prompts.py`, nunca hardcoded
72
+ - Tools com schemas Pydantic e descrições claras
73
+ - Cada subagente tem UMA responsabilidade
74
+ - Human-in-the-loop para operações destrutivas (delete, deploy, email)
75
+ - Timeout e max_iterations em todo agente
76
+ - Checkpointer obrigatório para persistência de estado
77
+ - Backend explícito (nunca confiar no default em produção)
78
+ - Skills carregadas on-demand, nunca todas no system prompt
79
+
80
+ ## Middleware obrigatório
81
+
82
+ O Deep Agent já vem com middleware padrão que não deve ser desabilitado:
83
+ - **TodoListMiddleware** — Planejamento de tarefas
84
+ - **FilesystemMiddleware** — Gerenciamento de arquivos
85
+ - **SubAgentMiddleware** — Delegação para subagentes
86
+ - **SummarizationMiddleware** — Compressão de contexto
87
+
88
+ ## Git
89
+
90
+ - Commits: `feat(agent): adicionar tool de busca semântica`
91
+ - Branches: `feature/<componente>-<descricao>`
92
+ - Nunca commitar API keys, .env
93
+
94
+ ## Testes
95
+
96
+ - Testes unitários para tools e middleware
97
+ - Testes de integração para o agente completo
98
+ - Evals com golden dataset + LLM-as-judge
99
+ - Cobertura mínima: 80%
100
+
101
+ ## References
102
+
103
+ - `references/deep-agents-api.md` — API reference do Deep Agents SDK
104
+ - `references/backends-guide.md` — Guia de backends e quando usar cada um
105
+ - `references/middleware-guide.md` — Middleware padrão e customizado
@@ -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