maestro-flow 0.5.35 → 0.5.36
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/.agents/agents/cli-explore-agent.md +71 -68
- package/.agents/agents/workflow-analyzer.md +1 -0
- package/.agents/agents/workflow-debugger.md +1 -0
- package/.agents/agents/workflow-executor.md +1 -0
- package/.agents/skills/domain-add/SKILL.md +71 -0
- package/.agents/skills/maestro/SKILL.md +7 -6
- package/.agents/skills/maestro-amend/SKILL.md +0 -2
- package/.agents/skills/maestro-analyze/SKILL.md +9 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +10 -1
- package/.agents/skills/maestro-collab/SKILL.md +14 -1
- package/.agents/skills/maestro-next/SKILL.md +15 -4
- package/.agents/skills/maestro-overlay/SKILL.md +4 -3
- package/.agents/skills/maestro-plan/SKILL.md +12 -3
- package/.agents/skills/maestro-ralph/SKILL.md +89 -14
- package/.agents/skills/maestro-tools-register/SKILL.md +0 -6
- package/.agents/skills/maestro-ui-codify/SKILL.md +0 -2
- package/.agents/skills/manage-kg-extractors/SKILL.md +0 -2
- package/.agents/skills/quality-test/SKILL.md +0 -2
- package/.agents/skills/spec-load/SKILL.md +0 -1
- package/.agents/skills/spec-setup/SKILL.md +0 -1
- package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.agents/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.agents/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.agents/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.agy/agents/cli-explore-agent.md +71 -68
- package/.agy/agents/workflow-analyzer.md +1 -0
- package/.agy/agents/workflow-debugger.md +1 -0
- package/.agy/agents/workflow-executor.md +1 -0
- package/.agy/skills/domain-add/SKILL.md +68 -0
- package/.agy/skills/maestro/SKILL.md +7 -6
- package/.agy/skills/maestro-amend/SKILL.md +0 -2
- package/.agy/skills/maestro-analyze/SKILL.md +9 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +10 -1
- package/.agy/skills/maestro-collab/SKILL.md +14 -1
- package/.agy/skills/maestro-next/SKILL.md +15 -4
- package/.agy/skills/maestro-overlay/SKILL.md +4 -3
- package/.agy/skills/maestro-plan/SKILL.md +12 -3
- package/.agy/skills/maestro-ralph/SKILL.md +89 -14
- package/.agy/skills/maestro-tools-register/SKILL.md +0 -6
- package/.agy/skills/maestro-ui-codify/SKILL.md +0 -2
- package/.agy/skills/manage-kg-extractors/SKILL.md +0 -2
- package/.agy/skills/quality-test/SKILL.md +0 -2
- package/.agy/skills/spec-load/SKILL.md +0 -1
- package/.agy/skills/spec-setup/SKILL.md +0 -1
- package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.agy/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.agy/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.agy/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.claude/agents/cli-explore-agent.md +71 -68
- package/.claude/agents/workflow-analyzer.md +1 -0
- package/.claude/agents/workflow-debugger.md +1 -0
- package/.claude/agents/workflow-executor.md +1 -0
- package/.claude/commands/domain-add.md +69 -0
- package/.claude/commands/maestro-amend.md +0 -2
- package/.claude/commands/maestro-analyze.md +9 -0
- package/.claude/commands/maestro-brainstorm.md +10 -1
- package/.claude/commands/maestro-collab.md +14 -1
- package/.claude/commands/maestro-next.md +15 -4
- package/.claude/commands/maestro-overlay.md +4 -3
- package/.claude/commands/maestro-plan.md +12 -3
- package/.claude/commands/maestro-ralph.md +89 -14
- package/.claude/commands/maestro-tools-register.md +0 -6
- package/.claude/commands/maestro-ui-codify.md +0 -2
- package/.claude/commands/maestro.md +7 -6
- package/.claude/commands/manage-kg-extractors.md +0 -2
- package/.claude/commands/quality-test.md +0 -2
- package/.claude/commands/spec-load.md +0 -1
- package/.claude/commands/spec-setup.md +0 -1
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +15 -11
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
- package/.codex/skills/domain-add/SKILL.md +79 -0
- package/.codex/skills/domain-discover/SKILL.md +43 -0
- package/.codex/skills/domain-list/SKILL.md +38 -0
- package/.codex/skills/learn-follow/SKILL.md +0 -3
- package/.codex/skills/learn-investigate/SKILL.md +0 -3
- package/.codex/skills/learn-retro/SKILL.md +0 -2
- package/.codex/skills/maestro/SKILL.md +17 -11
- package/.codex/skills/maestro-amend/SKILL.md +0 -2
- package/.codex/skills/maestro-analyze/SKILL.md +16 -3
- package/.codex/skills/maestro-blueprint/SKILL.md +0 -4
- package/.codex/skills/maestro-brainstorm/SKILL.md +16 -2
- package/.codex/skills/maestro-collab/SKILL.md +14 -1
- package/.codex/skills/maestro-companion/SKILL.md +0 -2
- package/.codex/skills/maestro-fork/SKILL.md +0 -2
- package/.codex/skills/maestro-grill/SKILL.md +0 -1
- package/.codex/skills/maestro-next/SKILL.md +12 -5
- package/.codex/skills/maestro-plan/SKILL.md +17 -2
- package/.codex/skills/maestro-ralph/SKILL.md +4 -3
- package/.codex/skills/maestro-roadmap/SKILL.md +0 -2
- package/.codex/skills/manage-wiki/SKILL.md +0 -2
- package/.codex/skills/odyssey-debug/SKILL.md +0 -2
- package/.codex/skills/odyssey-improve/SKILL.md +0 -6
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +0 -3
- package/.codex/skills/odyssey-ui/SKILL.md +0 -3
- package/.codex/skills/spec-setup/SKILL.md +0 -2
- package/.codex/skills/team-coordinate/SKILL.md +0 -3
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +0 -2
- package/chains/_intent-map.json +36 -0
- package/chains/blueprint-driven.json +49 -0
- package/chains/grill-driven.json +51 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js +36 -0
- package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +13 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +11 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +492 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +6 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +92 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
- package/dashboard/dist-server/src/commands/hooks.js +49 -1
- package/dashboard/dist-server/src/commands/hooks.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
- package/dashboard/dist-server/src/hooks/session-context.js +37 -1
- package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
- package/dashboard/dist-server/src/search/daemon.d.ts +42 -0
- package/dashboard/dist-server/src/search/daemon.js +180 -0
- package/dashboard/dist-server/src/search/daemon.js.map +1 -0
- package/dashboard/dist-server/src/tools/domain-loader.d.ts +4 -1
- package/dashboard/dist-server/src/tools/domain-loader.js +56 -25
- package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/domain-schema.d.ts +1 -1
- package/dashboard/dist-server/src/tools/domain-schema.js +1 -1
- package/dist/shared/agent-types.d.ts +1 -1
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/api-explore/agent-loop.d.ts +14 -0
- package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -0
- package/dist/src/agents/api-explore/agent-loop.js +86 -0
- package/dist/src/agents/api-explore/agent-loop.js.map +1 -0
- package/dist/src/agents/api-explore/config.d.ts +42 -0
- package/dist/src/agents/api-explore/config.d.ts.map +1 -0
- package/dist/src/agents/api-explore/config.js +99 -0
- package/dist/src/agents/api-explore/config.js.map +1 -0
- package/dist/src/agents/api-explore/index.d.ts +2 -0
- package/dist/src/agents/api-explore/index.d.ts.map +1 -0
- package/dist/src/agents/api-explore/index.js +102 -0
- package/dist/src/agents/api-explore/index.js.map +1 -0
- package/dist/src/agents/api-explore/llm.d.ts +28 -0
- package/dist/src/agents/api-explore/llm.d.ts.map +1 -0
- package/dist/src/agents/api-explore/llm.js +48 -0
- package/dist/src/agents/api-explore/llm.js.map +1 -0
- package/dist/src/agents/api-explore/prompt-parser.d.ts +23 -0
- package/dist/src/agents/api-explore/prompt-parser.d.ts.map +1 -0
- package/dist/src/agents/api-explore/prompt-parser.js +73 -0
- package/dist/src/agents/api-explore/prompt-parser.js.map +1 -0
- package/dist/src/agents/api-explore/runner.d.ts +65 -0
- package/dist/src/agents/api-explore/runner.d.ts.map +1 -0
- package/dist/src/agents/api-explore/runner.js +196 -0
- package/dist/src/agents/api-explore/runner.js.map +1 -0
- package/dist/src/agents/api-explore/session.d.ts +23 -0
- package/dist/src/agents/api-explore/session.d.ts.map +1 -0
- package/dist/src/agents/api-explore/session.js +57 -0
- package/dist/src/agents/api-explore/session.js.map +1 -0
- package/dist/src/agents/api-explore/stream-json-emitter.d.ts +10 -0
- package/dist/src/agents/api-explore/stream-json-emitter.d.ts.map +1 -0
- package/dist/src/agents/api-explore/stream-json-emitter.js +19 -0
- package/dist/src/agents/api-explore/stream-json-emitter.js.map +1 -0
- package/dist/src/agents/api-explore/system-prompt.d.ts +2 -0
- package/dist/src/agents/api-explore/system-prompt.d.ts.map +1 -0
- package/dist/src/agents/api-explore/system-prompt.js +31 -0
- package/dist/src/agents/api-explore/system-prompt.js.map +1 -0
- package/dist/src/agents/api-explore/tools.d.ts +11 -0
- package/dist/src/agents/api-explore/tools.d.ts.map +1 -0
- package/dist/src/agents/api-explore/tools.js +168 -0
- package/dist/src/agents/api-explore/tools.js.map +1 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +3 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/cli.js +3 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/domain.d.ts.map +1 -1
- package/dist/src/commands/domain.js +5 -4
- package/dist/src/commands/domain.js.map +1 -1
- package/dist/src/commands/explore.d.ts +7 -0
- package/dist/src/commands/explore.d.ts.map +1 -0
- package/dist/src/commands/explore.js +201 -0
- package/dist/src/commands/explore.js.map +1 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +49 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/search.d.ts +21 -4
- package/dist/src/commands/search.d.ts.map +1 -1
- package/dist/src/commands/search.js +289 -93
- package/dist/src/commands/search.js.map +1 -1
- package/dist/src/commands/workspace.d.ts.map +1 -1
- package/dist/src/commands/workspace.js +9 -3
- package/dist/src/commands/workspace.js.map +1 -1
- package/dist/src/config/cli-tools-defaults.json +2 -1
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
- package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
- package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
- package/dist/src/graph/kg/surface/cli.js +5 -2
- package/dist/src/graph/kg/surface/cli.js.map +1 -1
- package/dist/src/hooks/session-context.d.ts.map +1 -1
- package/dist/src/hooks/session-context.js +37 -1
- package/dist/src/hooks/session-context.js.map +1 -1
- package/dist/src/ralph/cmd-next.js +64 -1
- package/dist/src/ralph/cmd-next.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +1 -0
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/dist/src/search/daemon.d.ts +43 -0
- package/dist/src/search/daemon.d.ts.map +1 -0
- package/dist/src/search/daemon.js +180 -0
- package/dist/src/search/daemon.js.map +1 -0
- package/dist/src/tools/__tests__/domain-search-debug.js +3 -1
- package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -1
- package/dist/src/tools/domain-loader.d.ts +4 -1
- package/dist/src/tools/domain-loader.d.ts.map +1 -1
- package/dist/src/tools/domain-loader.js +56 -25
- package/dist/src/tools/domain-loader.js.map +1 -1
- package/dist/src/tools/domain-schema.d.ts +1 -1
- package/dist/src/tools/domain-schema.js +1 -1
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +5 -3
- package/shared/agent-types.ts +1 -1
- package/templates/search-tools.md +22 -6
- package/workflows/agy-instructions.md +0 -4
- package/workflows/analyze.md +2 -2
- package/workflows/boundary-grill.md +50 -0
- package/workflows/brainstorm.md +6 -5
- package/workflows/claude-instructions.md +12 -0
- package/workflows/codebase-rebuild.md +0 -1
- package/workflows/codex-instructions.md +12 -0
- package/workflows/debug.md +0 -4
- package/workflows/domain-add.md +115 -0
- package/workflows/execute.md +7 -0
- package/workflows/explore-usage.md +128 -0
- package/workflows/finish-work.md +2 -6
- package/workflows/fork.md +0 -4
- package/workflows/grill.md +14 -1
- package/workflows/harvest.md +0 -3
- package/workflows/impeccable/audit.md +0 -2
- package/workflows/impeccable/codex.md +0 -4
- package/workflows/init.md +9 -0
- package/workflows/interview-mechanics.md +3 -2
- package/workflows/issue-analyze.md +0 -5
- package/workflows/issue-gaps-analyze.codex.md +0 -6
- package/workflows/knowledge-audit.md +0 -4
- package/workflows/learn.md +0 -6
- package/workflows/maestro.codex.md +0 -4
- package/workflows/maestro.md +31 -18
- package/workflows/merge.md +0 -4
- package/workflows/milestone-complete.md +0 -4
- package/workflows/overlays.md +0 -10
- package/workflows/plan.md +0 -2
- package/workflows/roadmap-common.md +0 -4
- package/workflows/tdd.md +0 -2
- package/workflows/tools-spec.md +1 -7
- package/workflows/ui-codify-extract.md +0 -2
- package/workflows/ui-codify-package.md +0 -2
package/workflows/maestro.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# Workflow: maestro
|
|
2
2
|
|
|
3
3
|
Intelligent coordinator that routes user intent to optimal command chain based on project state.
|
|
4
|
-
|
|
5
|
-
Default `auto` mode selects type based on step complexity. All execution dispatched to unified executor (`maestro-ralph-execute`).
|
|
4
|
+
Builds a `ralph_protocol_version: "1"` session: every executable step carries `skill,args,stage,scope,command_scope,command_path`; every cross-step gate is a `step.decision` node. All execution dispatched to unified executor (`maestro-ralph-execute`); the command body (`.claude/commands/maestro.md`) owns session build + dispatch. `--exec` is legacy input only — recorded to `legacy_options.exec_mode`, never changes execution. This brain is consumed for **classification only** (intent → task_type → chain); it does NOT prescribe execution semantics.
|
|
6
5
|
|
|
7
6
|
**Prerequisites:**
|
|
8
7
|
- None for initial invocation (can bootstrap)
|
|
@@ -110,6 +109,9 @@ Directly match user intent to the best `task_type` (maps to chain in chainMap).
|
|
|
110
109
|
| `overlay` | Create/edit command overlays |
|
|
111
110
|
| `update` | Update maestro itself |
|
|
112
111
|
| `harvest` | Extract knowledge from artifacts |
|
|
112
|
+
| `domain_add` | Register a domain term into glossary |
|
|
113
|
+
| `domain_list` | List registered domain terms |
|
|
114
|
+
| `domain_discover` | Discover domain term candidates from codebase |
|
|
113
115
|
| `wiki` | Manage wiki graph |
|
|
114
116
|
| `knowhow` | Manage knowhow entries |
|
|
115
117
|
| `impeccable_chain` | UI design — explore, general |
|
|
@@ -127,6 +129,9 @@ Directly match user intent to the best `task_type` (maps to chain in chainMap).
|
|
|
127
129
|
| `team_tech_debt` | Team tech debt remediation |
|
|
128
130
|
| `team_lifecycle` | Team full lifecycle (plan+dev+test+review) |
|
|
129
131
|
| `full-lifecycle` | Complete phase: plan→execute→review→test→audit |
|
|
132
|
+
| `grill` | Stress-test a plan/idea against codebase reality (Socratic; `-y` → Auto mode code-answers, stage NOT skipped) |
|
|
133
|
+
| `blueprint` | Formal spec package — 7-phase spec-generate |
|
|
134
|
+
| `analyze-macro` | Broad/medium intent, no numeric phase — produces scope_verdict for ralph `post-analyze-scope` |
|
|
130
135
|
| `brainstorm-driven` | Start from exploration/brainstorm |
|
|
131
136
|
| `spec-driven` | From spec/requirements (heavy, with init) |
|
|
132
137
|
| `roadmap-driven` | From requirements (light, with init) |
|
|
@@ -170,7 +175,7 @@ Display intent analysis: action, object, scope, issue_id, phase_ref, task_type,
|
|
|
170
175
|
|
|
171
176
|
**Resolution order:**
|
|
172
177
|
1. `state_continue` → `detectNextAction(projectState)` → `{ chain, argsOverride? }`. Apply argsOverride before template substitution.
|
|
173
|
-
2. Task-type aliases → named chain: `spec_generate`→`spec-driven`, `brainstorm`→`brainstorm-driven`, `issue_execute`→`issue-full`
|
|
178
|
+
2. Task-type aliases → named chain: `spec_generate`→`spec-driven`, `brainstorm`→`brainstorm-driven`, `grill`→`grill-driven`, `blueprint`→`blueprint-driven`, `analyze_macro`→`analyze-plan-execute`, `issue_execute`→`issue-full`
|
|
174
179
|
3. `chainMap[taskType]` → direct lookup
|
|
175
180
|
|
|
176
181
|
Full `chainMap` and `detectNextAction` are in the [Reference Data](#reference-data) section.
|
|
@@ -210,9 +215,9 @@ When executing issue chains, replace `{issue_id}` in step args with resolved ID.
|
|
|
210
215
|
**If not `autoYes`:** Confirm with user — show numbered steps, offer: Execute / Execute from step N / Cancel.
|
|
211
216
|
If user chooses "Execute from step N": set `$START_STEP = N` (used in 3f to set `current_step`).
|
|
212
217
|
|
|
213
|
-
### 3e: Step-level
|
|
218
|
+
### 3e: Step-level command resolution (v1)
|
|
214
219
|
|
|
215
|
-
|
|
220
|
+
> **Superseded by `ralph_protocol_version: "1"`.** The command body resolves `command_scope`/`command_path` per execution step via `maestro ralph skills --platform claude --json --quiet`; cross-step gates carry `step.decision`. Do NOT write a per-step `type` field (legacy skill/cli). `--exec` is recorded to `legacy_options.exec_mode` only — it never changes execution. FSM owns step ordering + decision evaluation (control-plane precedence, see command-body invariant 15).
|
|
216
221
|
|
|
217
222
|
```
|
|
218
223
|
If execMode is 'cli' or 'internal' → force that type for all steps ("cli" or "skill").
|
|
@@ -287,7 +292,7 @@ status.json already created in Step 3g, TodoWrite initialized in Step 3h.
|
|
|
287
292
|
Skill({ skill: "maestro-ralph-execute" })
|
|
288
293
|
```
|
|
289
294
|
|
|
290
|
-
The unified executor discovers the latest running session from `.workflow/.maestro/*/status.json` and executes steps
|
|
295
|
+
The unified executor discovers the latest running session from `.workflow/.maestro/*/status.json` and executes steps in order. maestro sessions (source: "maestro") are `ralph_protocol_version: "1"`: execution steps load via `maestro ralph next`; any `step.decision` node hands off to `Skill("maestro-ralph")` for evaluation (same mechanism as ralph sessions). Decision nodes ARE supported in maestro sessions.
|
|
291
296
|
|
|
292
297
|
---
|
|
293
298
|
|
|
@@ -300,6 +305,9 @@ const chainMap = {
|
|
|
300
305
|
// ── Single-step ──
|
|
301
306
|
'status': [{ cmd: 'manage-status' }],
|
|
302
307
|
'init': [{ cmd: 'maestro-init' }],
|
|
308
|
+
'grill': [{ cmd: 'maestro-grill', args: '"{description}"' }],
|
|
309
|
+
'blueprint': [{ cmd: 'maestro-blueprint', args: '"{description}"' }],
|
|
310
|
+
'analyze-macro': [{ cmd: 'maestro-analyze', args: '"{description}"' }],
|
|
303
311
|
'analyze': [{ cmd: 'maestro-analyze', args: '{phase}' }],
|
|
304
312
|
'analyze-quick': [{ cmd: 'maestro-analyze', args: '{phase} -q' }],
|
|
305
313
|
'ui_design': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }],
|
|
@@ -327,6 +335,9 @@ const chainMap = {
|
|
|
327
335
|
'spec_add': [{ cmd: 'spec-add', args: '"{description}"' }],
|
|
328
336
|
'spec_load': [{ cmd: 'spec-load' }],
|
|
329
337
|
'spec_map': [{ cmd: 'manage-codebase-rebuild' }],
|
|
338
|
+
'domain_add': [{ cmd: 'domain-add', args: '"{description}"' }],
|
|
339
|
+
'domain_list': [{ cmd: 'domain-list' }],
|
|
340
|
+
'domain_discover': [{ cmd: 'domain-discover' }],
|
|
330
341
|
'knowhow_capture': [{ cmd: 'manage-knowhow-capture', args: '"{description}"' }],
|
|
331
342
|
'issue': [{ cmd: 'manage-issue', args: '"{description}"' }],
|
|
332
343
|
'issue_discover': [{ cmd: 'manage-issue-discover', args: '"{description}"' }],
|
|
@@ -349,20 +360,22 @@ const chainMap = {
|
|
|
349
360
|
'team_tech_debt': [{ cmd: 'team-tech-debt', args: '"{description}"' }],
|
|
350
361
|
|
|
351
362
|
// ── Multi-step chains ──
|
|
352
|
-
'full-lifecycle': [{ cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'maestro-milestone-audit' }],
|
|
353
|
-
'spec-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '--mode full "{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
354
|
-
'roadmap-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
355
|
-
'
|
|
363
|
+
'full-lifecycle': [{ cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'maestro-milestone-audit' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
364
|
+
'spec-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '--mode full "{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
365
|
+
'roadmap-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
366
|
+
'grill-driven': [{ cmd: 'maestro-grill', args: '"{description}"' }, { cmd: 'maestro-brainstorm', args: '"{description}" --from grill:{grill_id}' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
367
|
+
'blueprint-driven': [{ cmd: 'maestro-init' }, { cmd: 'maestro-blueprint', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
368
|
+
'brainstorm-driven': [{ cmd: 'maestro-brainstorm', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
356
369
|
'brainstorm_visualize': [{ cmd: 'brainstorm-visualize', args: '"{description}"' }],
|
|
357
370
|
'impeccable-build': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
358
371
|
'impeccable-driven': [{ cmd: 'maestro-impeccable', args: '"{description}" --chain build' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
359
|
-
'analyze-plan-execute': [{ cmd: 'maestro-analyze', args: '"{description}" -q' }, { cmd: 'maestro-plan', args: '--dir {scratch_dir}' }, { cmd: 'maestro-execute', args: '--dir {scratch_dir}' }],
|
|
372
|
+
'analyze-plan-execute': [{ cmd: 'maestro-analyze', args: '"{description}" -q' }, { cmd: 'maestro-plan', args: '--dir {scratch_dir}' }, { cmd: 'maestro-execute', args: '--dir {scratch_dir}' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
360
373
|
'quality-loop': [{ cmd: 'quality-review', args: '{phase}' }, { cmd: 'quality-auto-test', args: '{phase}' }, { cmd: 'quality-test', args: '{phase}' }, { cmd: 'quality-debug', args: '--from-uat {phase}' }, { cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
361
374
|
'milestone-close': [{ cmd: 'maestro-milestone-audit' }, { cmd: 'maestro-milestone-complete' }],
|
|
362
375
|
'next-milestone': [{ cmd: 'maestro-roadmap', args: '"{description}"' }, { cmd: 'maestro-plan', args: '{phase}' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
363
376
|
'review-fix': [{ cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }, { cmd: 'quality-review', args: '{phase}' }],
|
|
364
377
|
'quality-loop-partial': [{ cmd: 'maestro-plan', args: '{phase} --gaps' }, { cmd: 'maestro-execute', args: '{phase}' }],
|
|
365
|
-
'issue-full': [{ cmd: 'maestro-analyze', args: '--gaps {issue_id}' }, { cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }],
|
|
378
|
+
'issue-full': [{ cmd: 'maestro-analyze', args: '--gaps {issue_id}' }, { cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'quality-review', args: '{phase}' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }, { cmd: 'manage-harvest', args: '--auto' }],
|
|
366
379
|
'issue-quick': [{ cmd: 'maestro-plan', args: '--gaps' }, { cmd: 'maestro-execute', args: '' }, { cmd: 'manage-issue', args: 'close {issue_id} --resolution fixed' }],
|
|
367
380
|
'milestone-release': [{ cmd: 'maestro-milestone-audit' }, { cmd: 'maestro-milestone-release' }],
|
|
368
381
|
|
|
@@ -417,19 +430,19 @@ detectNextAction(state):
|
|
|
417
430
|
|
|
418
431
|
| Chain | Steps | Use Case |
|
|
419
432
|
|-------|-------|----------|
|
|
420
|
-
| `full-lifecycle` | plan → execute → review → test → audit | Full milestone completion |
|
|
421
|
-
| `blueprint-driven` | init → blueprint → plan → execute | From idea/requirements (heavy) |
|
|
422
|
-
| `roadmap-driven` | init → roadmap → plan → execute | From requirements (light) |
|
|
423
|
-
| `brainstorm-driven` | brainstorm → plan → execute | From exploration |
|
|
433
|
+
| `full-lifecycle` | plan → execute → review → test → audit → harvest | Full milestone completion |
|
|
434
|
+
| `blueprint-driven` | init → blueprint → plan → execute → harvest | From idea/requirements (heavy) |
|
|
435
|
+
| `roadmap-driven` | init → roadmap → plan → execute → harvest | From requirements (light) |
|
|
436
|
+
| `brainstorm-driven` | brainstorm → plan → execute → harvest | From exploration |
|
|
424
437
|
| `impeccable-build` | impeccable --chain build → plan → execute | From design system generation |
|
|
425
|
-
| `analyze-plan-execute` | analyze -q → plan --dir → execute --dir | Fast track (scratch mode) |
|
|
438
|
+
| `analyze-plan-execute` | analyze -q → plan --dir → execute --dir → harvest | Fast track (scratch mode) |
|
|
426
439
|
| `review-fix` | plan --gaps → execute → review | Fix review-blocked issues |
|
|
427
440
|
| `quality-loop` | review → test-gen → test → debug → plan --gaps → execute | Fix quality issues |
|
|
428
441
|
| `quality-loop-partial` | plan --gaps → execute | Partial quality fix cycle |
|
|
429
442
|
| `milestone-close` | audit → complete | Close a milestone |
|
|
430
443
|
| `milestone-release` | audit → release | Release with version tag |
|
|
431
444
|
| `next-milestone` | roadmap → plan → execute | Next milestone (auto-loads deferred) |
|
|
432
|
-
| `issue-full` | analyze → plan → execute → review → close | Issue with quality gate |
|
|
445
|
+
| `issue-full` | analyze → plan → execute → review → close → harvest | Issue with quality gate |
|
|
433
446
|
| `issue-quick` | plan → execute → close | Issue fast path |
|
|
434
447
|
|
|
435
448
|
### Pipeline Examples
|
package/workflows/merge.md
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Workflow: merge
|
|
2
2
|
|
|
3
|
-
Two-phase merge of a completed milestone worktree branch back into main. Phase 1: git merge (source code). Phase 2: artifact sync (workflow state). Artifact sync only proceeds after successful git merge.
|
|
4
|
-
|
|
5
|
-
Merges operate at the **milestone level** — one worktree per milestone, all phases merged together.
|
|
6
|
-
|
|
7
3
|
---
|
|
8
4
|
|
|
9
5
|
## Step 1: Parse Arguments and Flags
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: milestone-complete
|
|
2
2
|
|
|
3
|
-
Archive completed milestone, move artifacts to history, and prepare for next.
|
|
4
|
-
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
## Step 1: Validation
|
|
@@ -167,5 +165,3 @@ Next steps:
|
|
|
167
165
|
/maestro-analyze -- Start next milestone (standard only)
|
|
168
166
|
/manage-status -- View project state
|
|
169
167
|
```
|
|
170
|
-
|
|
171
|
-
**Adhoc milestone note:** When completing an adhoc milestone, the "Next steps" section omits "Start next milestone" since adhoc milestones have no successor in a roadmap chain.
|
package/workflows/overlays.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Command Overlays — Format & Contract
|
|
2
2
|
|
|
3
|
-
Overlays are non-invasive patches for `.claude/commands/*.md` files. They let users and operators inject additional steps, reading requirements, or gating rules into any slash command without editing the pristine source files shipped by the `maestro` package. Every `maestro install` run reapplies them automatically.
|
|
4
|
-
|
|
5
3
|
## File format
|
|
6
4
|
|
|
7
5
|
Each overlay is a JSON file at `~/.maestro/overlays/<name>.json`:
|
|
@@ -83,10 +81,6 @@ On apply, each patch's `content` is wrapped in hashed markers:
|
|
|
83
81
|
2. Restore `.md.disabled` state from the prior install
|
|
84
82
|
3. **Apply overlays** — reads `~/.maestro/overlays/*.json`, applies each enabled one to the just-installed commands, writes `~/.maestro/manifests/overlays-<scope>.json`
|
|
85
83
|
|
|
86
|
-
Because step 1 always overwrites commands with pristine content, the apply in step 3 is always clean — no drift, no stacking across reinstalls.
|
|
87
|
-
|
|
88
|
-
Users can also run `maestro overlay apply` standalone between installs — it's idempotent and safe to call any number of times.
|
|
89
|
-
|
|
90
84
|
## CLI reference
|
|
91
85
|
|
|
92
86
|
```bash
|
|
@@ -96,10 +90,6 @@ maestro overlay add <file.json> # validate, install, apply
|
|
|
96
90
|
maestro overlay remove <name> # strip markers, delete overlay file
|
|
97
91
|
```
|
|
98
92
|
|
|
99
|
-
## Authoring via the `/maestro-overlay` skill
|
|
100
|
-
|
|
101
|
-
Users rarely write overlay JSON by hand. The `/maestro-overlay` skill takes natural-language intent, reads the pristine target command to find the right section, drafts the overlay JSON, and runs `maestro overlay add` for you. See `.claude/commands/maestro-overlay.md`.
|
|
102
|
-
|
|
103
93
|
## Edge cases
|
|
104
94
|
|
|
105
95
|
- **Disabled targets** (`.md.disabled`) are skipped silently.
|
package/workflows/plan.md
CHANGED
|
@@ -76,8 +76,6 @@ When plan resolves to `scope == "standalone"` AND `state.json.current_milestone
|
|
|
76
76
|
5. Use this milestone ID for artifact registration (P5 Step 4)
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
This ensures downstream commands (verify, milestone-audit, milestone-complete) have a valid milestone context without requiring roadmap.
|
|
80
|
-
|
|
81
79
|
**Backward compatibility:** If `state.json.milestones[]` already has entries with `current_milestone != null`, skip creation (existing milestone takes precedence). Missing `type` field on legacy milestones defaults to `"standard"`.
|
|
82
80
|
|
|
83
81
|
---
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Workflow: Roadmap Common
|
|
2
2
|
|
|
3
|
-
Shared logic for roadmap generation — used by roadmap.md.
|
|
4
|
-
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
## Worktree Guard
|
|
@@ -18,8 +16,6 @@ Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
|
|
|
18
16
|
specs_content = maestro spec load --category arch
|
|
19
17
|
```
|
|
20
18
|
|
|
21
|
-
Ensure phases respect architectural constraints.
|
|
22
|
-
|
|
23
19
|
### Load Project History (if `.workflow/` exists)
|
|
24
20
|
|
|
25
21
|
Read project artifacts to understand what has already been built:
|
package/workflows/tdd.md
CHANGED
package/workflows/tools-spec.md
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
# Tool Spec Reference
|
|
2
2
|
|
|
3
|
-
<reference>
|
|
4
|
-
Tool specs are a **subtype of knowhow** (`tool: true` frontmatter on knowhow documents). For the full knowhow data model, lifecycle, and management commands, see `knowhow.md`. This file documents only the tool-specific subset.
|
|
5
|
-
</reference>
|
|
6
|
-
|
|
7
|
-
Shared reference for tool spec registration and execution commands.
|
|
8
|
-
|
|
9
3
|
## Storage
|
|
10
4
|
|
|
11
|
-
|
|
5
|
+
Path: `.workflow/knowhow/` with `tool: true` in YAML frontmatter.
|
|
12
6
|
|
|
13
7
|
## Entry Format
|
|
14
8
|
|