maestro-bundle 1.8.0 → 2.0.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/LICENSE +21 -0
- package/README.md +139 -169
- package/package.json +2 -2
- package/src/cli.mjs +75 -75
- package/templates/bundle-ai-agents/.spec/constitution.md +24 -24
- package/templates/bundle-ai-agents/AGENTS.md +71 -71
- package/templates/bundle-ai-agents/PRD_TEMPLATE.md +63 -63
- package/templates/bundle-ai-agents-deep/.spec/constitution.md +17 -17
- package/templates/bundle-ai-agents-deep/AGENTS.md +58 -58
- package/templates/bundle-ai-agents-deep/PRD_TEMPLATE.md +63 -63
- package/templates/bundle-ai-agents-deep/skills/deep-agent-memory/SKILL.md +158 -158
- package/templates/bundle-base/AGENTS.md +99 -99
- package/templates/bundle-data-pipeline/.spec/constitution.md +23 -23
- package/templates/bundle-data-pipeline/AGENTS.md +68 -68
- package/templates/bundle-data-pipeline/PRD_TEMPLATE.md +63 -63
- package/templates/bundle-frontend-spa/.spec/constitution.md +21 -21
- package/templates/bundle-frontend-spa/AGENTS.md +58 -58
- package/templates/bundle-frontend-spa/PRD_TEMPLATE.md +63 -63
- package/templates/bundle-jhipster-microservices/.spec/constitution.md +31 -31
- package/templates/bundle-jhipster-microservices/AGENTS.md +70 -70
- package/templates/bundle-jhipster-microservices/PRD_TEMPLATE.md +63 -63
- package/templates/bundle-jhipster-monorepo/.spec/constitution.md +22 -22
- package/templates/bundle-jhipster-monorepo/AGENTS.md +64 -64
- package/templates/bundle-jhipster-monorepo/PRD_TEMPLATE.md +63 -63
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Project: Deep Agent (Claude Code-like)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
You are building a Deep Agent — an autonomous AI agent that can plan, execute tasks, manage files, delegate to subagents, and interact with the user. Similar to Claude Code, Cursor Agent, or Codex. Built with the LangChain Deep Agents framework.
|
|
4
4
|
|
|
5
5
|
## Specification-Driven Development (SDD)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
**
|
|
9
|
-
|
|
7
|
+
The fundamental SDD rule is defined in the bundle-base (base AGENTS.md) and is non-negotiable:
|
|
8
|
+
**No spec, no code. No exception.** The agent must refuse to implement any demand that
|
|
9
|
+
has not gone through the `/speckit.specify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement` flow.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
If the user asks to code something without a spec, STOP and initiate the SDD flow first.
|
|
12
|
+
Check `.specify/specs/` to verify if a spec already exists for the demand.
|
|
13
13
|
|
|
14
14
|
## Product Requirements Document
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
The `PRD.md` file at the project root contains the product requirements defined by the analyst/dev. Consult it to understand WHAT to build. This AGENTS.md defines HOW the agent should work; the PRD defines WHAT should be built.
|
|
17
17
|
|
|
18
|
-
- `PRD.md` —
|
|
18
|
+
- `PRD.md` — Product requirements, user stories, API spec, data model
|
|
19
19
|
|
|
20
|
-
## Stack
|
|
20
|
+
## Project Stack
|
|
21
21
|
|
|
22
|
-
- **
|
|
22
|
+
- **Language:** Python 3.11+
|
|
23
23
|
- **Framework:** Deep Agents SDK (`deepagents`)
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
24
|
+
- **Execution:** LangGraph (under the hood)
|
|
25
|
+
- **Models:** Claude (Anthropic), GPT (OpenAI), Gemini (Google), Ollama (local)
|
|
26
26
|
- **Backends:** StateBackend, FilesystemBackend, StoreBackend, LocalShellBackend, Sandboxes
|
|
27
|
-
- **API:** FastAPI (
|
|
28
|
-
- **
|
|
29
|
-
- **
|
|
27
|
+
- **API:** FastAPI (to serve the agent as an API)
|
|
28
|
+
- **Observability:** LangSmith or Langfuse
|
|
29
|
+
- **Tests:** Pytest + custom evals
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Project Structure
|
|
32
32
|
|
|
33
33
|
```
|
|
34
34
|
src/
|
|
35
|
-
├── agent/ #
|
|
36
|
-
│ ├── main.py # create_deep_agent +
|
|
37
|
-
│ ├── tools.py #
|
|
38
|
-
│ ├── subagents.py #
|
|
39
|
-
│ ├── middleware.py #
|
|
40
|
-
│ └── prompts.py #
|
|
41
|
-
├── skills/ # Skills
|
|
35
|
+
├── agent/ # Main Deep Agent definition
|
|
36
|
+
│ ├── main.py # create_deep_agent + configuration
|
|
37
|
+
│ ├── tools.py # Custom tools
|
|
38
|
+
│ ├── subagents.py # Subagent definitions
|
|
39
|
+
│ ├── middleware.py # Custom middleware
|
|
40
|
+
│ └── prompts.py # Versioned system prompts
|
|
41
|
+
├── skills/ # Skills the agent can load
|
|
42
42
|
│ ├── code-review/SKILL.md
|
|
43
43
|
│ ├── deploy/SKILL.md
|
|
44
44
|
│ └── ...
|
|
45
|
-
├── backends/ #
|
|
45
|
+
├── backends/ # Backend configuration
|
|
46
46
|
│ ├── filesystem.py
|
|
47
47
|
│ ├── store.py
|
|
48
48
|
│ └── composite.py
|
|
49
|
-
├── api/ #
|
|
49
|
+
├── api/ # Serve agent as API (optional)
|
|
50
50
|
│ ├── server.py # FastAPI
|
|
51
51
|
│ └── websocket.py # Streaming via WebSocket
|
|
52
|
-
├── evals/ #
|
|
52
|
+
├── evals/ # Agent evaluation
|
|
53
53
|
│ ├── golden_dataset.json
|
|
54
54
|
│ ├── evaluators.py
|
|
55
55
|
│ └── run_evals.py
|
|
@@ -58,48 +58,48 @@ src/
|
|
|
58
58
|
└── models.py
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## Code Standards
|
|
62
62
|
|
|
63
|
-
-
|
|
64
|
-
- Type hints
|
|
63
|
+
- Maximum 500 lines per file, 20 lines per function
|
|
64
|
+
- Type hints on public functions
|
|
65
65
|
- f-strings, Black + Ruff
|
|
66
|
-
-
|
|
67
|
-
-
|
|
66
|
+
- Descriptive names, guard clauses
|
|
67
|
+
- Handle exceptions with specific types
|
|
68
68
|
|
|
69
|
-
##
|
|
69
|
+
## Deep Agent Standards
|
|
70
70
|
|
|
71
|
-
- System prompts
|
|
72
|
-
- Tools
|
|
73
|
-
-
|
|
74
|
-
- Human-in-the-loop
|
|
75
|
-
- Timeout
|
|
76
|
-
- Checkpointer
|
|
77
|
-
-
|
|
78
|
-
- Skills
|
|
71
|
+
- System prompts versioned in `prompts.py`, never hardcoded
|
|
72
|
+
- Tools with Pydantic schemas and clear descriptions
|
|
73
|
+
- Each subagent has ONE responsibility
|
|
74
|
+
- Human-in-the-loop for destructive operations (delete, deploy, email)
|
|
75
|
+
- Timeout and max_iterations on every agent
|
|
76
|
+
- Checkpointer mandatory for state persistence
|
|
77
|
+
- Explicit backend (never rely on the default in production)
|
|
78
|
+
- Skills loaded on-demand, never all in the system prompt
|
|
79
79
|
|
|
80
|
-
## Middleware
|
|
80
|
+
## Mandatory Middleware
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
- **TodoListMiddleware** —
|
|
84
|
-
- **FilesystemMiddleware** —
|
|
85
|
-
- **SubAgentMiddleware** —
|
|
86
|
-
- **SummarizationMiddleware** —
|
|
82
|
+
The Deep Agent comes with default middleware that should not be disabled:
|
|
83
|
+
- **TodoListMiddleware** — Task planning
|
|
84
|
+
- **FilesystemMiddleware** — File management
|
|
85
|
+
- **SubAgentMiddleware** — Delegation to subagents
|
|
86
|
+
- **SummarizationMiddleware** — Context compression
|
|
87
87
|
|
|
88
88
|
## Git
|
|
89
89
|
|
|
90
|
-
- Commits: `feat(agent):
|
|
91
|
-
- Branches: `feature/<
|
|
92
|
-
-
|
|
90
|
+
- Commits: `feat(agent): add semantic search tool`
|
|
91
|
+
- Branches: `feature/<component>-<description>`
|
|
92
|
+
- Never commit API keys, .env
|
|
93
93
|
|
|
94
|
-
##
|
|
94
|
+
## Tests
|
|
95
95
|
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
- Evals
|
|
99
|
-
-
|
|
96
|
+
- Unit tests for tools and middleware
|
|
97
|
+
- Integration tests for the full agent
|
|
98
|
+
- Evals with golden dataset + LLM-as-judge
|
|
99
|
+
- Minimum coverage: 80%
|
|
100
100
|
|
|
101
101
|
## References
|
|
102
102
|
|
|
103
|
-
- `references/deep-agents-api.md` —
|
|
104
|
-
- `references/backends-guide.md` —
|
|
105
|
-
- `references/middleware-guide.md` —
|
|
103
|
+
- `references/deep-agents-api.md` — Deep Agents SDK API reference
|
|
104
|
+
- `references/backends-guide.md` — Backends guide and when to use each one
|
|
105
|
+
- `references/middleware-guide.md` — Default and custom middleware
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
# Product Requirements Document (PRD)
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> This document defines the product requirements. It should be filled out by the requirements analyst and/or the developer before starting development. The AI agent uses this document as context to understand WHAT to build.
|
|
4
4
|
|
|
5
|
-
## 1.
|
|
5
|
+
## 1. Executive Summary
|
|
6
6
|
|
|
7
|
-
<!--
|
|
7
|
+
<!-- Describe in 2-3 sentences what the product is and what problem it solves -->
|
|
8
8
|
|
|
9
|
-
## 2.
|
|
9
|
+
## 2. Target Users
|
|
10
10
|
|
|
11
|
-
<!--
|
|
11
|
+
<!-- Who will use the system? Describe the personas -->
|
|
12
12
|
|
|
13
|
-
### Persona 1: [
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
13
|
+
### Persona 1: [Name]
|
|
14
|
+
- **Profile:**
|
|
15
|
+
- **Goals:**
|
|
16
|
+
- **Pain points:**
|
|
17
17
|
|
|
18
|
-
## 3.
|
|
18
|
+
## 3. MVP Scope
|
|
19
19
|
|
|
20
|
-
###
|
|
20
|
+
### Included in MVP
|
|
21
21
|
- [ ] Feature 1
|
|
22
22
|
- [ ] Feature 2
|
|
23
23
|
- [ ] Feature 3
|
|
24
24
|
|
|
25
|
-
###
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
25
|
+
### Out of MVP (future)
|
|
26
|
+
- [ ] Future feature 1
|
|
27
|
+
- [ ] Future feature 2
|
|
28
28
|
|
|
29
29
|
## 4. User Stories
|
|
30
30
|
|
|
31
|
-
### US01: [
|
|
32
|
-
**
|
|
31
|
+
### US01: [Title]
|
|
32
|
+
**As** [persona], **I want** [action], **so that** [benefit].
|
|
33
33
|
|
|
34
|
-
**
|
|
35
|
-
- [ ]
|
|
36
|
-
- [ ]
|
|
34
|
+
**Acceptance criteria:**
|
|
35
|
+
- [ ] AC1:
|
|
36
|
+
- [ ] AC2:
|
|
37
37
|
|
|
38
|
-
### US02: [
|
|
39
|
-
**
|
|
38
|
+
### US02: [Title]
|
|
39
|
+
**As** [persona], **I want** [action], **so that** [benefit].
|
|
40
40
|
|
|
41
|
-
**
|
|
42
|
-
- [ ]
|
|
43
|
-
- [ ]
|
|
41
|
+
**Acceptance criteria:**
|
|
42
|
+
- [ ] AC1:
|
|
43
|
+
- [ ] AC2:
|
|
44
44
|
|
|
45
|
-
## 5.
|
|
45
|
+
## 5. High-Level Architecture
|
|
46
46
|
|
|
47
|
-
<!--
|
|
47
|
+
<!-- Mermaid or ASCII diagram showing the main components -->
|
|
48
48
|
|
|
49
49
|
```mermaid
|
|
50
50
|
graph LR
|
|
@@ -52,7 +52,7 @@ graph LR
|
|
|
52
52
|
B --> C[Database]
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
###
|
|
55
|
+
### Directory Structure
|
|
56
56
|
|
|
57
57
|
```
|
|
58
58
|
project/
|
|
@@ -61,29 +61,29 @@ project/
|
|
|
61
61
|
└── ...
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
## 6. Features
|
|
64
|
+
## 6. Detailed Features
|
|
65
65
|
|
|
66
|
-
### Feature 1: [
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
66
|
+
### Feature 1: [Name]
|
|
67
|
+
- **Description:**
|
|
68
|
+
- **Business rules:**
|
|
69
69
|
-
|
|
70
70
|
- **Inputs:**
|
|
71
71
|
- **Outputs:**
|
|
72
72
|
- **Edge cases:**
|
|
73
73
|
-
|
|
74
74
|
|
|
75
|
-
### Feature 2: [
|
|
76
|
-
- **
|
|
77
|
-
- **
|
|
75
|
+
### Feature 2: [Name]
|
|
76
|
+
- **Description:**
|
|
77
|
+
- **Business rules:**
|
|
78
78
|
-
|
|
79
79
|
|
|
80
|
-
## 7. Stack
|
|
80
|
+
## 7. Technology Stack
|
|
81
81
|
|
|
82
|
-
|
|
|
82
|
+
| Component | Technology | Justification |
|
|
83
83
|
|---|---|---|
|
|
84
84
|
| Backend | | |
|
|
85
85
|
| Frontend | | |
|
|
86
|
-
|
|
|
86
|
+
| Database | | |
|
|
87
87
|
| Cache | | |
|
|
88
88
|
| Deploy | | |
|
|
89
89
|
|
|
@@ -92,7 +92,7 @@ project/
|
|
|
92
92
|
### Endpoints
|
|
93
93
|
|
|
94
94
|
#### `GET /api/v1/resource`
|
|
95
|
-
- **
|
|
95
|
+
- **Description:**
|
|
96
96
|
- **Response:** `200 OK`
|
|
97
97
|
```json
|
|
98
98
|
{
|
|
@@ -104,7 +104,7 @@ project/
|
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
#### `POST /api/v1/resource`
|
|
107
|
-
- **
|
|
107
|
+
- **Description:**
|
|
108
108
|
- **Body:**
|
|
109
109
|
```json
|
|
110
110
|
{
|
|
@@ -113,7 +113,7 @@ project/
|
|
|
113
113
|
```
|
|
114
114
|
- **Response:** `201 Created`
|
|
115
115
|
|
|
116
|
-
## 9.
|
|
116
|
+
## 9. Data Model
|
|
117
117
|
|
|
118
118
|
```sql
|
|
119
119
|
CREATE TABLE example (
|
|
@@ -123,39 +123,39 @@ CREATE TABLE example (
|
|
|
123
123
|
);
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
## 10.
|
|
126
|
+
## 10. Non-Functional Requirements
|
|
127
127
|
|
|
128
|
-
|
|
|
128
|
+
| Requirement | Target | Priority |
|
|
129
129
|
|---|---|---|
|
|
130
|
-
| Performance | Response time < 500ms |
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
|
|
|
130
|
+
| Performance | Response time < 500ms | High |
|
|
131
|
+
| Availability | 99.9% uptime | Medium |
|
|
132
|
+
| Security | OWASP Top 10 | High |
|
|
133
|
+
| Scalability | Up to X simultaneous users | Medium |
|
|
134
134
|
|
|
135
|
-
## 11.
|
|
135
|
+
## 11. Implementation Phases
|
|
136
136
|
|
|
137
|
-
###
|
|
138
|
-
- [ ]
|
|
139
|
-
- [ ]
|
|
140
|
-
- [ ]
|
|
137
|
+
### Phase 1: Foundation
|
|
138
|
+
- [ ] Project setup
|
|
139
|
+
- [ ] Data model
|
|
140
|
+
- [ ] Basic endpoints
|
|
141
141
|
|
|
142
|
-
###
|
|
143
|
-
- [ ] Feature 1
|
|
144
|
-
- [ ] Feature 2
|
|
142
|
+
### Phase 2: Core Features
|
|
143
|
+
- [ ] Feature 1 complete
|
|
144
|
+
- [ ] Feature 2 complete
|
|
145
145
|
|
|
146
|
-
###
|
|
147
|
-
- [ ]
|
|
146
|
+
### Phase 3: Polish
|
|
147
|
+
- [ ] E2E tests
|
|
148
148
|
- [ ] Performance
|
|
149
|
-
- [ ]
|
|
149
|
+
- [ ] Documentation
|
|
150
150
|
|
|
151
|
-
## 12.
|
|
151
|
+
## 12. Risks and Mitigations
|
|
152
152
|
|
|
153
|
-
|
|
|
153
|
+
| Risk | Impact | Probability | Mitigation |
|
|
154
154
|
|---|---|---|---|
|
|
155
155
|
| | | | |
|
|
156
156
|
|
|
157
|
-
## 13.
|
|
157
|
+
## 13. Success Criteria
|
|
158
158
|
|
|
159
|
-
- [ ]
|
|
160
|
-
- [ ]
|
|
161
|
-
- [ ]
|
|
159
|
+
- [ ] Criterion 1
|
|
160
|
+
- [ ] Criterion 2
|
|
161
|
+
- [ ] Criterion 3
|