@sulhadin/orchestrator 3.1.5 → 4.0.0-beta
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 +14 -23
- package/bin/build-template.js +0 -1
- package/bin/index.js +1 -23
- package/package.json +1 -1
- package/template/.claude-plugin/plugin.json +1 -1
- package/template/.orchestra/README.md +55 -73
- package/template/.orchestra/blueprints/README.md +7 -7
- package/template/.orchestra/blueprints/api-only.md +7 -7
- package/template/.orchestra/blueprints/component-crud-resource.md +3 -3
- package/template/.orchestra/blueprints/saas-starter.md +17 -17
- package/template/.orchestra/config.yml +1 -1
- package/template/.orchestra/roles/orchestrator.md +2 -3
- package/template/.orchestra/roles/product-manager.md +48 -25
- package/template/CLAUDE.md +5 -9
- package/template/agents/{conductor.md → lead.md} +123 -91
- package/template/agents/reviewer.md +2 -2
- package/template/commands/create-role.md +1 -1
- package/template/commands/help.md +7 -12
- package/template/commands/hotfix.md +1 -2
- package/template/commands/pm.md +1 -2
- package/template/commands/rewind.md +0 -1
- package/template/commands/start.md +5 -5
- package/template/commands/status.md +1 -1
- package/template/rules/role-boundaries.orchestra.md +2 -2
- package/template/.orchestra/knowledge.md +0 -99
- package/template/.orchestra/roles/adaptive.md +0 -38
- package/template/.orchestra/roles/architect.md +0 -33
- package/template/.orchestra/roles/backend-engineer.md +0 -27
- package/template/.orchestra/roles/frontend-engineer.md +0 -27
- package/template/commands/adaptive.md +0 -7
- package/template/commands/architect.md +0 -7
- package/template/commands/backend.md +0 -7
- package/template/commands/frontend.md +0 -7
|
@@ -9,9 +9,9 @@ API layer, dashboard UI, and deployment. Produces a working, deployed MVP.
|
|
|
9
9
|
### M1 — Project Setup + Database
|
|
10
10
|
- Complexity: full
|
|
11
11
|
- Phases:
|
|
12
|
-
1. (
|
|
13
|
-
2. (
|
|
14
|
-
3. (
|
|
12
|
+
1. (design) Tech stack RFC — runtime, framework, DB, ORM, auth strategy
|
|
13
|
+
2. (impl) Project skeleton — monorepo/single, configs, linting, base structure
|
|
14
|
+
3. (impl) Database setup — ORM config, connection, base migration [skills: deployment]
|
|
15
15
|
- Acceptance Criteria:
|
|
16
16
|
- [ ] Project builds and runs locally
|
|
17
17
|
- [ ] Database connection works
|
|
@@ -21,11 +21,11 @@ API layer, dashboard UI, and deployment. Produces a working, deployed MVP.
|
|
|
21
21
|
### M2 — Authentication
|
|
22
22
|
- Complexity: full
|
|
23
23
|
- Phases:
|
|
24
|
-
1. (
|
|
25
|
-
2. (
|
|
26
|
-
3. (
|
|
27
|
-
4. (
|
|
28
|
-
5. (
|
|
24
|
+
1. (design) Auth RFC — strategy, token flow, session management
|
|
25
|
+
2. (impl) User model + migration + auth endpoints [skills: auth-setup, crud-api]
|
|
26
|
+
3. (impl) Auth middleware + protected route pattern [skills: auth-setup]
|
|
27
|
+
4. (impl) Login + signup pages + auth state management
|
|
28
|
+
5. (impl) Protected route wrapper + logout flow
|
|
29
29
|
- Acceptance Criteria:
|
|
30
30
|
- [ ] User can sign up, log in, log out
|
|
31
31
|
- [ ] Protected routes reject unauthenticated users
|
|
@@ -36,10 +36,10 @@ API layer, dashboard UI, and deployment. Produces a working, deployed MVP.
|
|
|
36
36
|
### M3 — Core API + Dashboard
|
|
37
37
|
- Complexity: standard
|
|
38
38
|
- Phases:
|
|
39
|
-
1. (
|
|
40
|
-
2. (
|
|
41
|
-
3. (
|
|
42
|
-
4. (
|
|
39
|
+
1. (impl) Core resource CRUD endpoints + validation [skills: crud-api]
|
|
40
|
+
2. (impl) Pagination, filtering, sorting on list endpoints [skills: crud-api]
|
|
41
|
+
3. (impl) Dashboard layout — sidebar, header, responsive shell
|
|
42
|
+
4. (impl) Core resource list + detail + create/edit forms
|
|
43
43
|
- Acceptance Criteria:
|
|
44
44
|
- [ ] CRUD operations work end-to-end
|
|
45
45
|
- [ ] Dashboard is responsive (mobile + desktop)
|
|
@@ -49,9 +49,9 @@ API layer, dashboard UI, and deployment. Produces a working, deployed MVP.
|
|
|
49
49
|
### M4 — CI/CD + Deployment
|
|
50
50
|
- Complexity: standard
|
|
51
51
|
- Phases:
|
|
52
|
-
1. (
|
|
53
|
-
2. (
|
|
54
|
-
3. (
|
|
52
|
+
1. (impl) Dockerfile + docker-compose for local dev [skills: deployment]
|
|
53
|
+
2. (impl) CI pipeline — lint, type check, test, build [skills: deployment]
|
|
54
|
+
3. (impl) Health check endpoint + graceful shutdown [skills: deployment]
|
|
55
55
|
- Acceptance Criteria:
|
|
56
56
|
- [ ] `docker-compose up` starts full local environment
|
|
57
57
|
- [ ] CI pipeline runs on every push
|
|
@@ -61,8 +61,8 @@ API layer, dashboard UI, and deployment. Produces a working, deployed MVP.
|
|
|
61
61
|
### M5 — Polish + Launch Readiness
|
|
62
62
|
- Complexity: quick
|
|
63
63
|
- Phases:
|
|
64
|
-
1. (
|
|
65
|
-
2. (
|
|
64
|
+
1. (impl) Error boundaries, 404 page, loading skeletons
|
|
65
|
+
2. (impl) Rate limiting, request logging, error formatting
|
|
66
66
|
- Acceptance Criteria:
|
|
67
67
|
- [ ] No unhandled errors in UI
|
|
68
68
|
- [ ] API returns consistent error format
|
|
@@ -23,7 +23,7 @@ pipeline:
|
|
|
23
23
|
parallel: disabled
|
|
24
24
|
|
|
25
25
|
# Milestone isolation mode: inline | agent
|
|
26
|
-
# inline:
|
|
26
|
+
# inline: lead runs milestones directly, stops after each. User compacts manually. (default)
|
|
27
27
|
# agent: each milestone runs in its own sub-agent. Context freed automatically. Best for --auto.
|
|
28
28
|
milestone_isolation: inline
|
|
29
29
|
|
|
@@ -19,12 +19,11 @@ You are NOT above the system — you ARE the system.
|
|
|
19
19
|
| Create/edit/delete role files | `.orchestra/roles/*.md` |
|
|
20
20
|
| Edit config | `.orchestra/config.yml` |
|
|
21
21
|
| Edit CLAUDE.md | `CLAUDE.md` |
|
|
22
|
-
| Edit
|
|
22
|
+
| Edit lead/reviewer agents | `.claude/agents/lead.md`, `.claude/agents/reviewer.md` |
|
|
23
23
|
| Create/edit rules | `.claude/rules/*.orchestra.md` |
|
|
24
24
|
| Create/edit skills | `.claude/skills/*/SKILL.md` |
|
|
25
25
|
| Create/edit blueprints | `.orchestra/blueprints/*.md` |
|
|
26
26
|
| Create/edit commands | `.claude/commands/orchestra/*.md` |
|
|
27
|
-
| Edit knowledge log | `.orchestra/knowledge.md` |
|
|
28
27
|
| Maintain documentation | `docs/*.md` |
|
|
29
28
|
|
|
30
29
|
## Cannot Do
|
|
@@ -41,7 +40,7 @@ When evolving the Orchestra system, follow this 6-phase process:
|
|
|
41
40
|
3. **Challenge** — present, invite pushback, genuinely rethink, reach consensus
|
|
42
41
|
4. **Plan** — exact files, line numbers, insertion order. ALWAYS preview first.
|
|
43
42
|
5. **Implement** — task list, bottom-up, verify each change
|
|
44
|
-
6. **Capture** —
|
|
43
|
+
6. **Capture** — docs/, cross-file consistency check
|
|
45
44
|
|
|
46
45
|
**Phase 4 is NOT optional.** Always preview before implementing.
|
|
47
46
|
|
|
@@ -20,13 +20,7 @@ Cannot write: feature code, RFCs, architecture docs, review findings, system fil
|
|
|
20
20
|
|
|
21
21
|
1. Read `.orchestra/config.yml` for pipeline settings
|
|
22
22
|
2. Check `.orchestra/milestones/` for active milestones
|
|
23
|
-
3.
|
|
24
|
-
4. Greet: "PM ready. What's on your mind?" + milestone status summary
|
|
25
|
-
|
|
26
|
-
## Knowledge: Where to Save What You Learn
|
|
27
|
-
|
|
28
|
-
- **knowledge.md** → project-level lessons (other roles read this)
|
|
29
|
-
- **Auto memory** → personal behavior adjustments (only you read this)
|
|
23
|
+
3. Greet: "PM ready. What's on your mind?" + milestone status summary
|
|
30
24
|
|
|
31
25
|
## Milestone Creation
|
|
32
26
|
|
|
@@ -45,7 +39,7 @@ Cannot write: feature code, RFCs, architecture docs, review findings, system fil
|
|
|
45
39
|
### Milestone Review Loop
|
|
46
40
|
|
|
47
41
|
After creating milestone files, launch a milestone-reviewer sub-agent before
|
|
48
|
-
marking the milestone as ready. This catches planning errors before
|
|
42
|
+
marking the milestone as ready. This catches planning errors before lead executes.
|
|
49
43
|
|
|
50
44
|
**Flow:** PM creates → reviewer sub-agent → PM fixes → reviewer again → max `pipeline.max_milestone_review_rounds`
|
|
51
45
|
|
|
@@ -57,15 +51,18 @@ in {milestone_path}/: prd.md, milestone.md, grooming.md, and all files in phases
|
|
|
57
51
|
(rfc.md and context.md don't exist yet — don't flag them as missing.)
|
|
58
52
|
|
|
59
53
|
## Checklist
|
|
60
|
-
1. Every phase has `
|
|
61
|
-
2. Every phase has `
|
|
62
|
-
3. Every phase has `
|
|
63
|
-
4.
|
|
64
|
-
5.
|
|
65
|
-
6. `
|
|
66
|
-
7.
|
|
67
|
-
8.
|
|
68
|
-
9.
|
|
54
|
+
1. Every phase has `complexity:` set?
|
|
55
|
+
2. Every phase has `skills:` appropriate for the task?
|
|
56
|
+
3. Every phase has `## Scope` defining specific files/dirs to touch?
|
|
57
|
+
4. Acceptance criteria are testable? (not vague like "works well" — specific like "returns 200")
|
|
58
|
+
5. `milestone.md` has `Complexity:` set?
|
|
59
|
+
6. Phase order and `depends_on` are correct?
|
|
60
|
+
7. No overlapping scope between phases? (two phases writing same files)
|
|
61
|
+
8. PRD explains WHY, not just WHAT?
|
|
62
|
+
9. Every non-trivial phase has `## Context` explaining what the project is?
|
|
63
|
+
10. Every non-trivial phase has `## Technical Decisions` with NO unresolved "X OR Y" choices?
|
|
64
|
+
11. Standard+ phases have `## References` for technologies that may have changed since training cutoff?
|
|
65
|
+
12. Standard+ phases have `## Constraints` with at least 2 negative scenarios?
|
|
69
66
|
|
|
70
67
|
## Return Format
|
|
71
68
|
verdict: approved | changes-requested
|
|
@@ -99,19 +96,46 @@ summary: {2-3 sentences}
|
|
|
99
96
|
|
|
100
97
|
```markdown
|
|
101
98
|
---
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
skills: [] # list .claude/skills/, assign relevant ones by name
|
|
99
|
+
status: pending
|
|
100
|
+
order: 1
|
|
101
|
+
complexity: standard # trivial | quick | standard | complex
|
|
102
|
+
skills: [] # .claude/skills/ names
|
|
107
103
|
depends_on: []
|
|
108
104
|
---
|
|
109
105
|
|
|
110
106
|
## Objective
|
|
107
|
+
What this phase must accomplish. One paragraph, specific.
|
|
108
|
+
|
|
109
|
+
## Context
|
|
110
|
+
What is this project? Why does it exist? What does the user do with it?
|
|
111
|
+
This grounds the implementer so they understand the bigger picture.
|
|
112
|
+
Can reference prd.md for detail. (Optional for trivial complexity.)
|
|
113
|
+
|
|
114
|
+
## Technical Decisions
|
|
115
|
+
All technical choices resolved. NO "X or Y" — every decision is final.
|
|
116
|
+
Include versions for all named technologies.
|
|
117
|
+
(Optional for trivial complexity.)
|
|
118
|
+
|
|
111
119
|
## Scope
|
|
120
|
+
Files and directories this phase touches. Be specific:
|
|
121
|
+
- src/services/auth.ts (new)
|
|
122
|
+
- src/routes/login.ts (modify)
|
|
123
|
+
- tests/auth.test.ts (new)
|
|
124
|
+
|
|
125
|
+
## References
|
|
126
|
+
Links to official docs for anything where training data may be stale.
|
|
127
|
+
(Optional, recommended for standard+.)
|
|
128
|
+
|
|
112
129
|
## Acceptance Criteria
|
|
130
|
+
Testable criteria. Each must be verifiable by running a command or checking output.
|
|
131
|
+
- [ ] `POST /api/login` with valid credentials returns 200 with JWT
|
|
132
|
+
|
|
133
|
+
## Constraints
|
|
134
|
+
Negative scenarios, boundary conditions, and hard limits. (Optional for trivial/quick.)
|
|
135
|
+
- [ ] Max 5 login attempts per minute per IP
|
|
136
|
+
|
|
113
137
|
## Result
|
|
114
|
-
(filled by
|
|
138
|
+
(filled by lead after execution)
|
|
115
139
|
```
|
|
116
140
|
|
|
117
141
|
### Complexity Levels
|
|
@@ -121,7 +145,7 @@ depends_on: []
|
|
|
121
145
|
| `trivial` | Haiku | Phases → Commit → Push | Version bumps, env vars, config changes |
|
|
122
146
|
| `quick` | Sonnet | Phases → Commit → Push (skip review) | Single-file fixes, simple CRUD |
|
|
123
147
|
| `standard` | Sonnet | Phases → Review → Push | Typical features (default) |
|
|
124
|
-
| `complex` | Opus |
|
|
148
|
+
| `complex` | Opus | Design → Phases → Review → Push | New subsystems, unfamiliar territory |
|
|
125
149
|
|
|
126
150
|
### Blueprint Command
|
|
127
151
|
|
|
@@ -130,7 +154,6 @@ depends_on: []
|
|
|
130
154
|
|
|
131
155
|
### Grooming
|
|
132
156
|
|
|
133
|
-
Before grooming, check `.orchestra/knowledge.md` (Active + Archive) for relevant patterns.
|
|
134
157
|
|
|
135
158
|
### Status Command
|
|
136
159
|
|
package/template/CLAUDE.md
CHANGED
|
@@ -16,14 +16,10 @@ Call `ask_user_questions` with:
|
|
|
16
16
|
- options:
|
|
17
17
|
1. Orchestrator — Maintain and evolve Orchestra system files, roles, and rules
|
|
18
18
|
2. Product Manager — Write PRDs, create milestones with phases, orchestrate pipeline
|
|
19
|
-
3.
|
|
20
|
-
4. Backend Engineer — Implement features, write code + tests, build APIs
|
|
21
|
-
5. Frontend Engineer — Design + build user interfaces, write frontend tests
|
|
22
|
-
6. Adaptive — Adaptive expert role (iOS, DevOps, ML, etc.) — domain defined per phase
|
|
23
|
-
7. Discussion — Just brainstorm, no role needed
|
|
19
|
+
3. Discussion — Just brainstorm, no role needed
|
|
24
20
|
|
|
25
21
|
If user skips or starts giving instructions directly — work with them normally.
|
|
26
|
-
Sub-agents spawned by
|
|
22
|
+
Sub-agents spawned by lead skip role selection — they already have a role assigned in their prompt.
|
|
27
23
|
Do NOT greet. Do NOT explain. The role selection IS your greeting.
|
|
28
24
|
|
|
29
25
|
**AFTER ROLE SELECTED:**
|
|
@@ -33,15 +29,15 @@ Do NOT greet. Do NOT explain. The role selection IS your greeting.
|
|
|
33
29
|
3. Check `.orchestra/milestones/` for active work
|
|
34
30
|
4. If work exists → announce and start. If not → report and wait.
|
|
35
31
|
|
|
36
|
-
Role IDs: orchestrator, product-manager
|
|
32
|
+
Role IDs: orchestrator, product-manager
|
|
37
33
|
|
|
38
34
|
**ROLE ACTIVATION:** Only via `/orchestra {role}` commands. Never switch on free text.
|
|
39
35
|
|
|
40
|
-
**`/orchestra start`** → read `.claude/agents/
|
|
36
|
+
**`/orchestra start`** → read `.claude/agents/lead.md`, run in **separate terminal** from PM.
|
|
41
37
|
|
|
42
38
|
### Rules
|
|
43
39
|
|
|
44
|
-
- Two-terminal model: PM plans in one terminal,
|
|
40
|
+
- Two-terminal model: PM plans in one terminal, lead executes in another
|
|
45
41
|
- Each role writes only to its ownership scope (defined in role file)
|
|
46
42
|
- Rules (`.claude/rules/*.orchestra.md`) auto-loaded. Skills loaded per phase.
|
|
47
43
|
- **PROTECTED:** Non-Orchestrator roles NEVER modify `.orchestra/roles/`, `.orchestra/config.yml`, `.orchestra/README.md`, `.orchestra/blueprints/`, `.claude/agents/`, `.claude/rules/*.orchestra.md`, `.claude/skills/*/SKILL.md`, `.claude/commands/orchestra/`, `CLAUDE.md`, or `docs/`.
|