maestro-flow 0.3.15 → 0.3.17
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/agents/workflow-planner.md +24 -8
- package/.claude/commands/maestro-amend.md +300 -0
- package/.claude/commands/maestro-analyze.md +1 -49
- package/.claude/commands/maestro-execute.md +2 -56
- package/.claude/commands/maestro-fork.md +3 -50
- package/.claude/commands/maestro-merge.md +2 -26
- package/.claude/commands/maestro-milestone-audit.md +1 -5
- package/.claude/commands/maestro-milestone-complete.md +1 -7
- package/.claude/commands/maestro-plan.md +6 -127
- package/.claude/commands/maestro-roadmap.md +3 -101
- package/.claude/commands/maestro-spec-generate.md +1 -25
- package/.claude/commands/maestro-ui-design.md +14 -73
- package/.claude/commands/maestro-verify.md +1 -32
- package/.claude/commands/maestro.md +13 -30
- package/.claude/commands/manage-harvest.md +7 -44
- package/.claude/commands/manage-knowhow-capture.md +193 -0
- package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
- package/.claude/commands/manage-learn.md +3 -28
- package/.claude/commands/manage-status.md +1 -20
- package/.claude/commands/manage-wiki.md +1 -1
- package/.claude/commands/quality-business-test.md +1 -1
- package/.claude/commands/quality-debug.md +3 -18
- package/.claude/commands/quality-integration-test.md +3 -23
- package/.claude/commands/quality-retrospective.md +1 -28
- package/.claude/commands/quality-review.md +3 -52
- package/.claude/commands/quality-test-gen.md +1 -10
- package/.claude/commands/quality-test.md +3 -25
- package/.claude/commands/spec-add.md +1 -21
- package/.claude/commands/spec-load.md +1 -16
- package/.claude/commands/wiki-connect.md +2 -112
- package/.claude/commands/wiki-digest.md +2 -141
- package/.codex/skills/learn-decompose/SKILL.md +2 -8
- package/.codex/skills/maestro/SKILL.md +60 -146
- package/.codex/skills/maestro-analyze/SKILL.md +52 -150
- package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
- package/.codex/skills/maestro-composer/SKILL.md +4 -76
- package/.codex/skills/maestro-execute/SKILL.md +46 -177
- package/.codex/skills/maestro-init/SKILL.md +7 -51
- package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
- package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
- package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
- package/.codex/skills/maestro-overlay/SKILL.md +23 -92
- package/.codex/skills/maestro-plan/SKILL.md +70 -166
- package/.codex/skills/maestro-player/SKILL.md +24 -149
- package/.codex/skills/maestro-quick/SKILL.md +5 -48
- package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
- package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
- package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
- package/.codex/skills/maestro-verify/SKILL.md +39 -136
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
- package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
- package/.codex/skills/manage-issue/SKILL.md +1 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
- package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
- package/.codex/skills/manage-learn/SKILL.md +17 -71
- package/.codex/skills/manage-status/SKILL.md +4 -35
- package/.codex/skills/manage-wiki/SKILL.md +1 -1
- package/.codex/skills/quality-business-test/SKILL.md +2 -14
- package/.codex/skills/quality-debug/SKILL.md +41 -133
- package/.codex/skills/quality-integration-test/SKILL.md +36 -145
- package/.codex/skills/quality-refactor/SKILL.md +6 -59
- package/.codex/skills/quality-retrospective/SKILL.md +292 -531
- package/.codex/skills/quality-review/SKILL.md +30 -65
- package/.codex/skills/quality-sync/SKILL.md +2 -11
- package/.codex/skills/quality-test/SKILL.md +4 -45
- package/.codex/skills/quality-test-gen/SKILL.md +33 -121
- package/.codex/skills/spec-add/SKILL.md +2 -9
- package/.codex/skills/spec-load/SKILL.md +4 -14
- package/.codex/skills/spec-map/SKILL.md +4 -37
- package/.codex/skills/spec-remove/SKILL.md +3 -35
- package/.codex/skills/spec-setup/SKILL.md +2 -19
- package/.codex/skills/team-coordinate/SKILL.md +20 -132
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
- package/.codex/skills/team-executor/SKILL.md +7 -66
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
- package/.codex/skills/team-executor/specs/session-schema.md +22 -56
- package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
- package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
- package/.codex/skills/team-review/SKILL.md +12 -86
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
- package/.codex/skills/team-tech-debt/SKILL.md +11 -50
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
- package/.codex/skills/team-testing/SKILL.md +14 -99
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
- package/.codex/skills/wiki-connect/SKILL.md +2 -5
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/chains/_intent-map.json +7 -7
- package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
- package/chains/singles/{memory.json → knowhow.json} +6 -6
- package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
- package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
- package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
- package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
- package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
- package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
- package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
- package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
- package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
- package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
- package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
- package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
- package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
- package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
- package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
- package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
- package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
- package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
- package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
- package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
- package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
- package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
- package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
- package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
- package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
- package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
- package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
- package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
- package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
- package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
- package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
- package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
- package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
- package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
- package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
- package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
- package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
- package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
- package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
- package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
- package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
- package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
- package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
- package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
- 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.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +11 -8
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +11 -8
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +1 -1
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/ExecutionView.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ExecutionView.js +4 -1
- package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +4 -1
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install.js +5 -5
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts +10 -0
- package/dist/src/commands/knowhow.d.ts.map +1 -0
- package/dist/src/commands/knowhow.js +217 -0
- package/dist/src/commands/knowhow.js.map +1 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
- package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
- package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/index.js +70 -44
- package/dist/src/commands/overlay-ui/index.js.map +1 -1
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +4 -3
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +31 -21
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/core/manifest.d.ts +8 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +3 -1
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +40 -13
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +6 -0
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +5 -1
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +1 -1
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/hooks/context-monitor.js +1 -1
- package/dist/src/hooks/context-monitor.js.map +1 -1
- package/dist/src/hooks/skill-context.js +1 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +73 -4
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/index.js +2 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts +21 -0
- package/dist/src/tools/store-knowhow.d.ts.map +1 -0
- package/dist/src/tools/store-knowhow.js +295 -0
- package/dist/src/tools/store-knowhow.js.map +1 -0
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/workflows/analyze.md +61 -185
- package/workflows/brainstorm.md +3 -23
- package/workflows/codebase-rebuild.md +79 -191
- package/workflows/codebase-refresh.md +26 -124
- package/workflows/debug.md +21 -141
- package/workflows/execute.md +183 -350
- package/workflows/fork.md +72 -230
- package/workflows/harvest.md +12 -79
- package/workflows/init.md +3 -17
- package/workflows/integration-test.md +21 -190
- package/workflows/issue-analyze.md +35 -153
- package/workflows/issue-discover.md +88 -263
- package/workflows/issue-execute.md +29 -208
- package/workflows/issue-plan.md +33 -154
- package/workflows/issue.md +44 -202
- package/workflows/knowhow.md +374 -0
- package/workflows/learn.md +30 -177
- package/workflows/maestro-coordinate.codex.md +77 -362
- package/workflows/maestro-link-coordinate.md +12 -61
- package/workflows/maestro.codex.md +124 -457
- package/workflows/maestro.md +562 -976
- package/workflows/map.md +16 -53
- package/workflows/merge.md +42 -197
- package/workflows/milestone-audit.md +5 -43
- package/workflows/milestone-complete.md +11 -60
- package/workflows/plan.md +188 -387
- package/workflows/quick.md +25 -174
- package/workflows/refactor.md +28 -221
- package/workflows/retrospective.md +104 -443
- package/workflows/review.md +87 -299
- package/workflows/roadmap.md +117 -97
- package/workflows/spec-generate.md +22 -118
- package/workflows/specs-add.md +5 -25
- package/workflows/specs-load.md +1 -5
- package/workflows/specs-remove.md +0 -11
- package/workflows/specs-setup.md +11 -47
- package/workflows/status.md +58 -200
- package/workflows/sync.md +28 -141
- package/workflows/test-gen.md +23 -100
- package/workflows/test.md +15 -125
- package/workflows/ui-design.md +139 -465
- package/workflows/ui-style.md +36 -228
- package/workflows/verify.md +52 -273
- package/workflows/wiki-connect.md +9 -46
- package/workflows/wiki-digest.md +7 -50
- package/workflows/wiki-manage.md +11 -108
- package/.claude/commands/maestro-coordinate.md +0 -63
- package/.claude/commands/manage-memory-capture.md +0 -59
- package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
- package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
- package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
- package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
- package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
- package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
- package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
- package/workflows/maestro-coordinate.md +0 -582
- package/workflows/memory.md +0 -451
package/workflows/roadmap.md
CHANGED
|
@@ -6,35 +6,16 @@ Interactive roadmap creation with iterative refinement. Lightweight path from re
|
|
|
6
6
|
|
|
7
7
|
## Worktree Guard
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
# Block in worktree
|
|
11
|
-
IF file_exists(".workflow/worktree-scope.json"):
|
|
12
|
-
ERROR "Cannot run maestro-roadmap inside a worktree. Run from the main worktree."
|
|
13
|
-
EXIT
|
|
14
|
-
```
|
|
9
|
+
Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
|
|
15
10
|
|
|
16
11
|
## Step 1: Session Initialization
|
|
17
12
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const modeMatch = $ARGUMENTS.match(/(?:--mode|-m)\s+(progressive|direct|auto)/)
|
|
25
|
-
const requestedMode = modeMatch ? modeMatch[1] : 'auto'
|
|
26
|
-
const brainstormMatch = $ARGUMENTS.match(/--from-brainstorm\s+(\S+)/)
|
|
27
|
-
|
|
28
|
-
// Clean requirement text
|
|
29
|
-
const requirement = $ARGUMENTS
|
|
30
|
-
.replace(/--yes|-y|--continue|-c|--mode\s+\w+|-m\s+\w+|--from-brainstorm\s+\S+/g, '')
|
|
31
|
-
.trim()
|
|
32
|
-
|
|
33
|
-
const slug = requirement.toLowerCase()
|
|
34
|
-
.replace(/[^a-z0-9\u4e00-\u9fa5]+/g, '-')
|
|
35
|
-
.substring(0, 40)
|
|
36
|
-
const dateStr = getUtc8ISOString().substring(0, 10)
|
|
37
|
-
```
|
|
13
|
+
Parse flags from `$ARGUMENTS`:
|
|
14
|
+
- `--yes` / `-y` → auto mode
|
|
15
|
+
- `--continue` / `-c` → resume from last state
|
|
16
|
+
- `--mode` / `-m` → `progressive|direct|auto` (default: auto)
|
|
17
|
+
- `--from-brainstorm <SESSION-ID>` → import brainstorm session
|
|
18
|
+
- Remaining text → requirement (slugified for directory name)
|
|
38
19
|
|
|
39
20
|
**Session directory**: `.workflow/.roadmap/RMAP-{slug}-{date}/`
|
|
40
21
|
|
|
@@ -56,23 +37,9 @@ Ensure phases in Step 2 respect architectural constraints.
|
|
|
56
37
|
|
|
57
38
|
Read project artifacts to understand what has already been built and what carries forward:
|
|
58
39
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- "### Validated" section → already_shipped (completed features, DO NOT re-plan)
|
|
63
|
-
- "### Active" section → current_scope (features to plan for)
|
|
64
|
-
- "## Context" section → project_history (milestone summaries, prior work)
|
|
65
|
-
- "## Key Decisions" section → locked_decisions (constraints on new phases)
|
|
66
|
-
|
|
67
|
-
IF .workflow/state.json exists:
|
|
68
|
-
Read state.json.accumulated_context:
|
|
69
|
-
- deferred[] → candidate_requirements (explicitly pushed to this milestone)
|
|
70
|
-
- key_decisions[] → architectural_constraints
|
|
71
|
-
- blockers[] → known_risks
|
|
72
|
-
|
|
73
|
-
IF .workflow/codebase/ exists (from codebase-rebuild or codebase-refresh):
|
|
74
|
-
Read available codebase docs for feature inventory
|
|
75
|
-
```
|
|
40
|
+
- `project.md` → already_shipped (Validated), current_scope (Active), project_history (Context), locked_decisions (Key Decisions)
|
|
41
|
+
- `state.json.accumulated_context` → deferred[] (candidate reqs), key_decisions[] (constraints), blockers[] (risks)
|
|
42
|
+
- `.workflow/codebase/` → feature inventory from codebase docs
|
|
76
43
|
|
|
77
44
|
**Context assembly** — pass to Step 2 as `project_context`:
|
|
78
45
|
```json
|
|
@@ -119,42 +86,14 @@ IF .workflow/codebase/ exists (from codebase-rebuild or codebase-refresh):
|
|
|
119
86
|
|
|
120
87
|
**Trigger**: Technology keywords detected in requirement or codebase exploration found external dependencies. Auto-trigger in auto mode (`-y`). Skip if requirement is purely organizational.
|
|
121
88
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<objective>
|
|
131
|
-
Research API details and technology specifics for: {requirement}
|
|
132
|
-
Mode: API Research
|
|
133
|
-
</objective>
|
|
134
|
-
|
|
135
|
-
<context>
|
|
136
|
-
Technologies identified: {researchTopics}
|
|
137
|
-
Codebase tech stack: {codebase_exploration.tech_stack or "none"}
|
|
138
|
-
</context>
|
|
139
|
-
|
|
140
|
-
<task>
|
|
141
|
-
For each identified technology/API:
|
|
142
|
-
1. Current stable version and key capabilities
|
|
143
|
-
2. Core API surface: key endpoints/methods, auth model
|
|
144
|
-
3. Integration patterns and recommended setup
|
|
145
|
-
4. Known limitations, breaking changes, or deprecations
|
|
146
|
-
5. Effort estimation signals (simple wrapper vs complex integration)
|
|
147
|
-
|
|
148
|
-
Focus on details that affect phase decomposition and dependency ordering.
|
|
149
|
-
Be prescriptive. Return structured markdown only — do NOT write files.
|
|
150
|
-
</task>
|
|
151
|
-
""",
|
|
152
|
-
run_in_background=false
|
|
153
|
-
)
|
|
154
|
-
apiResearchContext = agent_output
|
|
155
|
-
ELSE:
|
|
156
|
-
apiResearchContext = null
|
|
157
|
-
```
|
|
89
|
+
Extract named technologies/APIs/frameworks/protocols from requirement + codebase exploration.
|
|
90
|
+
|
|
91
|
+
If topics found → spawn `workflow-external-researcher` agent for API research:
|
|
92
|
+
- Per technology: stable version, core API surface, auth model, integration patterns, limitations, effort signals
|
|
93
|
+
- Focus on details affecting phase decomposition and dependency ordering
|
|
94
|
+
- Output → `apiResearchContext` (in-memory)
|
|
95
|
+
|
|
96
|
+
If no topics or research fails → `apiResearchContext = null`, continue.
|
|
158
97
|
|
|
159
98
|
`apiResearchContext` is passed into:
|
|
160
99
|
- Step 3 (Decomposition): technology complexity informs phase sizing and ordering
|
|
@@ -163,12 +102,8 @@ IF .workflow/codebase/ exists (from codebase-rebuild or codebase-refresh):
|
|
|
163
102
|
If research fails: `apiResearchContext = null`, continue without external context.
|
|
164
103
|
|
|
165
104
|
4. **Assess Uncertainty**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
domain_familiarity, requirement_stability
|
|
169
|
-
Each: low | medium | high
|
|
170
|
-
≥3 high → progressive, ≥3 low → direct, else → ask
|
|
171
|
-
```
|
|
105
|
+
- Factors: scope_clarity, technical_risk, dependency_unknown, domain_familiarity, requirement_stability (each: low/medium/high)
|
|
106
|
+
- >=3 high → progressive, >=3 low → direct, else → ask
|
|
172
107
|
|
|
173
108
|
5. **Strategy Selection** (skip if `-m` specified or `-y`)
|
|
174
109
|
- Present uncertainty assessment
|
|
@@ -321,15 +256,100 @@ Phase directories use `{NN}-{slug}` format (e.g., `01-auth`, `02-api`).
|
|
|
321
256
|
|
|
322
257
|
Display summary and offer next steps:
|
|
323
258
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
259
|
+
Display summary (strategy, phase count, milestones, roadmap path) and offer next steps:
|
|
260
|
+
- `maestro-init` — set up project (if not yet initialized)
|
|
261
|
+
- `maestro-plan 1` — plan first phase
|
|
262
|
+
- `maestro-brainstorm 1` — explore first phase ideas
|
|
263
|
+
- `manage-status` — view project dashboard
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Mode: Revise (`--revise [instructions]`)
|
|
268
|
+
|
|
269
|
+
Revise an existing roadmap while preserving completed phase progress.
|
|
270
|
+
|
|
271
|
+
**Pre-conditions:**
|
|
272
|
+
- `.workflow/roadmap.md` exists
|
|
273
|
+
- `.workflow/state.json` exists (for progress tracking)
|
|
274
|
+
|
|
275
|
+
**Execution flow:**
|
|
276
|
+
|
|
277
|
+
1. **Load current state**
|
|
278
|
+
- Read `.workflow/roadmap.md` — parse milestones, phases, dependencies, progress markers
|
|
279
|
+
- Read `.workflow/state.json` — get artifact registry, current milestone
|
|
280
|
+
- Identify completed vs in-progress vs pending phases
|
|
281
|
+
|
|
282
|
+
2. **Obtain revision instructions**
|
|
283
|
+
- If `--revise "instructions text"` provided → use directly as change directive
|
|
284
|
+
- If `--revise` without instructions → use AskUserQuestion to ask user what to change
|
|
285
|
+
- Show current roadmap summary with phase statuses
|
|
286
|
+
- Present options: add/remove/reorder phases, modify scope/criteria/deps, move between milestones
|
|
287
|
+
- Capture change instructions from response
|
|
288
|
+
|
|
289
|
+
3. **Impact analysis**
|
|
290
|
+
- For each proposed change, assess impact on:
|
|
291
|
+
- Phase dependency chain (re-validate no circular deps)
|
|
292
|
+
- Requirement coverage (every Active requirement still mapped)
|
|
293
|
+
- Completed phases (warn if change invalidates completed work)
|
|
294
|
+
- Existing plan artifacts (warn if plan exists for affected phase)
|
|
295
|
+
- Present impact summary for confirmation
|
|
296
|
+
|
|
297
|
+
4. **Apply revisions**
|
|
298
|
+
- Update `.workflow/roadmap.md` preserving:
|
|
299
|
+
- Completed phase progress markers (checkmarks, completion dates)
|
|
300
|
+
- Phase numbering for completed phases (renumber only pending phases)
|
|
301
|
+
- Cross-references from state.json artifacts
|
|
302
|
+
- Update `state.json` if milestone structure changed
|
|
303
|
+
- Add revision log entry to roadmap.md metadata section
|
|
304
|
+
|
|
305
|
+
5. **Post-revision validation**
|
|
306
|
+
- Re-check dependency integrity (no circular deps)
|
|
307
|
+
- Re-check requirement coverage (every Active req mapped)
|
|
308
|
+
- Verify completed phases unaffected
|
|
309
|
+
|
|
310
|
+
**Next-step routing on completion:**
|
|
311
|
+
- Phases changed, need re-analysis → `/maestro-analyze {phase}`
|
|
312
|
+
- Phases changed, ready to plan → `/maestro-plan {phase}`
|
|
313
|
+
- Only pending phases adjusted → `/maestro-plan` (continue from where left off)
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Mode: Review (`--review`)
|
|
318
|
+
|
|
319
|
+
Read-only health assessment of the current roadmap.
|
|
320
|
+
|
|
321
|
+
**Pre-conditions:**
|
|
322
|
+
- `.workflow/roadmap.md` exists
|
|
323
|
+
|
|
324
|
+
**Execution flow:**
|
|
325
|
+
|
|
326
|
+
1. **Load roadmap + execution history**
|
|
327
|
+
- Read `.workflow/roadmap.md` — full structure
|
|
328
|
+
- Read `.workflow/state.json` — artifact registry, milestone progress
|
|
329
|
+
- Cross-reference: for each phase, check ANL/PLN/EXC/VRF artifact status
|
|
330
|
+
|
|
331
|
+
2. **Assessment dimensions**
|
|
332
|
+
- **Progress tracking**: Actual vs planned per phase, milestone velocity
|
|
333
|
+
- **Drift detection**: Completed phases deviating from original scope (via verify/audit findings)
|
|
334
|
+
- **Relevance check**: Pending phases still aligned with current project goals (from project.md)
|
|
335
|
+
- **Dependency health**: Pending phase dependencies still valid given completed work
|
|
336
|
+
- **Risk assessment**: Identify phases at risk (blocked, scope creep, dependency failures)
|
|
337
|
+
|
|
338
|
+
3. **Produce review report**
|
|
339
|
+
- Write to `.workflow/scratch/{YYYYMMDD}-roadmap-review.md`
|
|
340
|
+
- Format:
|
|
341
|
+
```
|
|
342
|
+
=== ROADMAP REVIEW ===
|
|
343
|
+
Milestone: {current}
|
|
344
|
+
Progress: {completed}/{total} phases ({percentage}%)
|
|
345
|
+
Drift: {none|minor|significant} | Risk: {low|medium|high}
|
|
346
|
+
|
|
347
|
+
Phase Assessment:
|
|
348
|
+
[done] Phase 1: {name} — completed, on-scope
|
|
349
|
+
[~] Phase 2: {name} — in-progress, {notes}
|
|
350
|
+
[ ] Phase 3: {name} — pending, {risk/notes}
|
|
351
|
+
|
|
352
|
+
Suggested: /maestro-roadmap --revise | /maestro-plan {phase} | /manage-status
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**No state modifications.** Pure assessment + recommendations.
|
|
@@ -4,58 +4,21 @@ Specification document chain producing a complete specification package (Product
|
|
|
4
4
|
|
|
5
5
|
## Worktree Guard
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
# Block in worktree
|
|
9
|
-
IF file_exists(".workflow/worktree-scope.json"):
|
|
10
|
-
ERROR "Cannot run maestro-spec-generate inside a worktree. Run from the main worktree."
|
|
11
|
-
EXIT
|
|
12
|
-
```
|
|
7
|
+
Block if `.workflow/worktree-scope.json` exists — must run from main worktree.
|
|
13
8
|
|
|
14
9
|
## Pipeline Position
|
|
15
10
|
|
|
16
11
|
```
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
maestro-init (REQUIRED first step — project setup)
|
|
20
|
-
↓ project.md, state.json, config.json
|
|
21
|
-
maestro-spec-generate ← THIS (heavy path)
|
|
22
|
-
↓ spec package + roadmap.md → .workflow/roadmap.md
|
|
23
|
-
maestro-plan → maestro-execute → maestro-verify
|
|
24
|
-
|
|
25
|
-
Alternative light path (skip spec-generate):
|
|
26
|
-
maestro-init → maestro-roadmap → roadmap.md directly
|
|
27
|
-
|
|
28
|
-
Note: maestro-init MUST run before spec-generate.
|
|
12
|
+
brainstorm (optional) → init (REQUIRED) → spec-generate → plan → execute → verify
|
|
13
|
+
Alternative light path: init → roadmap → plan (skip spec-generate)
|
|
29
14
|
```
|
|
30
15
|
|
|
31
16
|
## Architecture
|
|
32
17
|
|
|
33
18
|
```
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
| (includes spec_type selection)
|
|
38
|
-
Phase 1.5: Req Expansion → refined-requirements.json
|
|
39
|
-
| (-y: auto-expansion, skip interaction)
|
|
40
|
-
Phase 2: Product Brief → product-brief.md + glossary.json
|
|
41
|
-
| (multi-CLI parallel analysis)
|
|
42
|
-
Phase 3: Requirements (PRD) → requirements/ (_index.md + REQ-*.md + NFR-*.md)
|
|
43
|
-
| (RFC 2119, data model definitions)
|
|
44
|
-
Phase 4: Architecture → architecture/ (_index.md + ADR-*.md)
|
|
45
|
-
| (state machine, config model, error handling, observability)
|
|
46
|
-
Phase 5: Epics & Stories → epics/ (_index.md + EPIC-*.md)
|
|
47
|
-
|
|
|
48
|
-
Phase 6: Readiness Check → readiness-report.md + spec-summary.md
|
|
49
|
-
| (terminology + scope consistency validation)
|
|
50
|
-
├── Pass (>=80%): Proceed to Phase 7
|
|
51
|
-
├── Review (60-79%): Proceed with caveats
|
|
52
|
-
└── Fail (<60%): Phase 6.5 Auto-Fix (max 2 iterations)
|
|
53
|
-
|
|
|
54
|
-
Phase 6.5: Auto-Fix → Updated Phase 2-5 documents
|
|
55
|
-
└── Re-run Phase 6 validation
|
|
56
|
-
|
|
|
57
|
-
Phase 7: Roadmap Generation → roadmap.md + .workflow/roadmap.md
|
|
58
|
-
(Epic→Phase mapping, interactive refinement)
|
|
19
|
+
P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check → P7: Roadmap
|
|
20
|
+
|
|
21
|
+
P6 gate: Pass (>=80%) → P7 | Review (60-79%) → P7 w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
|
|
59
22
|
```
|
|
60
23
|
|
|
61
24
|
## Arguments
|
|
@@ -116,20 +79,8 @@ Used in Phase 3 (architecture doc) and Phase 6 (epic decomposition) for constrai
|
|
|
116
79
|
These inform validation and output formatting for all subsequent phases.
|
|
117
80
|
|
|
118
81
|
**Load project history (if `.workflow/` exists):**
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
Read project.md:
|
|
122
|
-
- "### Validated" → already_shipped (DO NOT re-specify)
|
|
123
|
-
- "### Active" → current_scope
|
|
124
|
-
- "## Context" → project_history (milestone summaries)
|
|
125
|
-
- "## Key Decisions" → locked_decisions
|
|
126
|
-
|
|
127
|
-
IF .workflow/state.json exists:
|
|
128
|
-
Read state.json.accumulated_context:
|
|
129
|
-
- deferred[] → candidate_requirements (high priority for this iteration)
|
|
130
|
-
- key_decisions[] → architectural_constraints
|
|
131
|
-
|
|
132
|
-
```
|
|
82
|
+
- `project.md` → already_shipped (Validated), current_scope (Active), project_history (Context), locked_decisions (Key Decisions)
|
|
83
|
+
- `state.json.accumulated_context` → deferred[] (high priority candidates), key_decisions[] (architectural constraints)
|
|
133
84
|
|
|
134
85
|
**Rules**:
|
|
135
86
|
- Features in `already_shipped` are EXCLUDED from spec generation scope — they are done
|
|
@@ -176,49 +127,14 @@ Spawn `workflow-external-researcher` agent to gather concrete API details, libra
|
|
|
176
127
|
|
|
177
128
|
**Trigger**: When seed analysis identifies specific technologies, APIs, or external services. Auto-trigger in auto mode (`-y`). Skip if topic is purely conceptual with no technology keywords.
|
|
178
129
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
// Step 2.5.2: Spawn external researcher
|
|
189
|
-
Agent(
|
|
190
|
-
subagent_type="workflow-external-researcher",
|
|
191
|
-
prompt="""
|
|
192
|
-
<objective>
|
|
193
|
-
Research API details and technology specifics for: {seed_analysis.problem_statement}
|
|
194
|
-
Mode: API Research
|
|
195
|
-
</objective>
|
|
196
|
-
|
|
197
|
-
<context>
|
|
198
|
-
Technologies identified: {researchTopics}
|
|
199
|
-
Domain: {seed_analysis.domain}
|
|
200
|
-
Spec type: {spec_type or "TBD"}
|
|
201
|
-
Codebase tech stack: {discovery_context.tech_stack or "none"}
|
|
202
|
-
</context>
|
|
203
|
-
|
|
204
|
-
<task>
|
|
205
|
-
For each identified technology/API:
|
|
206
|
-
1. Current stable version and key capabilities
|
|
207
|
-
2. API surface: core endpoints/methods, authentication model, rate limits
|
|
208
|
-
3. Integration patterns: recommended setup, configuration, common middleware
|
|
209
|
-
4. Data models: key entities, request/response shapes
|
|
210
|
-
5. Known limitations, deprecations, or migration paths
|
|
211
|
-
|
|
212
|
-
Focus on CONCRETE details — versions, method signatures, config options.
|
|
213
|
-
Be prescriptive. Return structured markdown only — do NOT write files.
|
|
214
|
-
</task>
|
|
215
|
-
""",
|
|
216
|
-
run_in_background=false
|
|
217
|
-
)
|
|
218
|
-
|
|
219
|
-
// Step 2.5.3: Store as apiResearchContext (in-memory)
|
|
220
|
-
apiResearchContext = agent_output
|
|
221
|
-
```
|
|
130
|
+
Extract named technologies/APIs/frameworks/protocols from seed analysis and codebase exploration.
|
|
131
|
+
|
|
132
|
+
If topics found → spawn `workflow-external-researcher` agent for API research:
|
|
133
|
+
- Per technology: stable version, API surface (endpoints, auth, rate limits), integration patterns, data models, limitations/deprecations
|
|
134
|
+
- Focus on concrete details (versions, method signatures, config options)
|
|
135
|
+
- Output → `apiResearchContext` (in-memory)
|
|
136
|
+
|
|
137
|
+
If no topics → `apiResearchContext = null`, skip to Step 2.6.
|
|
222
138
|
|
|
223
139
|
`apiResearchContext` is passed into:
|
|
224
140
|
- Step 4 (Product Brief): technology feasibility assessment
|
|
@@ -538,24 +454,12 @@ Phase = synchronization barrier (full plan→execute→verify cycle). Minimize p
|
|
|
538
454
|
|
|
539
455
|
```
|
|
540
456
|
== spec-generate complete ==
|
|
541
|
-
Session:
|
|
542
|
-
Output:
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
spec-config.json — Session state
|
|
548
|
-
product-brief.md — Product brief
|
|
549
|
-
requirements/ — PRD ({req_count} REQs + {nfr_count} NFRs)
|
|
550
|
-
architecture/ — Architecture ({adr_count} ADRs)
|
|
551
|
-
epics/ — Epics & Stories ({epic_count} Epics)
|
|
552
|
-
readiness-report.md — Quality validation
|
|
553
|
-
spec-summary.md — Executive summary
|
|
554
|
-
roadmap.md — Project roadmap ({phase_count} phases, {milestone_count} milestones)
|
|
555
|
-
|
|
556
|
-
Next:
|
|
557
|
-
Skill({ skill: "maestro-init" }) — Set up project
|
|
558
|
-
Skill({ skill: "maestro-plan", args: "1" }) — Plan first phase
|
|
457
|
+
Session: SPEC-{slug}-{date} | Quality: {score}% ({gate}) | Phases: {completed_count}/7
|
|
458
|
+
Output: .workflow/.spec/{session_id}/
|
|
459
|
+
spec-config.json, product-brief.md, requirements/, architecture/, epics/,
|
|
460
|
+
readiness-report.md, spec-summary.md, roadmap.md
|
|
461
|
+
|
|
462
|
+
Next: maestro-init (setup) | maestro-plan 1 (plan first phase)
|
|
559
463
|
```
|
|
560
464
|
|
|
561
465
|
---
|
package/workflows/specs-add.md
CHANGED
|
@@ -32,18 +32,9 @@ content -- free-text description of the entry
|
|
|
32
32
|
### Step 1: Parse Arguments
|
|
33
33
|
|
|
34
34
|
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Validate:
|
|
40
|
-
- category must be one of: coding, arch, quality, debug, test, review, learning
|
|
41
|
-
- content must not be empty
|
|
42
|
-
|
|
43
|
-
On validation failure:
|
|
44
|
-
- Display usage: `/spec-add <category> <content>`
|
|
45
|
-
- List valid categories
|
|
46
|
-
- Exit
|
|
35
|
+
Parse: category = first word, content = remaining text
|
|
36
|
+
Validate: category ∈ {coding, arch, quality, debug, test, review, learning}, content non-empty
|
|
37
|
+
On failure: show usage `/spec-add <category> <content>` with valid categories, exit
|
|
47
38
|
```
|
|
48
39
|
|
|
49
40
|
### Step 2: Resolve Target File
|
|
@@ -65,16 +56,11 @@ Auto-extract 3-5 relevant keywords from the content:
|
|
|
65
56
|
### Step 4: Format Entry
|
|
66
57
|
|
|
67
58
|
```
|
|
68
|
-
|
|
69
|
-
Generate title from first meaningful phrase of content.
|
|
59
|
+
Entry format (closed-tag), date = YYYY-MM-DD, title = first meaningful phrase:
|
|
70
60
|
|
|
71
|
-
Entry format (closed-tag):
|
|
72
61
|
<spec-entry category="{category}" keywords="{kw1},{kw2},{kw3}" date="{YYYY-MM-DD}">
|
|
73
|
-
|
|
74
62
|
### {title}
|
|
75
|
-
|
|
76
63
|
{content}
|
|
77
|
-
|
|
78
64
|
</spec-entry>
|
|
79
65
|
```
|
|
80
66
|
|
|
@@ -84,13 +70,7 @@ Read target file. Append the formatted `<spec-entry>` block at the end. Write fi
|
|
|
84
70
|
|
|
85
71
|
### Step 6: Confirm
|
|
86
72
|
|
|
87
|
-
|
|
88
|
-
== spec-add complete ==
|
|
89
|
-
Category: <category>
|
|
90
|
-
Added to: .workflow/specs/<target_file>
|
|
91
|
-
Keywords: <kw1>, <kw2>, <kw3>
|
|
92
|
-
Verify: /spec-load --keyword <kw1>
|
|
93
|
-
```
|
|
73
|
+
Display: category, target file, keywords, and verify command (`/spec-load --keyword <kw1>`).
|
|
94
74
|
|
|
95
75
|
## Output
|
|
96
76
|
|
package/workflows/specs-load.md
CHANGED
|
@@ -31,11 +31,7 @@ Each category loads exactly one file. Same mapping as spec-add.
|
|
|
31
31
|
|
|
32
32
|
### Step 1: Parse Arguments
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
Parse $ARGUMENTS:
|
|
36
|
-
--category <type> -> category filter
|
|
37
|
-
remaining text -> keyword for grep filtering
|
|
38
|
-
```
|
|
34
|
+
Extract `--category <type>` (filter) and remaining text (keyword for grep).
|
|
39
35
|
|
|
40
36
|
### Step 2: Load Specs via CLI
|
|
41
37
|
|
|
@@ -102,14 +102,3 @@ To verify: maestro wiki list --type spec --category {category}
|
|
|
102
102
|
To re-add: /spec-add {category} {content}
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Error Codes
|
|
108
|
-
|
|
109
|
-
| Code | Severity | Condition | Recovery |
|
|
110
|
-
|------|----------|-----------|----------|
|
|
111
|
-
| E001 | fatal | Entry ID required | Usage: `/spec-remove <entry-id>` |
|
|
112
|
-
| E002 | fatal | `.workflow/specs/` not initialized | Run `/spec-setup` first |
|
|
113
|
-
| E003 | fatal | Entry ID not found in wiki index | Check ID with `maestro wiki list --type spec` |
|
|
114
|
-
| E004 | fatal | Entry is not a spec sub-node | Only `<spec-entry>` sub-nodes can be removed this way |
|
|
115
|
-
| W001 | warning | Container file empty after removal | File kept but has no entries |
|
package/workflows/specs-setup.md
CHANGED
|
@@ -16,40 +16,18 @@ System specs initialization -- scan project structure, detect tech stack, genera
|
|
|
16
16
|
|
|
17
17
|
### Step 1: Ensure Directory Structure
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
Create directories if not present:
|
|
21
|
-
.workflow/
|
|
22
|
-
.workflow/specs/
|
|
23
|
-
```
|
|
19
|
+
Ensure `.workflow/` and `.workflow/specs/` exist (create if missing).
|
|
24
20
|
|
|
25
21
|
### Step 2: Scan Project Structure
|
|
26
22
|
|
|
27
|
-
Scan
|
|
23
|
+
Scan project root for tech stack indicators:
|
|
28
24
|
|
|
29
25
|
```
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
go.mod --> Go
|
|
36
|
-
Cargo.toml --> Rust
|
|
37
|
-
pom.xml --> Java (Maven)
|
|
38
|
-
build.gradle --> Java/Kotlin (Gradle)
|
|
39
|
-
composer.json --> PHP
|
|
40
|
-
Gemfile --> Ruby
|
|
41
|
-
.csproj / .sln --> .NET/C#
|
|
42
|
-
Dockerfile --> Container deployment
|
|
43
|
-
docker-compose.yml --> Multi-container orchestration
|
|
44
|
-
|
|
45
|
-
Framework detection (from dependency files):
|
|
46
|
-
react / next --> React / Next.js
|
|
47
|
-
vue --> Vue.js
|
|
48
|
-
angular --> Angular
|
|
49
|
-
express / fastify --> Node.js server
|
|
50
|
-
django / flask --> Python web
|
|
51
|
-
gin / echo --> Go web
|
|
52
|
-
spring --> Java Spring
|
|
26
|
+
Manifest files → runtime: package.json (Node), tsconfig.json (TS), pyproject.toml/requirements.txt (Python),
|
|
27
|
+
go.mod (Go), Cargo.toml (Rust), pom.xml (Maven), build.gradle (Gradle), composer.json (PHP),
|
|
28
|
+
Gemfile (Ruby), .csproj/.sln (.NET), Dockerfile/docker-compose.yml (containers)
|
|
29
|
+
|
|
30
|
+
Dependency analysis → frameworks: react/next, vue, angular, express/fastify, django/flask, gin/echo, spring
|
|
53
31
|
```
|
|
54
32
|
|
|
55
33
|
### Step 3: Detect Code Patterns
|
|
@@ -57,11 +35,9 @@ Framework detection (from dependency files):
|
|
|
57
35
|
Scan source files for coding conventions:
|
|
58
36
|
|
|
59
37
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Formatting: Check for .prettierrc, .editorconfig, eslint config
|
|
64
|
-
File naming: kebab-case vs camelCase vs PascalCase for source files
|
|
38
|
+
Detect from first 20 source files: indentation style, naming conventions (camelCase/PascalCase/snake_case),
|
|
39
|
+
import style (named/default, aliases, barrels), formatter configs (.prettierrc, .editorconfig, eslint),
|
|
40
|
+
file naming pattern (kebab/camel/Pascal)
|
|
65
41
|
```
|
|
66
42
|
|
|
67
43
|
### Step 4: Generate Core Files (always created)
|
|
@@ -210,19 +186,7 @@ These are NOT created during setup. They are created on demand when `spec-add de
|
|
|
210
186
|
|
|
211
187
|
### Step 6: Summary
|
|
212
188
|
|
|
213
|
-
Display
|
|
214
|
-
```
|
|
215
|
-
Specs initialized:
|
|
216
|
-
.workflow/specs/coding-conventions.md (category: coding)
|
|
217
|
-
.workflow/specs/architecture-constraints.md (category: arch)
|
|
218
|
-
.workflow/specs/learnings.md (category: learning)
|
|
219
|
-
{if created:}
|
|
220
|
-
.workflow/specs/quality-rules.md (category: quality)
|
|
221
|
-
.workflow/specs/test-conventions.md (category: test)
|
|
222
|
-
|
|
223
|
-
Categories: coding, arch, quality, debug, test, review, learning
|
|
224
|
-
debug-notes.md and review-standards.md created on demand via /spec-add
|
|
225
|
-
```
|
|
189
|
+
Display list of created files with categories. Note that `debug-notes.md` and `review-standards.md` are created on demand via `/spec-add`.
|
|
226
190
|
|
|
227
191
|
## Output
|
|
228
192
|
|