maestro-flow 0.3.7 → 0.3.9
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/.claude/commands/learn-decompose.md +3 -3
- package/.claude/commands/learn-follow.md +5 -5
- package/.claude/commands/learn-investigate.md +3 -3
- package/.claude/commands/learn-retro.md +303 -0
- package/.claude/commands/learn-second-opinion.md +3 -3
- package/.claude/commands/maestro-analyze.md +123 -99
- package/.claude/commands/maestro-brainstorm.md +2 -2
- package/.claude/commands/maestro-execute.md +137 -96
- package/.claude/commands/maestro-fork.md +111 -0
- package/.claude/commands/maestro-init.md +6 -6
- package/.claude/commands/maestro-learn.md +74 -298
- package/.claude/commands/maestro-merge.md +77 -0
- package/.claude/commands/maestro-milestone-audit.md +72 -60
- package/.claude/commands/maestro-milestone-complete.md +67 -59
- package/.claude/commands/maestro-milestone-release.md +6 -6
- package/.claude/commands/maestro-plan.md +151 -130
- package/.claude/commands/maestro-quick.md +4 -4
- package/.claude/commands/maestro-roadmap.md +5 -5
- package/.claude/commands/maestro-spec-generate.md +5 -5
- package/.claude/commands/maestro-ui-design.md +3 -3
- package/.claude/commands/maestro-verify.md +106 -87
- package/.claude/commands/maestro.md +10 -4
- package/.claude/commands/manage-codebase-rebuild.md +4 -4
- package/.claude/commands/manage-codebase-refresh.md +1 -1
- package/.claude/commands/manage-harvest.md +5 -5
- package/.claude/commands/manage-issue-discover.md +1 -1
- package/.claude/commands/manage-issue-execute.md +6 -6
- package/.claude/commands/manage-issue.md +6 -6
- package/.claude/commands/manage-learn.md +23 -17
- package/.claude/commands/manage-memory-capture.md +15 -17
- package/.claude/commands/manage-memory.md +3 -3
- package/.claude/commands/manage-status.md +24 -24
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +4 -4
- package/.claude/commands/quality-integration-test.md +4 -4
- package/.claude/commands/quality-refactor.md +3 -3
- package/.claude/commands/quality-retrospective.md +7 -7
- package/.claude/commands/quality-review.md +4 -4
- package/.claude/commands/quality-sync.md +3 -3
- package/.claude/commands/quality-test-gen.md +4 -4
- package/.claude/commands/quality-test.md +9 -9
- package/.claude/commands/spec-add.md +2 -2
- package/.claude/commands/spec-load.md +8 -3
- package/.claude/commands/spec-setup.md +5 -5
- package/.claude/commands/wiki-connect.md +3 -3
- package/.claude/commands/wiki-digest.md +30 -5
- package/.codex/skills/maestro-analyze/SKILL.md +52 -14
- package/.codex/skills/maestro-execute/SKILL.md +27 -26
- package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
- package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
- package/.codex/skills/maestro-plan/SKILL.md +47 -17
- package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
- package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
- package/README.md +115 -227
- package/README.zh-CN.md +169 -187
- package/bin/maestro-mcp.js +1 -1
- package/chains/_intent-map.json +21 -9
- package/chains/_router.json +30 -77
- package/chains/brainstorm-driven.json +17 -6
- package/chains/full-lifecycle.json +22 -23
- package/chains/milestone-close.json +20 -7
- package/chains/milestone-fork-merge.json +50 -0
- package/chains/roadmap-driven.json +17 -6
- package/chains/spec-driven.json +17 -6
- package/dashboard/dist/assets/{ArtifactsPage-A9yzYtpj.js → ArtifactsPage-DZNCi6tn.js} +12 -7
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
- package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
- package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-CCXHaut3.js → MarkdownRenderer-X4af_WNb.js} +1 -1
- package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
- package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
- package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
- package/dashboard/dist/assets/{RequirementBoardPage-CEOvppGn.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
- package/dashboard/dist/assets/{RequirementPage-DpnbTEqY.js → RequirementPage-Bllxe2XI.js} +10 -5
- package/dashboard/dist/assets/{SpecsPage-CYqOfFkB.js → SpecsPage-9lwxKT27.js} +2 -2
- package/dashboard/dist/assets/{SupervisorPage-B2sZwkq8.js → SupervisorPage-SusdfHFq.js} +1 -1
- package/dashboard/dist/assets/{TeamsPage-CkZdCAVZ.js → TeamsPage-DsuM6OwC.js} +2 -2
- package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
- package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
- package/dashboard/dist/assets/{arrow-left-6fktHyjN.js → arrow-left-Bqtb2hle.js} +1 -1
- package/dashboard/dist/assets/{check-Cbxq2l1-.js → check-u6fGOwQO.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Yts3bi8p.js → chevron-right-Csu22t58.js} +1 -1
- package/dashboard/dist/assets/{circle-4Ci4Xolf.js → circle-CMrkbRNg.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-B25g9BTL.js → circle-alert-c3tH1P4z.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-DzO2BlL7.js → circle-check-big-TDSeWstm.js} +1 -1
- package/dashboard/dist/assets/{circle-check-BA5_XqeV.js → circle-check-gYxxSYuH.js} +1 -1
- package/dashboard/dist/assets/{code-zxwuybO8.js → code-CFN2uX9V.js} +1 -1
- package/dashboard/dist/assets/{columns-3-DV4oeCfU.js → columns-3-38xIDlzy.js} +1 -1
- package/dashboard/dist/assets/{download-CXCyQw8M.js → download-DC7KkKyP.js} +1 -1
- package/dashboard/dist/assets/{folder-Bvjj8Vn9.js → folder-CWq_lAnf.js} +1 -1
- package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
- package/dashboard/dist/assets/{index-BvScJmJM.js → index-Do71weNR.js} +1 -1
- package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
- package/dashboard/dist/assets/{list-Dj4i9N75.js → list-CgIP_2A-.js} +1 -1
- package/dashboard/dist/assets/{minus-DwlFabsT.js → minus-DYoN5UGk.js} +1 -1
- package/dashboard/dist/assets/{pen-line-D7UzECt6.js → pen-line-Bh_WKYHm.js} +1 -1
- package/dashboard/dist/assets/{proxy-B9XRqHD9.js → proxy-BKxDAKTj.js} +1 -1
- package/dashboard/dist/assets/{search-BQbBTIYl.js → search-SieXnOgr.js} +1 -1
- package/dashboard/dist/assets/{shallow-Clb1Lyd_.js → shallow-Bme1JY57.js} +1 -1
- package/dashboard/dist/assets/{table-BqxCXid2.js → table-llyEtj-7.js} +1 -1
- package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
- package/dashboard/dist/assets/{trash-2-6rN9B-EQ.js → trash-2-C8f4vFFM.js} +1 -1
- package/dashboard/dist/assets/{zap-DxUhG-gk.js → zap-4uwlzVm0.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -4
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +3 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +4 -3
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +20 -7
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
- package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +14 -14
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js +7 -5
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +186 -25
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +24 -2
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +4 -7
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js +5 -5
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +7 -1
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/package.json +59 -59
- package/dist/src/cli.js +3 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/{team.d.ts → collab.d.ts} +2 -2
- package/dist/src/commands/collab.d.ts.map +1 -0
- package/dist/src/commands/{team.js → collab.js} +391 -24
- package/dist/src/commands/collab.js.map +1 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +7 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/msg.d.ts.map +1 -1
- package/dist/src/commands/msg.js +4 -3
- package/dist/src/commands/msg.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +16 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/tools/collab-adapter.d.ts +85 -0
- package/dist/src/tools/collab-adapter.d.ts.map +1 -0
- package/dist/src/tools/collab-adapter.js +320 -0
- package/dist/src/tools/collab-adapter.js.map +1 -0
- package/dist/src/tools/namespace-guard.d.ts +2 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -1
- package/dist/src/tools/namespace-guard.js +12 -0
- package/dist/src/tools/namespace-guard.js.map +1 -1
- package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
- package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
- package/dist/src/tools/phase-gate-evaluator.js +42 -0
- package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
- package/dist/src/tools/team-members.d.ts +18 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +50 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/dist/src/tools/team-tasks.d.ts +120 -0
- package/dist/src/tools/team-tasks.d.ts.map +1 -0
- package/dist/src/tools/team-tasks.js +365 -0
- package/dist/src/tools/team-tasks.js.map +1 -0
- package/dist/src/tools/transition-recorder.d.ts +3 -0
- package/dist/src/tools/transition-recorder.d.ts.map +1 -1
- package/dist/src/tools/transition-recorder.js +52 -1
- package/dist/src/tools/transition-recorder.js.map +1 -1
- package/dist/src/utils/get-version.d.ts.map +1 -1
- package/dist/src/utils/get-version.js +15 -4
- package/dist/src/utils/get-version.js.map +1 -1
- package/package.json +1 -1
- package/templates/config.json +7 -0
- package/templates/worktree-scope.json +10 -0
- package/templates/worktrees.json +27 -0
- package/workflows/analyze.md +86 -36
- package/workflows/brainstorm.md +17 -37
- package/workflows/delegate-usage.md +39 -41
- package/workflows/execute.md +247 -61
- package/workflows/fork.md +309 -0
- package/workflows/init.md +11 -2
- package/workflows/issue.md +66 -7
- package/workflows/maestro-coordinate.codex.md +1 -1
- package/workflows/maestro-coordinate.md +24 -17
- package/workflows/maestro.md +54 -37
- package/workflows/memory.md +2 -1
- package/workflows/merge.md +285 -0
- package/workflows/milestone-audit.md +89 -70
- package/workflows/milestone-complete.md +89 -156
- package/workflows/plan.md +131 -19
- package/workflows/retrospective.md +5 -5
- package/workflows/roadmap.md +12 -4
- package/workflows/spec-generate.md +9 -0
- package/workflows/status.md +76 -27
- package/workflows/ui-design.md +14 -12
- package/workflows/verify.md +44 -8
- package/.claude/commands/learn-retro-decision.md +0 -198
- package/.claude/commands/learn-retro-git.md +0 -160
- package/.claude/commands/maestro-phase-add.md +0 -63
- package/.claude/commands/maestro-phase-transition.md +0 -75
- package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
- package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
- package/chains/singles/phase-add.json +0 -31
- package/chains/singles/phase-transition.json +0 -23
- package/dashboard/dist/assets/ChatInput-PuCvZZ3y.js +0 -67
- package/dashboard/dist/assets/ChatPage-v19GURYH.js +0 -8
- package/dashboard/dist/assets/CollabPage-I5k_mCbG.js +0 -1
- package/dashboard/dist/assets/KanbanPage-PDDBv5-9.js +0 -16
- package/dashboard/dist/assets/McpPage-CiqXpCHg.js +0 -16
- package/dashboard/dist/assets/TreeBrowser-0VIMWclo.js +0 -11
- package/dashboard/dist/assets/WorkflowPage-Csm23wUS.js +0 -6
- package/dashboard/dist/assets/git-branch-DL8p9kVC.js +0 -6
- package/dashboard/dist/assets/index-11DuhKhc.js +0 -231
- package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
- package/dashboard/dist/assets/wrench-BScEJFqC.js +0 -11
- package/dist/src/commands/team.d.ts.map +0 -1
- package/dist/src/commands/team.js.map +0 -1
- package/workflows/phase-add.md +0 -252
- package/workflows/phase-transition.md +0 -399
|
@@ -1,96 +1,137 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-execute
|
|
3
|
-
description: Execute
|
|
4
|
-
argument-hint: "
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Execute all tasks in a
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-execute
|
|
3
|
+
description: Execute plan with wave-based parallel execution and atomic commits
|
|
4
|
+
argument-hint: "[phase] [--auto-commit] [--method agent|cli|auto] [--executor <tool>] [--dir <path>]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Execute all tasks in a plan using wave-based parallel execution with dependency-aware ordering. Each plan is executed independently (plans串行, plan内wave并行). Task summaries are written to the plan's scratch directory under `.summaries/`. Registers EXC artifact in state.json.
|
|
17
|
+
|
|
18
|
+
Invoked after /maestro-plan produces a confirmed plan. When called without args on a milestone, finds all pending plans and executes them sequentially.
|
|
19
|
+
</purpose>
|
|
20
|
+
|
|
21
|
+
<required_reading>
|
|
22
|
+
@~/.maestro/workflows/execute.md
|
|
23
|
+
</required_reading>
|
|
24
|
+
|
|
25
|
+
<deferred_reading>
|
|
26
|
+
- [task.json](~/.maestro/templates/task.json) — read when reading task definitions
|
|
27
|
+
- [state.json](~/.maestro/templates/state.json) — read when registering artifact
|
|
28
|
+
</deferred_reading>
|
|
29
|
+
|
|
30
|
+
<context>
|
|
31
|
+
$ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
|
|
32
|
+
|
|
33
|
+
**Flags:**
|
|
34
|
+
- `--auto-commit` -- Automatically commit after each task completion
|
|
35
|
+
- `--method agent|cli|auto` -- Override execution method (default: from config.json)
|
|
36
|
+
- `--executor <tool>` -- Default CLI tool: gemini|codex|qwen|opencode|claude
|
|
37
|
+
- `--dir <path>` -- Execute specific plan directory (e.g., `scratch/plan-auth-2026-04-20`)
|
|
38
|
+
|
|
39
|
+
**Scope routing:**
|
|
40
|
+
|
|
41
|
+
| Invocation | Behavior |
|
|
42
|
+
|-----------|----------|
|
|
43
|
+
| `execute` (no args) | Find all pending plans for current milestone, execute sequentially |
|
|
44
|
+
| `execute 1` | Find pending plans for phase 1, execute sequentially |
|
|
45
|
+
| `execute --dir scratch/plan-xxx` | Execute the specific plan |
|
|
46
|
+
|
|
47
|
+
**Resolution logic (no-args / phase):**
|
|
48
|
+
```
|
|
49
|
+
1. Read state.json.artifacts
|
|
50
|
+
2. Filter: milestone=target, type=plan, status=completed, AND no corresponding EXC artifact
|
|
51
|
+
3. If phase specified: further filter by phase=target
|
|
52
|
+
4. Sort by phase dependency order (roadmap phase order), adhoc last
|
|
53
|
+
5. Execute each plan sequentially
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Output**: Task summaries written to plan's scratch dir:
|
|
57
|
+
```
|
|
58
|
+
scratch/plan-{slug}-{date}/
|
|
59
|
+
├── plan.json
|
|
60
|
+
├── .task/
|
|
61
|
+
│ ├── TASK-001.json # status updated to completed|blocked
|
|
62
|
+
│ └── TASK-002.json
|
|
63
|
+
└── .summaries/ ← execute writes here
|
|
64
|
+
├── TASK-001-summary.md
|
|
65
|
+
└── TASK-002-summary.md
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Incremental learning extraction**: After each plan completes, extract strategy adjustments / patterns / pitfalls from `.summaries/` and append to `specs/learnings.md`. Mark artifact `harvested: true`.
|
|
69
|
+
|
|
70
|
+
**Artifact registration**: For each plan executed, register in `state.json.artifacts[]`:
|
|
71
|
+
```jsonc
|
|
72
|
+
{
|
|
73
|
+
"id": "EXC-{NNN}",
|
|
74
|
+
"type": "execute",
|
|
75
|
+
"milestone": "{current_milestone or null}",
|
|
76
|
+
"phase": "{phase or null}",
|
|
77
|
+
"scope": "{inherited from plan}",
|
|
78
|
+
"path": "{same as plan path}",
|
|
79
|
+
"status": "completed",
|
|
80
|
+
"depends_on": "PLN-{NNN}",
|
|
81
|
+
"harvested": false,
|
|
82
|
+
"created_at": "...",
|
|
83
|
+
"completed_at": "..."
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
</context>
|
|
87
|
+
|
|
88
|
+
<execution>
|
|
89
|
+
### Pre-flight: team conflict check
|
|
90
|
+
|
|
91
|
+
Before any task execution, run:
|
|
92
|
+
```
|
|
93
|
+
Bash("maestro collab preflight --phase <phase-number>")
|
|
94
|
+
```
|
|
95
|
+
If exit code is 1, present warnings and ask whether to proceed.
|
|
96
|
+
|
|
97
|
+
Follow '~/.maestro/workflows/execute.md' completely.
|
|
98
|
+
|
|
99
|
+
**Report format on completion:**
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
=== EXECUTION COMPLETE ===
|
|
103
|
+
Plans executed: {plans_count}
|
|
104
|
+
Completed: {completed_count}/{total_count} tasks
|
|
105
|
+
Failed: {failed_count} tasks
|
|
106
|
+
|
|
107
|
+
Summaries: {plan_dir}/.summaries/
|
|
108
|
+
Tasks: {plan_dir}/.task/
|
|
109
|
+
|
|
110
|
+
Next steps:
|
|
111
|
+
/maestro-verify -- Verify execution results
|
|
112
|
+
/maestro-verify --dir {dir} -- Verify specific plan
|
|
113
|
+
/manage-status -- View project dashboard
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If failed tasks exist, suggest /quality-debug for investigation.
|
|
117
|
+
</execution>
|
|
118
|
+
|
|
119
|
+
<error_codes>
|
|
120
|
+
| Code | Severity | Condition | Recovery |
|
|
121
|
+
|------|----------|-----------|----------|
|
|
122
|
+
| E001 | error | No pending plans found | Verify plans exist, run maestro-plan first |
|
|
123
|
+
| E002 | error | Plan directory not found | Check --dir path |
|
|
124
|
+
| E003 | error | plan.json not found in directory | Verify plan.json exists, run maestro-plan first |
|
|
125
|
+
| E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
|
|
126
|
+
| W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
|
|
127
|
+
</error_codes>
|
|
128
|
+
|
|
129
|
+
<success_criteria>
|
|
130
|
+
- [ ] All pending plans identified and executed sequentially
|
|
131
|
+
- [ ] Within each plan: waves executed in parallel, waves串行
|
|
132
|
+
- [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
|
|
133
|
+
- [ ] `.task/TASK-{NNN}.json` statuses updated (completed|blocked)
|
|
134
|
+
- [ ] EXC artifact registered in state.json for each plan executed
|
|
135
|
+
- [ ] Incremental learnings extracted to specs/learnings.md
|
|
136
|
+
- [ ] state.json updated with execution progress
|
|
137
|
+
</success_criteria>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-fork
|
|
3
|
+
description: Create a worktree for milestone-level parallel development, or sync existing worktree with main
|
|
4
|
+
argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Create a git worktree for an entire milestone, enabling inter-milestone parallel development. All phases within the milestone are owned by the worktree and executed sequentially inside it.
|
|
17
|
+
|
|
18
|
+
Since `.workflow/` is gitignored, this command explicitly copies project context and all milestone phase directories into the worktree. Per-phase parallelism within a milestone is NOT supported.
|
|
19
|
+
|
|
20
|
+
Also supports `--sync` mode to pull latest main branch changes and shared artifacts into an active worktree (prevents source and artifact drift for long-lived worktrees).
|
|
21
|
+
|
|
22
|
+
Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree.
|
|
23
|
+
</purpose>
|
|
24
|
+
|
|
25
|
+
<required_reading>
|
|
26
|
+
@~/.maestro/workflows/fork.md
|
|
27
|
+
</required_reading>
|
|
28
|
+
|
|
29
|
+
<deferred_reading>
|
|
30
|
+
- [worktrees.json](~/.maestro/templates/worktrees.json) — read when updating registry
|
|
31
|
+
- [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
|
|
32
|
+
</deferred_reading>
|
|
33
|
+
|
|
34
|
+
<context>
|
|
35
|
+
$ARGUMENTS -- milestone name and optional flags.
|
|
36
|
+
|
|
37
|
+
**Modes:**
|
|
38
|
+
|
|
39
|
+
| Mode | Trigger | Behavior |
|
|
40
|
+
|------|---------|----------|
|
|
41
|
+
| Fork | `-m 2` or `2` | Create worktree for all phases in milestone 2 |
|
|
42
|
+
| Sync | `-m 2 --sync` | Sync existing milestone 2 worktree with main branch |
|
|
43
|
+
|
|
44
|
+
**Flags:**
|
|
45
|
+
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to `state.json.milestones[]`)
|
|
46
|
+
- `--base <branch>`: Override base branch for worktree creation (default: HEAD)
|
|
47
|
+
- `--sync`: Sync mode — pull main into existing worktree, re-copy shared artifacts
|
|
48
|
+
|
|
49
|
+
**Milestone resolution:** `state.json.milestones[N-1]` → `{name, title, phases: [...]}`
|
|
50
|
+
|
|
51
|
+
**Worktree layout:**
|
|
52
|
+
```
|
|
53
|
+
.worktrees/m{N}-{slug}/
|
|
54
|
+
├── .workflow/
|
|
55
|
+
│ ├── worktree-scope.json (scope marker — lists all owned phases)
|
|
56
|
+
│ ├── state.json (scoped to this milestone)
|
|
57
|
+
│ ├── project.md (read-only copy)
|
|
58
|
+
│ ├── roadmap.md (read-only copy)
|
|
59
|
+
│ ├── config.json (read-only copy)
|
|
60
|
+
│ ├── specs/ (read-only copy)
|
|
61
|
+
│ └── phases/
|
|
62
|
+
│ ├── {NN}-{slug}/ (owned — all phases in milestone)
|
|
63
|
+
│ └── {dep}-{dep-slug}/ (read-only dependency reference from prior milestones)
|
|
64
|
+
└── <source code> (git worktree checkout)
|
|
65
|
+
```
|
|
66
|
+
</context>
|
|
67
|
+
|
|
68
|
+
<execution>
|
|
69
|
+
Follow '~/.maestro/workflows/fork.md' completely.
|
|
70
|
+
|
|
71
|
+
**Next-step routing on completion:**
|
|
72
|
+
|
|
73
|
+
Fork mode:
|
|
74
|
+
- Enter worktree → `cd {wt.path} && /maestro-analyze {first_phase}`
|
|
75
|
+
- Automated → `maestro delegate "run full lifecycle for milestone" --cd {wt.path} --mode write`
|
|
76
|
+
- Status → Skill({ skill: "manage-status" })
|
|
77
|
+
|
|
78
|
+
Sync mode:
|
|
79
|
+
- Sync complete → resume work in worktree
|
|
80
|
+
- Conflicts found → resolve manually, then retry
|
|
81
|
+
</execution>
|
|
82
|
+
|
|
83
|
+
<error_codes>
|
|
84
|
+
| Code | Severity | Condition | Recovery |
|
|
85
|
+
|------|----------|-----------|----------|
|
|
86
|
+
| E001 | error | Project not initialized | Run maestro-init first |
|
|
87
|
+
| E002 | error | No roadmap found | Run maestro-roadmap first |
|
|
88
|
+
| E003 | error | Running inside a worktree | Run from main worktree |
|
|
89
|
+
| E004 | error | No milestone number provided | Provide `-m <N>` |
|
|
90
|
+
| E005 | error | No milestones defined in state.json | Run maestro-roadmap first |
|
|
91
|
+
| E006 | error | Milestone number out of range | Check available milestones |
|
|
92
|
+
| E007 | error | No active worktree for milestone (--sync) | Check worktrees.json |
|
|
93
|
+
| E008 | error | Milestone already has active worktree | Merge or cleanup first |
|
|
94
|
+
</error_codes>
|
|
95
|
+
|
|
96
|
+
<success_criteria>
|
|
97
|
+
Fork mode:
|
|
98
|
+
- [ ] Milestone phases identified from roadmap
|
|
99
|
+
- [ ] Git worktree created with branch (`milestone/{slug}`)
|
|
100
|
+
- [ ] `.workflow/` context copied into worktree (all milestone phases + dependency phases)
|
|
101
|
+
- [ ] `worktree-scope.json` written with all owned phase numbers
|
|
102
|
+
- [ ] Scoped `state.json` written (current_phase = first pending phase)
|
|
103
|
+
- [ ] `worktrees.json` registry updated in main worktree
|
|
104
|
+
- [ ] Milestone phase indexes marked as "forked" in main worktree
|
|
105
|
+
- [ ] Summary displayed with next-step commands
|
|
106
|
+
|
|
107
|
+
Sync mode:
|
|
108
|
+
- [ ] Git merge main into worktree branch
|
|
109
|
+
- [ ] Shared artifacts re-copied (project.md, roadmap.md, config.json, specs/)
|
|
110
|
+
- [ ] Conflicts reported if any
|
|
111
|
+
</success_criteria>
|
|
@@ -48,13 +48,13 @@ Created:
|
|
|
48
48
|
.workflow/specs/
|
|
49
49
|
|
|
50
50
|
Next steps (choose one path to create roadmap):
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
/maestro-spec-generate <idea> -- Full spec package + roadmap (heavy)
|
|
52
|
+
/maestro-roadmap <requirement> -- Direct interactive roadmap (light)
|
|
53
53
|
|
|
54
54
|
Other commands:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
/manage-status -- View project dashboard
|
|
56
|
+
/maestro-brainstorm <topic> -- Explore ideas first
|
|
57
|
+
/maestro-quick <task> -- Quick ad-hoc task
|
|
58
58
|
```
|
|
59
59
|
</execution>
|
|
60
60
|
|
|
@@ -70,7 +70,7 @@ Other commands:
|
|
|
70
70
|
<success_criteria>
|
|
71
71
|
- [ ] Deep questioning completed (threads followed, not rushed) — or extracted from document/brainstorm
|
|
72
72
|
- [ ] `.workflow/project.md` created with Core Value, Requirements (Validated/Active/Out of Scope), Key Decisions
|
|
73
|
-
- [ ] `.workflow/state.json` created
|
|
73
|
+
- [ ] `.workflow/state.json` created with artifacts[] array, initialized to idle state
|
|
74
74
|
- [ ] `.workflow/config.json` created with user-selected granularity, workflow agents, gate preferences
|
|
75
75
|
- [ ] `.workflow/specs/` initialized with convention files
|
|
76
76
|
- [ ] Research completed (if enabled) — 4 parallel agents spawned
|