maestro-flow 0.3.14 → 0.3.16
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/maestro-amend.md +300 -0
- package/.claude/commands/maestro-analyze.md +1 -49
- package/.claude/commands/maestro-composer.md +354 -0
- 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-player.md +404 -0
- 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/.claude/skills/skill-iter-tune/SKILL.md +382 -0
- package/.claude/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.claude/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.claude/skills/skill-iter-tune/phases/04-improve.md +186 -0
- package/.claude/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.claude/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
- package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- 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 +213 -0
- 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 +42 -166
- package/.codex/skills/maestro-player/SKILL.md +323 -0
- 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/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/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/templates/workflows/specs/node-catalog.md +170 -0
- package/templates/workflows/specs/template-schema.md +157 -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 +176 -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/brainstorm.md
CHANGED
|
@@ -126,16 +126,7 @@ Parse $ARGUMENTS to determine execution mode:
|
|
|
126
126
|
- None + single role mode → error E002
|
|
127
127
|
|
|
128
128
|
**Output Directory Resolution**:
|
|
129
|
-
- Phase mode (number):
|
|
130
|
-
```
|
|
131
|
-
Read .workflow/state.json → state
|
|
132
|
-
artifacts = state.artifacts ?? []
|
|
133
|
-
art = artifacts.find(a => a.phase === phaseNum)
|
|
134
|
-
IF art:
|
|
135
|
-
output_dir = ".workflow/" + art.path + "/.brainstorming/"
|
|
136
|
-
ELSE:
|
|
137
|
-
ERROR "Phase {phaseNum} not found in artifact registry"
|
|
138
|
-
```
|
|
129
|
+
- Phase mode (number): resolve `state.json.artifacts[phase == phaseNum].path` → `.workflow/{path}/.brainstorming/` (ERROR if phase not found)
|
|
139
130
|
- All output: `.workflow/scratch/brainstorm-{slug}-{date}/`
|
|
140
131
|
- Existing session: use existing session directory
|
|
141
132
|
|
|
@@ -210,19 +201,8 @@ If research fails (W005): `designResearchContext = null`, continue without exter
|
|
|
210
201
|
|
|
211
202
|
Load existing project history to ground brainstorming in what's already been built:
|
|
212
203
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
Read project.md:
|
|
216
|
-
- "### Validated" → already_shipped (features already delivered)
|
|
217
|
-
- "### Active" → current_scope
|
|
218
|
-
- "## Context" → project_history (milestone summaries)
|
|
219
|
-
|
|
220
|
-
IF .workflow/state.json exists:
|
|
221
|
-
Read state.json.accumulated_context:
|
|
222
|
-
- deferred[] → deferred_items (candidates for brainstorming focus)
|
|
223
|
-
- key_decisions[] → existing_constraints
|
|
224
|
-
|
|
225
|
-
```
|
|
204
|
+
- From `.workflow/project.md`: `### Validated` → already_shipped, `### Active` → current_scope, `## Context` → project_history
|
|
205
|
+
- From `.workflow/state.json.accumulated_context`: `deferred[]` → deferred_items, `key_decisions[]` → existing_constraints
|
|
226
206
|
|
|
227
207
|
Pass `project_context` into Step 2 (terminology) and Step 3 (framework generation):
|
|
228
208
|
- `already_shipped` informs what exists — brainstorm should explore extensions, not re-invent
|
|
@@ -27,58 +27,35 @@ Full rebuild of the `.workflow/codebase/` documentation system.
|
|
|
27
27
|
### Step 1: Prepare Directory Structure
|
|
28
28
|
|
|
29
29
|
```
|
|
30
|
-
Create (or clear if --force)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
tech-registry/
|
|
35
|
-
_index.md
|
|
36
|
-
feature-maps/
|
|
37
|
-
_index.md
|
|
38
|
-
action-logs/
|
|
39
|
-
|
|
40
|
-
If directories exist and --force not set:
|
|
41
|
-
AskUserQuestion: "Codebase docs already exist. Rebuild will overwrite. Continue? [y/N]"
|
|
42
|
-
If no: exit
|
|
30
|
+
Create (or clear if --force) .workflow/codebase/:
|
|
31
|
+
doc-index.json, tech-registry/_index.md, feature-maps/_index.md, action-logs/
|
|
32
|
+
|
|
33
|
+
If exists and not --force: confirm overwrite or exit.
|
|
43
34
|
```
|
|
44
35
|
|
|
45
36
|
### Step 2: Scan Project Structure — Components
|
|
46
37
|
|
|
47
38
|
```
|
|
48
|
-
Scan
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- Extract exported symbols (classes, functions, interfaces, types, constants)
|
|
69
|
-
- Determine component type (model, service, controller, util, config, middleware, core)
|
|
70
|
-
- Build component entry:
|
|
71
|
-
{
|
|
72
|
-
"id": "TC-{NNN}", // Sequential, zero-padded 3 digits
|
|
73
|
-
"name": "{PascalCase name}",
|
|
74
|
-
"type": "{type}",
|
|
75
|
-
"code_locations": ["{relative paths}"],
|
|
76
|
-
"feature_ids": [], // Populated in Step 3
|
|
77
|
-
"symbols": ["{exported symbol names}"],
|
|
78
|
-
"last_updated": "{ISO timestamp}"
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
d. ID assignment: TC-001, TC-002, ... in discovery order
|
|
39
|
+
Scan source directories (src/, lib/, app/, packages/) for components.
|
|
40
|
+
Use project.md Tech Stack for context if available.
|
|
41
|
+
|
|
42
|
+
Classify files by naming pattern:
|
|
43
|
+
Models (*model*, *entity*, *schema*), Services (*service*, *provider*),
|
|
44
|
+
Controllers (*controller*, *handler*, *route*), Utils (*util*, *helper*),
|
|
45
|
+
Types (*type*, *interface*, *.d.ts), Config (*config*, *constant*),
|
|
46
|
+
Middleware (*middleware*, *guard*, *interceptor*), Core (*core*, *registry*, *loader*)
|
|
47
|
+
|
|
48
|
+
For each component: read files, extract exported symbols, determine type.
|
|
49
|
+
Build component entry:
|
|
50
|
+
{
|
|
51
|
+
"id": "TC-{NNN}", // Sequential TC-001, TC-002, ...
|
|
52
|
+
"name": "{PascalCase name}",
|
|
53
|
+
"type": "{type}",
|
|
54
|
+
"code_locations": ["{relative paths}"],
|
|
55
|
+
"feature_ids": [], // Populated in Step 3
|
|
56
|
+
"symbols": ["{exported symbol names}"],
|
|
57
|
+
"last_updated": "{ISO timestamp}"
|
|
58
|
+
}
|
|
82
59
|
```
|
|
83
60
|
|
|
84
61
|
### Step 2.5: Load Project Specs
|
|
@@ -94,71 +71,54 @@ Used in Step 2-4 to produce architecture-aware documentation.
|
|
|
94
71
|
### Step 3: Scan Project Structure — Features
|
|
95
72
|
|
|
96
73
|
```
|
|
97
|
-
Group components
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"id": "FT-{NNN}",
|
|
113
|
-
"name": "{Feature Name}",
|
|
114
|
-
"status": "active",
|
|
115
|
-
"requirement_ids": [], // From task-specs mapping
|
|
116
|
-
"component_ids": ["TC-001", "TC-002"],
|
|
117
|
-
"phase": null // From roadmap mapping
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
c. Back-fill component.feature_ids with the feature IDs
|
|
74
|
+
Group components into features by:
|
|
75
|
+
directory proximity, naming patterns, import relationships, task-specs/ mapping.
|
|
76
|
+
|
|
77
|
+
For each feature group: derive name, collect component IDs, map requirements and phase.
|
|
78
|
+
Build feature entry:
|
|
79
|
+
{
|
|
80
|
+
"id": "FT-{NNN}",
|
|
81
|
+
"name": "{Feature Name}",
|
|
82
|
+
"status": "active",
|
|
83
|
+
"requirement_ids": [], // From task-specs mapping
|
|
84
|
+
"component_ids": ["TC-001", "TC-002"],
|
|
85
|
+
"phase": null // From roadmap mapping
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
Back-fill component.feature_ids with assigned feature IDs.
|
|
121
89
|
```
|
|
122
90
|
|
|
123
91
|
### Step 4: Map Requirements (if task-specs exist)
|
|
124
92
|
|
|
125
93
|
```
|
|
126
|
-
If .workflow/task-specs/
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
If no task-specs exist:
|
|
141
|
-
requirements = [] (empty, populated later by spec-generate)
|
|
94
|
+
If .workflow/task-specs/ exist: parse each SPEC-*/requirements/REQ-*.md,
|
|
95
|
+
match to features by keyword analysis. Build requirement entry:
|
|
96
|
+
{
|
|
97
|
+
"id": "REQ-{NNN}",
|
|
98
|
+
"title": "{requirement title}",
|
|
99
|
+
"priority": "must|should|could|wont",
|
|
100
|
+
"feature_id": "FT-{NNN}",
|
|
101
|
+
"status": "pending|in_progress|completed",
|
|
102
|
+
"acceptance_criteria": ["{criteria}"]
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
If no task-specs: requirements = [] (populated later by spec-generate).
|
|
142
106
|
```
|
|
143
107
|
|
|
144
108
|
### Step 5: Record Architecture Decisions (if ADRs exist)
|
|
145
109
|
|
|
146
110
|
```
|
|
147
|
-
If .workflow/task-specs/*/architecture/ADR-*.md exist:
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
If no ADRs exist:
|
|
161
|
-
architecture_decisions = []
|
|
111
|
+
If .workflow/task-specs/*/architecture/ADR-*.md exist: parse each ADR,
|
|
112
|
+
map to components by keyword analysis. Build ADR entry:
|
|
113
|
+
{
|
|
114
|
+
"id": "ADR-{NNN}",
|
|
115
|
+
"title": "{ADR title}",
|
|
116
|
+
"component_ids": ["TC-{NNN}"],
|
|
117
|
+
"decision": "{decision summary}",
|
|
118
|
+
"rationale": "{rationale summary}"
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
If no ADRs: architecture_decisions = [].
|
|
162
122
|
```
|
|
163
123
|
|
|
164
124
|
### Step 6: Write doc-index.json
|
|
@@ -184,118 +144,46 @@ Write to: .workflow/codebase/doc-index.json
|
|
|
184
144
|
### Step 7: Generate Tech Registry Docs
|
|
185
145
|
|
|
186
146
|
```
|
|
187
|
-
For each component
|
|
188
|
-
Compute slug: lowercase(name), replace spaces with hyphens
|
|
189
|
-
|
|
190
|
-
Write .workflow/codebase/tech-registry/{slug}.md:
|
|
191
|
-
|
|
192
|
-
# {component.name}
|
|
193
|
-
|
|
194
|
-
| Field | Value |
|
|
195
|
-
|-------|-------|
|
|
196
|
-
| **ID** | {id} |
|
|
197
|
-
| **Type** | {type} |
|
|
198
|
-
| **Features** | {feature_ids joined with ", "} |
|
|
199
|
-
|
|
200
|
-
## Code Locations
|
|
201
|
-
{bullet list of code_locations}
|
|
147
|
+
For each component (slug = lowercase-hyphenated name):
|
|
202
148
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
## Dependencies
|
|
207
|
-
{extracted from import statements in code_locations}
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
*Auto-generated by codebase-rebuild at {timestamp}*
|
|
149
|
+
Write .workflow/codebase/tech-registry/{slug}.md:
|
|
150
|
+
Header table (ID, Type, Features) + sections: Code Locations, Exported Symbols, Dependencies.
|
|
151
|
+
Footer: *Auto-generated by codebase-rebuild at {timestamp}*
|
|
211
152
|
|
|
212
153
|
Write .workflow/codebase/tech-registry/_index.md:
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
| ID | Name | Type | Locations |
|
|
216
|
-
|----|------|------|-----------|
|
|
217
|
-
{table row per component}
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
*{count} components registered*
|
|
154
|
+
Summary table (ID, Name, Type, Locations) + component count footer.
|
|
221
155
|
```
|
|
222
156
|
|
|
223
157
|
### Step 8: Generate Feature Map Docs
|
|
224
158
|
|
|
225
159
|
```
|
|
226
|
-
For each feature
|
|
227
|
-
Compute slug: lowercase(name), replace spaces with hyphens
|
|
228
|
-
|
|
229
|
-
Write .workflow/codebase/feature-maps/{slug}.md:
|
|
230
|
-
|
|
231
|
-
# {feature.name}
|
|
160
|
+
For each feature (slug = lowercase-hyphenated name):
|
|
232
161
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
| **Status** | {status} |
|
|
237
|
-
| **Phase** | {phase or "unassigned"} |
|
|
238
|
-
|
|
239
|
-
## Requirements
|
|
240
|
-
{bullet list of requirement_ids with titles}
|
|
241
|
-
|
|
242
|
-
## Components
|
|
243
|
-
| ID | Name | Type |
|
|
244
|
-
|----|------|------|
|
|
245
|
-
{table row per component in component_ids}
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
*Auto-generated by codebase-rebuild at {timestamp}*
|
|
162
|
+
Write .workflow/codebase/feature-maps/{slug}.md:
|
|
163
|
+
Header table (ID, Status, Phase) + sections: Requirements, Components table.
|
|
164
|
+
Footer: *Auto-generated by codebase-rebuild at {timestamp}*
|
|
249
165
|
|
|
250
166
|
Write .workflow/codebase/feature-maps/_index.md:
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
| ID | Name | Status | Components | Requirements |
|
|
254
|
-
|----|------|--------|------------|--------------|
|
|
255
|
-
{table row per feature}
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
*{count} features mapped*
|
|
167
|
+
Summary table (ID, Name, Status, Components, Requirements) + feature count footer.
|
|
259
168
|
```
|
|
260
169
|
|
|
261
170
|
### Step 8.5: Update State and Project Artifacts
|
|
262
171
|
|
|
263
172
|
```
|
|
264
|
-
a. Update state.json:
|
|
265
|
-
Read .workflow/state.json
|
|
266
|
-
Set last_codebase_rebuild: "{ISO timestamp}"
|
|
267
|
-
Set last_updated: "{ISO timestamp}"
|
|
268
|
-
Write updated state.json
|
|
173
|
+
a. Update state.json: set last_codebase_rebuild and last_updated timestamps.
|
|
269
174
|
|
|
270
175
|
b. Update project.md Tech Stack (if exists):
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
If new entries or changes detected:
|
|
274
|
-
Update the Tech Stack section with current values
|
|
275
|
-
Update the "Last updated" footer timestamp
|
|
276
|
-
Write updated project.md
|
|
277
|
-
Display: "project.md: Tech Stack section refreshed"
|
|
176
|
+
Compare "## Tech Stack" against detected stack from Step 2.
|
|
177
|
+
If changes detected: update section + footer timestamp.
|
|
278
178
|
```
|
|
279
179
|
|
|
280
180
|
### Step 9: Report and Commit
|
|
281
181
|
|
|
282
182
|
```
|
|
283
|
-
Display summary:
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
Requirements: {count}
|
|
288
|
-
ADRs: {count}
|
|
289
|
-
Files generated: {count}
|
|
290
|
-
|
|
291
|
-
If any mapper agents failed: log W001 with the failed mapper name.
|
|
292
|
-
|
|
293
|
-
If not --skip-commit:
|
|
294
|
-
Suggest committing the generated docs
|
|
295
|
-
|
|
296
|
-
Suggest next:
|
|
297
|
-
- Skill({ skill: "manage-status" }) to review
|
|
298
|
-
- Skill({ skill: "manage-codebase-refresh" }) for future incremental updates
|
|
183
|
+
Display summary: component/feature/requirement/ADR/file counts.
|
|
184
|
+
If mapper agents failed: log W001.
|
|
185
|
+
If not --skip-commit: suggest committing generated docs.
|
|
186
|
+
Suggest next: manage-status (review) or manage-codebase-refresh (incremental updates).
|
|
299
187
|
```
|
|
300
188
|
|
|
301
189
|
---
|
|
@@ -28,40 +28,25 @@ Detects which files have changed (via git diff), identifies which codebase docs
|
|
|
28
28
|
### Step 1: Parse Input and Validate
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
Parse
|
|
32
|
-
|
|
33
|
-
Verify .workflow/ directory exists and is initialized (project.md, state.json present).
|
|
34
|
-
If not initialized: abort with E001.
|
|
35
|
-
|
|
36
|
-
Verify .workflow/codebase/doc-index.json exists.
|
|
37
|
-
If not: abort with E002 (suggest using codebase-rebuild instead).
|
|
31
|
+
Parse --since and --deep flags from $ARGUMENTS.
|
|
32
|
+
Verify .workflow/ initialized (E001 if not) and doc-index.json exists (E002 if not).
|
|
38
33
|
```
|
|
39
34
|
|
|
40
35
|
### Step 2: Detect Changes
|
|
41
36
|
|
|
42
37
|
```
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Run git diff --name-only since the determined date to get list of changed files.
|
|
48
|
-
|
|
49
|
-
If no changes detected: emit W001 and exit gracefully ("No changes detected since last refresh").
|
|
38
|
+
Change window: --since value, else codebase_last_rebuilt/codebase_last_refreshed from state.json.
|
|
39
|
+
Run git diff --name-only to get changed files.
|
|
40
|
+
If no changes: emit W001 and exit.
|
|
50
41
|
```
|
|
51
42
|
|
|
52
43
|
### Step 3: Identify Affected Documentation
|
|
53
44
|
|
|
54
45
|
```
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- Which feature-map entries need updating (via component -> feature chain)
|
|
60
|
-
- Which requirements or ADRs reference changed code
|
|
61
|
-
|
|
62
|
-
Build a list of affected documentation sections:
|
|
63
|
-
affected_components = [component entries whose code_locations include changed files]
|
|
64
|
-
affected_features = [features whose component_ids include affected components]
|
|
46
|
+
Map changed files to doc-index.json entries via code_locations matching.
|
|
47
|
+
Build affected sets:
|
|
48
|
+
affected_components = components whose code_locations include changed files
|
|
49
|
+
affected_features = features whose component_ids include affected components
|
|
65
50
|
```
|
|
66
51
|
|
|
67
52
|
### Step 3.5: Load Project Specs
|
|
@@ -77,138 +62,55 @@ Used in Step 4-5 to validate refreshed docs against architectural expectations.
|
|
|
77
62
|
### Step 4: Re-scan Affected Components
|
|
78
63
|
|
|
79
64
|
```
|
|
80
|
-
For each component
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
65
|
+
For each affected component:
|
|
66
|
+
- Verify code_locations still exist (remove missing, log warning)
|
|
67
|
+
- Re-extract exported symbols (ESM export + CJS module.exports patterns)
|
|
68
|
+
- Update symbols[] and last_updated timestamp
|
|
84
69
|
|
|
85
|
-
|
|
86
|
-
Extract exported symbols:
|
|
87
|
-
- export class {Name}
|
|
88
|
-
- export function {name}
|
|
89
|
-
- export interface {Name}
|
|
90
|
-
- export type {Name}
|
|
91
|
-
- export const {NAME}
|
|
92
|
-
- export default {name/class}
|
|
93
|
-
- module.exports patterns (for CJS)
|
|
70
|
+
If --deep: follow reverse dependency chain to find additional affected components.
|
|
94
71
|
|
|
95
|
-
|
|
96
|
-
- symbols = [newly extracted symbols]
|
|
97
|
-
- last_updated = current ISO timestamp
|
|
98
|
-
|
|
99
|
-
If --deep is set, also re-scan files that import/require the changed files
|
|
100
|
-
(follow reverse dependency chain to find additional affected components).
|
|
101
|
-
|
|
102
|
-
Check for new files that should belong to this component:
|
|
103
|
-
- Scan same directory as existing code_locations
|
|
104
|
-
- If new files match the component's naming pattern:
|
|
105
|
-
Log: "Potential new file for {component.id}: {file}"
|
|
106
|
-
(Do not auto-add; report for manual review)
|
|
72
|
+
Report new files matching component naming patterns (do not auto-add).
|
|
107
73
|
```
|
|
108
74
|
|
|
109
75
|
### Step 5: Check Relationship Changes
|
|
110
76
|
|
|
111
77
|
```
|
|
112
78
|
For each refreshed component:
|
|
113
|
-
|
|
114
|
-
Identify imported modules that map to other components
|
|
115
|
-
|
|
116
|
-
Compare with current feature_ids:
|
|
117
|
-
If a component imports from a different feature's components:
|
|
118
|
-
Log: "Cross-feature dependency detected: {component.id} -> {other_component.id}"
|
|
79
|
+
Analyze imports to detect cross-feature dependencies (log if found).
|
|
119
80
|
|
|
120
81
|
For each refreshed feature:
|
|
121
|
-
|
|
122
|
-
Remove any stale component_ids
|
|
123
|
-
Check if new components should be added (by directory proximity)
|
|
82
|
+
Remove stale component_ids, check for new components by directory proximity.
|
|
124
83
|
```
|
|
125
84
|
|
|
126
85
|
### Step 6: Update Doc Index
|
|
127
86
|
|
|
128
87
|
```
|
|
129
|
-
Write updated entries
|
|
130
|
-
- Updated component entries (symbols, code_locations, last_updated)
|
|
131
|
-
- Updated feature entries (component_ids, last_updated)
|
|
132
|
-
- Update top-level last_updated timestamp
|
|
133
|
-
- Update global last_refreshed timestamp
|
|
134
|
-
|
|
135
|
-
Write: .workflow/codebase/doc-index.json
|
|
88
|
+
Write updated component/feature entries + timestamps to .workflow/codebase/doc-index.json.
|
|
136
89
|
```
|
|
137
90
|
|
|
138
91
|
### Step 7: Regenerate Affected Docs
|
|
139
92
|
|
|
140
93
|
```
|
|
141
|
-
For each refreshed component:
|
|
142
|
-
|
|
143
|
-
Regenerate: .workflow/codebase/tech-registry/{slug}.md
|
|
144
|
-
|
|
145
|
-
# {component.name}
|
|
94
|
+
For each refreshed component: regenerate tech-registry/{slug}.md
|
|
95
|
+
(header table + Code Locations + Exported Symbols + refresh timestamp).
|
|
146
96
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
| **ID** | {id} |
|
|
150
|
-
| **Type** | {type} |
|
|
151
|
-
| **Features** | {feature_ids joined} |
|
|
97
|
+
For each refreshed feature: regenerate feature-maps/{slug}.md
|
|
98
|
+
(header table + Components table + Requirements + refresh timestamp).
|
|
152
99
|
|
|
153
|
-
|
|
154
|
-
{bullet list of code_locations}
|
|
155
|
-
|
|
156
|
-
## Exported Symbols
|
|
157
|
-
{bullet list of symbols}
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
*Refreshed at {timestamp}*
|
|
161
|
-
|
|
162
|
-
For each refreshed feature:
|
|
163
|
-
Compute slug from feature.name
|
|
164
|
-
Regenerate: .workflow/codebase/feature-maps/{slug}.md
|
|
165
|
-
|
|
166
|
-
# {feature.name}
|
|
167
|
-
|
|
168
|
-
| Field | Value |
|
|
169
|
-
|-------|-------|
|
|
170
|
-
| **ID** | {id} |
|
|
171
|
-
| **Status** | {status} |
|
|
172
|
-
| **Phase** | {phase or "unassigned"} |
|
|
173
|
-
|
|
174
|
-
## Components
|
|
175
|
-
| ID | Name | Type |
|
|
176
|
-
|----|------|------|
|
|
177
|
-
{table row per component}
|
|
178
|
-
|
|
179
|
-
## Requirements
|
|
180
|
-
{bullet list of requirement_ids with titles}
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
*Refreshed at {timestamp}*
|
|
184
|
-
|
|
185
|
-
Update _index.md files if any entries changed:
|
|
186
|
-
Regenerate tech-registry/_index.md
|
|
187
|
-
Regenerate feature-maps/_index.md
|
|
100
|
+
If entries changed: regenerate tech-registry/_index.md and feature-maps/_index.md.
|
|
188
101
|
```
|
|
189
102
|
|
|
190
103
|
### Step 8: Update Timestamps
|
|
191
104
|
|
|
192
105
|
```
|
|
193
|
-
Update .workflow/state.json:
|
|
194
|
-
- Set codebase_last_refreshed timestamp
|
|
195
|
-
- Update last_updated timestamp
|
|
106
|
+
Update .workflow/state.json: set codebase_last_refreshed and last_updated timestamps.
|
|
196
107
|
```
|
|
197
108
|
|
|
198
109
|
### Step 9: Report
|
|
199
110
|
|
|
200
111
|
```
|
|
201
|
-
Display summary:
|
|
202
|
-
|
|
203
|
-
Changed files detected: {count}
|
|
204
|
-
Components refreshed: {count} ({IDs})
|
|
205
|
-
Features refreshed: {count} ({IDs})
|
|
206
|
-
Symbols updated: {count new} added, {count removed} removed
|
|
207
|
-
Files updated in .workflow/codebase/: {list}
|
|
208
|
-
Warnings: {any warnings from Steps 4-5}
|
|
209
|
-
If W001: "No changes detected since last refresh"
|
|
210
|
-
|
|
211
|
-
Suggest next: Skill({ skill: "manage-status" }) to review
|
|
112
|
+
Display summary: changed files, components/features refreshed, symbols added/removed, warnings.
|
|
113
|
+
Suggest next: manage-status to review.
|
|
212
114
|
```
|
|
213
115
|
|
|
214
116
|
---
|