@codemcp/workflows 6.14.3 → 6.15.0
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/package.json +2 -2
- package/packages/cli/dist/{chunk-SB3HRQCH.js → chunk-4TXLRBGW.js} +2 -0
- package/packages/cli/dist/{cli-RLPVHRTE.js → cli-MNJS4MGX.js} +3 -3
- package/packages/cli/dist/{dist-ARC6LWFF.js → dist-MBA7OLZA.js} +2 -0
- package/packages/cli/dist/{dist-FTEFRIPR.js → dist-WS5DFBKD.js} +1 -1
- package/packages/cli/dist/index.js +2 -2
- package/packages/cli/package.json +1 -1
- package/packages/cli/resources/workflows/epcc.yaml +1 -0
- package/packages/cli/resources/workflows/pr-review.yaml +177 -0
- package/packages/core/dist/instruction-generator.js +2 -0
- package/packages/core/dist/instruction-generator.js.map +1 -1
- package/packages/core/package.json +1 -1
- package/packages/core/resources/workflows/epcc.yaml +1 -0
- package/packages/core/resources/workflows/pr-review.yaml +177 -0
- package/packages/docs/.vitepress/dist/404.html +2 -2
- package/packages/docs/.vitepress/dist/assets/{app.DCKDzGKW.js → app.CAEWYLPb.js} +1 -1
- package/packages/docs/.vitepress/dist/assets/chunks/{theme.D_Ip3oEh.js → theme.CshoOl3e.js} +1 -1
- package/packages/docs/.vitepress/dist/assets/workflows_pr-review.md.CdYxJ5Yu.js +1 -0
- package/packages/docs/.vitepress/dist/assets/workflows_pr-review.md.CdYxJ5Yu.lean.js +1 -0
- package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +3 -3
- package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +3 -3
- package/packages/docs/.vitepress/dist/dev/LOGGING.html +3 -3
- package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +3 -3
- package/packages/docs/.vitepress/dist/hashmap.json +1 -1
- package/packages/docs/.vitepress/dist/index.html +3 -3
- package/packages/docs/.vitepress/dist/user/advanced-engineering.html +3 -3
- package/packages/docs/.vitepress/dist/user/agent-setup.html +3 -3
- package/packages/docs/.vitepress/dist/user/beads-integration.html +3 -3
- package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +3 -3
- package/packages/docs/.vitepress/dist/user/custom-workflows.html +3 -3
- package/packages/docs/.vitepress/dist/user/git-commit-feature.html +3 -3
- package/packages/docs/.vitepress/dist/user/how-it-works.html +3 -3
- package/packages/docs/.vitepress/dist/user/long-term-memory.html +3 -3
- package/packages/docs/.vitepress/dist/user/packaged-workflows.html +3 -3
- package/packages/docs/.vitepress/dist/user/tutorial.html +3 -3
- package/packages/docs/.vitepress/dist/user/workflow-selection.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/adr.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/bugfix.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/business-analysis.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/epcc.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/epcc.yaml +1 -0
- package/packages/docs/.vitepress/dist/workflows/game-beginner.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/greenfield.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/minor.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/posts.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/pr-review.html +26 -0
- package/packages/docs/.vitepress/dist/workflows/pr-review.yaml +177 -0
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/skilled-bugfix.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/skilled-epcc.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/skilled-greenfield.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/slides.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/tdd.html +3 -3
- package/packages/docs/.vitepress/dist/workflows/waterfall.html +3 -3
- package/packages/docs/.vitepress/dist/workflows.html +3 -3
- package/packages/docs/package.json +1 -1
- package/packages/mcp-server/dist/index.js +2 -0
- package/packages/mcp-server/package.json +1 -1
- package/packages/mcp-server/resources/workflows/epcc.yaml +1 -0
- package/packages/mcp-server/resources/workflows/pr-review.yaml +177 -0
- package/packages/opencode-plugin/dist/index.js +5 -1
- package/packages/opencode-plugin/package.json +1 -1
- package/packages/opencode-plugin/resources/workflows/epcc.yaml +1 -0
- package/packages/opencode-plugin/resources/workflows/pr-review.yaml +177 -0
- package/packages/opencode-tui-plugin/package.json +1 -1
- package/packages/visualizer/dist/services/workflow-list.ts +1 -0
- package/packages/visualizer/package.json +1 -1
- package/resources/workflows/epcc.yaml +1 -0
- package/resources/workflows/pr-review.yaml +177 -0
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/workflows/assets/style.DfNfC54K.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/workflows/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/workflows/assets/app.
|
|
12
|
+
<script type="module" src="/workflows/assets/app.CAEWYLPb.js"></script>
|
|
13
13
|
<link rel="preload" href="/workflows/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/workflows/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/workflows/assets/chunks/theme.CshoOl3e.js">
|
|
15
15
|
<link rel="modulepreload" href="/workflows/assets/chunks/framework.FdfEk_gD.js">
|
|
16
16
|
<link rel="modulepreload" href="/workflows/assets/workflows_slides.md.CScRnwcC.lean.js">
|
|
17
17
|
<link rel="icon" href="/workflows/favicon.ico">
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<div id="app"><div style="position:relative;" data-v-c1df4d5c><div><div id="workflow-visualizer-app" class="" data-v-7fa343e6><!----><main class="app-main"><div class="diagram-container"><div id="diagram-canvas" class="diagram-canvas"><div class="loading-message">Loading workflow...</div></div></div><aside class="side-panel"><div class="side-panel-header"><h2>Details</h2></div><div class="side-panel-content"><div class="empty-state"> Click on a state or transition to see details </div></div></aside></main><div id="error-container" class="error-container hidden"><div class="error-message"><span class="error-text"></span><button class="error-close">×</button></div></div></div></div></div></div>
|
|
23
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
23
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_pr-review.md\":\"CdYxJ5Yu\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
24
24
|
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/workflows/assets/style.DfNfC54K.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/workflows/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/workflows/assets/app.
|
|
12
|
+
<script type="module" src="/workflows/assets/app.CAEWYLPb.js"></script>
|
|
13
13
|
<link rel="preload" href="/workflows/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/workflows/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/workflows/assets/chunks/theme.CshoOl3e.js">
|
|
15
15
|
<link rel="modulepreload" href="/workflows/assets/chunks/framework.FdfEk_gD.js">
|
|
16
16
|
<link rel="modulepreload" href="/workflows/assets/workflows_tdd.md.C_hC07yu.lean.js">
|
|
17
17
|
<link rel="icon" href="/workflows/favicon.ico">
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<div id="app"><div style="position:relative;" data-v-c1df4d5c><div><div id="workflow-visualizer-app" class="" data-v-7fa343e6><!----><main class="app-main"><div class="diagram-container"><div id="diagram-canvas" class="diagram-canvas"><div class="loading-message">Loading workflow...</div></div></div><aside class="side-panel"><div class="side-panel-header"><h2>Details</h2></div><div class="side-panel-content"><div class="empty-state"> Click on a state or transition to see details </div></div></aside></main><div id="error-container" class="error-container hidden"><div class="error-message"><span class="error-text"></span><button class="error-close">×</button></div></div></div></div></div></div>
|
|
23
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
23
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_pr-review.md\":\"CdYxJ5Yu\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
24
24
|
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/workflows/assets/style.DfNfC54K.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/workflows/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/workflows/assets/app.
|
|
12
|
+
<script type="module" src="/workflows/assets/app.CAEWYLPb.js"></script>
|
|
13
13
|
<link rel="preload" href="/workflows/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/workflows/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/workflows/assets/chunks/theme.CshoOl3e.js">
|
|
15
15
|
<link rel="modulepreload" href="/workflows/assets/chunks/framework.FdfEk_gD.js">
|
|
16
16
|
<link rel="modulepreload" href="/workflows/assets/workflows_waterfall.md.nMkWHPRt.lean.js">
|
|
17
17
|
<link rel="icon" href="/workflows/favicon.ico">
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<div id="app"><div style="position:relative;" data-v-c1df4d5c><div><div id="workflow-visualizer-app" class="" data-v-7fa343e6><!----><main class="app-main"><div class="diagram-container"><div id="diagram-canvas" class="diagram-canvas"><div class="loading-message">Loading workflow...</div></div></div><aside class="side-panel"><div class="side-panel-header"><h2>Details</h2></div><div class="side-panel-content"><div class="empty-state"> Click on a state or transition to see details </div></div></aside></main><div id="error-container" class="error-container hidden"><div class="error-message"><span class="error-text"></span><button class="error-close">×</button></div></div></div></div></div></div>
|
|
23
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
23
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_pr-review.md\":\"CdYxJ5Yu\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
24
24
|
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/workflows/assets/style.DfNfC54K.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/workflows/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/workflows/assets/app.
|
|
12
|
+
<script type="module" src="/workflows/assets/app.CAEWYLPb.js"></script>
|
|
13
13
|
<link rel="preload" href="/workflows/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/workflows/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/workflows/assets/chunks/theme.CshoOl3e.js">
|
|
15
15
|
<link rel="modulepreload" href="/workflows/assets/chunks/framework.FdfEk_gD.js">
|
|
16
16
|
<link rel="modulepreload" href="/workflows/assets/workflows.md.B6jknRdS.lean.js">
|
|
17
17
|
<link rel="icon" href="/workflows/favicon.ico">
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<div id="app"><div class="Layout" data-v-c1df4d5c><!--[--><!--]--><!--[--><span tabindex="-1" data-v-ecac0ce8></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-ecac0ce8>Skip to content</a><!--]--><!----><header class="VPNav" data-v-c1df4d5c data-v-b2fedd30><div class="VPNavBar" data-v-b2fedd30 data-v-37a0846a><div class="wrapper" data-v-37a0846a><div class="container" data-v-37a0846a><div class="title" data-v-37a0846a><div class="VPNavBarTitle" data-v-37a0846a data-v-b408e164><a class="title" href="/workflows/" data-v-b408e164><!--[--><!--]--><!----><span data-v-b408e164>Responsible Vibe MCP</span><!--[--><!--]--></a></div></div><div class="content" data-v-37a0846a><div class="content-body" data-v-37a0846a><!--[--><!--]--><div class="VPNavBarSearch search" data-v-37a0846a><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-37a0846a data-v-27d7d4fe><span id="main-nav-aria-label" class="visually-hidden" data-v-27d7d4fe> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/workflows/" tabindex="0" data-v-27d7d4fe data-v-e70ce59d><!--[--><span data-v-e70ce59d>Documentation</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/workflows/workflows.html" tabindex="0" data-v-27d7d4fe data-v-e70ce59d><!--[--><span data-v-e70ce59d>Workflows</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://github.com/codemcp/workflows" target="_blank" rel="noreferrer" tabindex="0" data-v-27d7d4fe data-v-e70ce59d><!--[--><span data-v-e70ce59d>Github</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-37a0846a data-v-34a9cb79><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-34a9cb79 data-v-9e7dfa94 data-v-c055c202><span class="check" data-v-c055c202><span class="icon" data-v-c055c202><!--[--><span class="vpi-sun sun" data-v-9e7dfa94></span><span class="vpi-moon moon" data-v-9e7dfa94></span><!--]--></span></span></button></div><!----><div class="VPFlyout VPNavBarExtra extra" data-v-37a0846a data-v-abbdfbda data-v-8b861926><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-8b861926><span class="vpi-more-horizontal icon" data-v-8b861926></span></button><div class="menu" data-v-8b861926><div class="VPMenu" data-v-8b861926 data-v-5713f977><!----><!--[--><!--[--><!----><div class="group" data-v-abbdfbda><div class="item appearance" data-v-abbdfbda><p class="label" data-v-abbdfbda>Appearance</p><div class="appearance-action" data-v-abbdfbda><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-abbdfbda data-v-9e7dfa94 data-v-c055c202><span class="check" data-v-c055c202><span class="icon" data-v-c055c202><!--[--><span class="vpi-sun sun" data-v-9e7dfa94></span><span class="vpi-moon moon" data-v-9e7dfa94></span><!--]--></span></span></button></div></div></div><!----><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-37a0846a data-v-923ccc68><span class="container" data-v-923ccc68><span class="top" data-v-923ccc68></span><span class="middle" data-v-923ccc68></span><span class="bottom" data-v-923ccc68></span></span></button></div></div></div></div><div class="divider" data-v-37a0846a><div class="divider-line" data-v-37a0846a></div></div></div><!----></header><div class="VPLocalNav empty fixed" data-v-c1df4d5c data-v-d06e114f><div class="container" data-v-d06e114f><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-d06e114f data-v-aab1d107><button data-v-aab1d107>Return to top</button><!----></div></div></div><!----><div class="VPContent" id="VPContent" data-v-c1df4d5c data-v-28fa4ed1><div class="VPDoc" data-v-28fa4ed1 data-v-cda1d691><!--[--><!--]--><div class="container" data-v-cda1d691><!----><div class="content" data-v-cda1d691><div class="content-container" data-v-cda1d691><!--[--><!--]--><main class="main" data-v-cda1d691><div style="position:relative;" class="vp-doc _workflows_workflows" data-v-cda1d691><div><div id="workflow-visualizer-app" class="" data-v-7fa343e6><header class="app-header"><h1>Workflow Visualizer</h1><div class="workflow-controls"><select id="workflow-selector" class="workflow-selector"><option value="">Select a workflow...</option></select><input type="file" id="file-upload" accept=".yaml,.yml" class="file-upload"><label for="file-upload" class="file-upload-label">Upload YAML</label></div></header><main class="app-main"><div class="diagram-container"><div id="diagram-canvas" class="diagram-canvas"><div class="loading-message">Select a workflow to visualize</div></div></div><aside class="side-panel"><div class="side-panel-header"><h2>Details</h2></div><div class="side-panel-content"><div class="empty-state"> Click on a state or transition to see details </div></div></aside></main><div id="error-container" class="error-container hidden"><div class="error-message"><span class="error-text"></span><button class="error-close">×</button></div></div></div></div></div></main><footer class="VPDocFooter" data-v-cda1d691 data-v-5253e96b><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-5253e96b><span class="visually-hidden" id="doc-footer-aria-label" data-v-5253e96b>Pager</span><div class="pager" data-v-5253e96b><a class="VPLink link pager-link prev" href="/workflows/user/custom-workflows.html" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Previous page</span><span class="title" data-v-5253e96b>Custom Workflows</span><!--]--></a></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/workflows/user/crowd-mcp-integration.html" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Crowd MCP Integration</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
23
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
23
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"dev_architecture.md\":\"CvNKCNdN\",\"dev_development.md\":\"D_3UnLYh\",\"dev_logging.md\":\"ChgMzoxk\",\"dev_publishing.md\":\"9HHCKtL4\",\"index.md\":\"BqtGZhQl\",\"user_advanced-engineering.md\":\"DSy0uwWe\",\"user_agent-setup.md\":\"Cgzr8dYa\",\"user_beads-integration.md\":\"CB1VJJCp\",\"user_crowd-mcp-integration.md\":\"DPSO9u7p\",\"user_custom-workflows.md\":\"CtvQt5R0\",\"user_git-commit-feature.md\":\"IwIx6MMR\",\"user_how-it-works.md\":\"08ZFhWmJ\",\"user_long-term-memory.md\":\"Tss4q2DM\",\"user_packaged-workflows.md\":\"D8DLEuhH\",\"user_tutorial.md\":\"BTP4OqKB\",\"user_workflow-selection.md\":\"G8vSc8iy\",\"workflows.md\":\"B6jknRdS\",\"workflows_adr.md\":\"DQ73iGUh\",\"workflows_big-bang-conversion.md\":\"BgV6R1KI\",\"workflows_boundary-testing.md\":\"RwhcIDcf\",\"workflows_bugfix.md\":\"sZNWPjvx\",\"workflows_business-analysis.md\":\"C3FBbsiu\",\"workflows_c4-analysis.md\":\"MVyWuWSL\",\"workflows_epcc.md\":\"1mWsuIIR\",\"workflows_game-beginner.md\":\"J4UOyAAT\",\"workflows_greenfield.md\":\"DzJ6V7lb\",\"workflows_minor.md\":\"dYZlfSHT\",\"workflows_posts.md\":\"BrkDZjGs\",\"workflows_pr-review.md\":\"CdYxJ5Yu\",\"workflows_sdd-bugfix-crowd.md\":\"BQH-LJXS\",\"workflows_sdd-bugfix.md\":\"CoPY5TS6\",\"workflows_sdd-feature-crowd.md\":\"CCj9xqan\",\"workflows_sdd-feature.md\":\"Dy8SNaX8\",\"workflows_sdd-greenfield-crowd.md\":\"_lPEQnGj\",\"workflows_sdd-greenfield.md\":\"KStU-OJS\",\"workflows_skilled-bugfix.md\":\"CvCekIa2\",\"workflows_skilled-epcc.md\":\"D7Kg_U7p\",\"workflows_skilled-greenfield.md\":\"C_R8GafG\",\"workflows_slides.md\":\"CScRnwcC\",\"workflows_tdd.md\":\"C_hC07yu\",\"workflows_waterfall.md\":\"nMkWHPRt\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Responsible Vibe MCP\",\"description\":\"Model Context Protocol server for intelligent conversation state management and development guidance\",\"base\":\"/workflows/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"Documentation\",\"link\":\"/\"},{\"text\":\"Workflows\",\"link\":\"/workflows\"},{\"text\":\"Github\",\"link\":\"https://github.com/codemcp/workflows\"}],\"sidebar\":[{\"text\":\"User Guide\",\"items\":[{\"text\":\"Overview\",\"link\":\"/\"},{\"text\":\"How It Works\",\"link\":\"/user/how-it-works\"},{\"text\":\"Agent Setup\",\"link\":\"/user/agent-setup\"},{\"text\":\"Vibe Engineering\",\"link\":\"/user/advanced-engineering\"},{\"text\":\"Long-Term Memory\",\"link\":\"/user/long-term-memory\"},{\"text\":\"Beads-Integration\",\"link\":\"/user/beads-integration\"},{\"text\":\"Tutorial\",\"link\":\"/user/tutorial\"}]},{\"text\":\"Workflows\",\"items\":[{\"text\":\"Workflow-Selection\",\"link\":\"/user/workflow-selection\"},{\"text\":\"Packaged Workflows\",\"link\":\"/user/packaged-workflows\"},{\"text\":\"Custom Workflows\",\"link\":\"/user/custom-workflows\"},{\"text\":\"Explore All Workflows\",\"link\":\"/workflows\"},{\"text\":\"Crowd MCP Integration\",\"link\":\"/user/crowd-mcp-integration\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
24
24
|
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -6194,6 +6194,8 @@ var InstructionGenerator = class {
|
|
|
6194
6194
|
|
|
6195
6195
|
**ACTION REQUIRED: Focus on "${phaseName}" tasks** and log decisions in "Key Decisions"
|
|
6196
6196
|
|
|
6197
|
+
**When all tasks are completed**: Make sure that all insights and decisions are captured in \`${conversationContext.planFilePath}\`. Then call proceed_to_phase to move to the next phase.
|
|
6198
|
+
|
|
6197
6199
|
**CRITICAL: Do NOT use other task/todo tools** - use only the plan file for task tracking`;
|
|
6198
6200
|
if (allowedFilePatterns && allowedFilePatterns.length > 0 && !allowedFilePatterns.includes("**/*") && !allowedFilePatterns.includes("*")) {
|
|
6199
6201
|
workflowSection += `
|
|
@@ -31,6 +31,7 @@ states:
|
|
|
31
31
|
- '**/*.txt'
|
|
32
32
|
- '**/*.adoc'
|
|
33
33
|
default_instructions: |
|
|
34
|
+
Figure out the INTENT of the users instructions.
|
|
34
35
|
Research the codebase to understand existing patterns and gather context about the problem space.
|
|
35
36
|
|
|
36
37
|
- If uncertain about conventions or rules, ask the user about them
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../state-machine-schema.json
|
|
2
|
+
---
|
|
3
|
+
name: 'pr-review'
|
|
4
|
+
description: 'A tech-agnostic PR or code diff review workflow: determine intent, review architecture, correctness, and quality — hierarchically gated, with findings posted inline.'
|
|
5
|
+
initial_state: 'determine_intent'
|
|
6
|
+
|
|
7
|
+
metadata:
|
|
8
|
+
domain: 'code'
|
|
9
|
+
complexity: 'medium'
|
|
10
|
+
bestFor:
|
|
11
|
+
- 'Pull request reviews'
|
|
12
|
+
- 'Merge request reviews'
|
|
13
|
+
- 'Code review'
|
|
14
|
+
useCases:
|
|
15
|
+
- 'Reviewing a feature branch before merge'
|
|
16
|
+
- 'Reviewing a bug fix'
|
|
17
|
+
- 'Reviewing a refactoring'
|
|
18
|
+
examples:
|
|
19
|
+
- 'Review PR #42'
|
|
20
|
+
- 'Review the feature/login-refactor branch'
|
|
21
|
+
|
|
22
|
+
states:
|
|
23
|
+
determine_intent:
|
|
24
|
+
description: 'Derive the intent of the PR from the diff and present it to the user for confirmation'
|
|
25
|
+
default_instructions: |
|
|
26
|
+
Fetch the diff (stat and full diff) for the PR or branch under review.
|
|
27
|
+
Retrieve the PR description and any linked issue descriptions. Use gh or glab CLI tools as needed. Fallback: Read using http.
|
|
28
|
+
|
|
29
|
+
From the diff and any available PR description, derive in your own words:
|
|
30
|
+
- What problem does this change solve? What does the user intend to achieve?
|
|
31
|
+
- What is the mechanism used to solve it?
|
|
32
|
+
|
|
33
|
+
Present your derived intent to the user and wait for explicit confirmation before proceeding.
|
|
34
|
+
If your derived intent contradicts the PR description or what the user responds to you, flag that explicitly — it is itself a finding.
|
|
35
|
+
|
|
36
|
+
Respond in the user's language.
|
|
37
|
+
|
|
38
|
+
transitions:
|
|
39
|
+
- trigger: 'intent_confirmed'
|
|
40
|
+
to: 'orient'
|
|
41
|
+
transition_reason: 'Intent confirmed by user, ready to map the change'
|
|
42
|
+
|
|
43
|
+
orient:
|
|
44
|
+
description: 'Build a structural map of the change before any judgment'
|
|
45
|
+
default_instructions: |
|
|
46
|
+
Map the change without evaluating it yet:
|
|
47
|
+
- Which files changed, and what kind of change is each (new logic, refactor, configuration, tests, fixtures)?
|
|
48
|
+
- What are the entry points of the data or control flow affected by this change?
|
|
49
|
+
- Which existing boundaries or components does the change touch?
|
|
50
|
+
|
|
51
|
+
Document this map. It will be the reference for all subsequent review phases.
|
|
52
|
+
|
|
53
|
+
transitions:
|
|
54
|
+
- trigger: 'oriented'
|
|
55
|
+
to: 'review_architecture'
|
|
56
|
+
transition_reason: 'Structural map complete, ready to review architecture'
|
|
57
|
+
|
|
58
|
+
review_architecture:
|
|
59
|
+
description: 'Review whether the change is in the right place and respects existing structure'
|
|
60
|
+
default_instructions: |
|
|
61
|
+
Evaluate the structural decisions in the change against the confirmed intent:
|
|
62
|
+
|
|
63
|
+
- Is the change located in the right place, or does it belong elsewhere?
|
|
64
|
+
- Does it respect the existing boundaries and separation of responsibilities?
|
|
65
|
+
- Does it introduce the right abstraction, or does it over- or under-abstract?
|
|
66
|
+
- Does it follow the patterns already established in the codebase?
|
|
67
|
+
- If an architecture document exists ($ARCHITECTURE_DOC), verify the change is consistent with it.
|
|
68
|
+
|
|
69
|
+
For each finding, classify it immediately:
|
|
70
|
+
- **Bug**: incorrect behavior or data loss
|
|
71
|
+
- **Design issue**: correct but wrong structure, will cause pain later
|
|
72
|
+
- **Performance**: correct but unnecessarily costly at the expected scale
|
|
73
|
+
- **Minor**: small violations, naming, unnecessary indirection
|
|
74
|
+
- **Nit**: style, redundant comments, cosmetics
|
|
75
|
+
|
|
76
|
+
Bugs and design issues are major flaws. If major flaws are found, proceed to publish_review immediately.
|
|
77
|
+
|
|
78
|
+
transitions:
|
|
79
|
+
- trigger: 'no_major_flaws'
|
|
80
|
+
to: 'review_correctness'
|
|
81
|
+
transition_reason: 'No major architectural flaws, proceeding to correctness review'
|
|
82
|
+
|
|
83
|
+
- trigger: 'major_flaws_found'
|
|
84
|
+
to: 'publish_review'
|
|
85
|
+
additional_instructions: |
|
|
86
|
+
Major architectural flaws were found. Do not proceed to correctness or quality review —
|
|
87
|
+
reviewing correctness on a structurally wrong solution is wasted effort.
|
|
88
|
+
|
|
89
|
+
Communicate clearly to the user:
|
|
90
|
+
- Which findings are blockers and why
|
|
91
|
+
- What rework is expected before the review can continue
|
|
92
|
+
transition_reason: 'Major architectural flaws found, stopping for rework before continuing'
|
|
93
|
+
|
|
94
|
+
review_correctness:
|
|
95
|
+
description: 'Review whether the logic correctly achieves the confirmed intent'
|
|
96
|
+
default_instructions: |
|
|
97
|
+
Evaluate the logic of the change against the confirmed intent:
|
|
98
|
+
|
|
99
|
+
- Does the code do what the intent requires, for all inputs and states?
|
|
100
|
+
- Are edge cases handled — boundary conditions, empty inputs, missing data?
|
|
101
|
+
- Are things that must stay consistent changed together? Can partial updates occur?
|
|
102
|
+
- Are error paths handled, or silently swallowed?
|
|
103
|
+
- Do resources that grow over time have a defined cleanup strategy?
|
|
104
|
+
- If a design document or specification exists ($DESIGN_DOC), verify the change is consistent with it.
|
|
105
|
+
|
|
106
|
+
For each finding, classify it immediately (same scale as review_architecture).
|
|
107
|
+
|
|
108
|
+
Bugs and design issues are major flaws. If major flaws are found, proceed to publish_review immediately.
|
|
109
|
+
|
|
110
|
+
transitions:
|
|
111
|
+
- trigger: 'no_major_flaws'
|
|
112
|
+
to: 'review_quality'
|
|
113
|
+
transition_reason: 'No major correctness flaws, proceeding to quality review'
|
|
114
|
+
|
|
115
|
+
- trigger: 'major_flaws_found'
|
|
116
|
+
to: 'publish_review'
|
|
117
|
+
additional_instructions: |
|
|
118
|
+
Major correctness flaws were found. Do not proceed to quality review —
|
|
119
|
+
polishing incorrect code is wasted effort.
|
|
120
|
+
|
|
121
|
+
Communicate clearly to the user:
|
|
122
|
+
- Which findings are blockers and why
|
|
123
|
+
- What rework is expected before the review can continue
|
|
124
|
+
Proceed to publish_review to deliver these findings.
|
|
125
|
+
transition_reason: 'Major correctness flaws found, stopping for rework before continuing'
|
|
126
|
+
|
|
127
|
+
review_quality:
|
|
128
|
+
description: 'Review code quality, completeness, and good practices'
|
|
129
|
+
default_instructions: |
|
|
130
|
+
Evaluate the quality of the change:
|
|
131
|
+
|
|
132
|
+
- Is the code DRY, or is logic duplicated that should be shared?
|
|
133
|
+
- Does the code do unnecessary work — reimplementing what the platform already provides,
|
|
134
|
+
or repeating expensive operations that could be done once?
|
|
135
|
+
- Is naming self-explanatory at the right level of abstraction?
|
|
136
|
+
- Do comments explain *why*, not *what*? Are there comments that merely restate the code?
|
|
137
|
+
- Is what's absent a problem: missing tests, missing error handling, missing observability?
|
|
138
|
+
- Are there conventions in the codebase that this change violates?
|
|
139
|
+
|
|
140
|
+
For each finding, classify it immediately (same scale as previous phases).
|
|
141
|
+
|
|
142
|
+
transitions:
|
|
143
|
+
- trigger: 'quality_reviewed'
|
|
144
|
+
to: 'summarize'
|
|
145
|
+
transition_reason: 'Quality review complete, ready to summarize'
|
|
146
|
+
|
|
147
|
+
summarize:
|
|
148
|
+
description: 'Compose a concise overall summary of the review'
|
|
149
|
+
default_instructions: |
|
|
150
|
+
Write a top-level review summary:
|
|
151
|
+
- Restate the confirmed intent in one sentence
|
|
152
|
+
- List blocking findings (bugs, design issues) if any remain
|
|
153
|
+
- List non-blocking suggestions briefly — the inline comments carry the detail
|
|
154
|
+
- State your overall recommendation: approve / request changes / comment
|
|
155
|
+
|
|
156
|
+
Keep it short. The inline comments are the substance; this is the orientation.
|
|
157
|
+
|
|
158
|
+
transitions:
|
|
159
|
+
- trigger: 'summary_ready'
|
|
160
|
+
to: 'publish_review'
|
|
161
|
+
transition_reason: 'Summary ready, proceed to publish'
|
|
162
|
+
|
|
163
|
+
publish_review:
|
|
164
|
+
description: 'Ask the user how to deliver the review findings'
|
|
165
|
+
default_instructions: |
|
|
166
|
+
Ask the user how they want the review delivered:
|
|
167
|
+
- Post inline comments directly to the PR/MR via VCS tooling (e.g. glab, gh)?
|
|
168
|
+
- Present findings as a structured summary in the chat?
|
|
169
|
+
- Both?
|
|
170
|
+
|
|
171
|
+
Once confirmed, deliver accordingly. For inline comments, attach each finding to the
|
|
172
|
+
specific file and line it refers to. For cross-cutting findings, use a top-level comment.
|
|
173
|
+
|
|
174
|
+
transitions:
|
|
175
|
+
- trigger: 'review_published'
|
|
176
|
+
to: 'determine_intent'
|
|
177
|
+
transition_reason: 'Review delivered, ready for next PR'
|
|
@@ -24075,6 +24075,8 @@ var InstructionGenerator = class {
|
|
|
24075
24075
|
|
|
24076
24076
|
**ACTION REQUIRED: Focus on "${phaseName}" tasks** and log decisions in "Key Decisions"
|
|
24077
24077
|
|
|
24078
|
+
**When all tasks are completed**: Make sure that all insights and decisions are captured in \`${conversationContext.planFilePath}\`. Then call proceed_to_phase to move to the next phase.
|
|
24079
|
+
|
|
24078
24080
|
**CRITICAL: Do NOT use other task/todo tools** - use only the plan file for task tracking`;
|
|
24079
24081
|
if (allowedFilePatterns && allowedFilePatterns.length > 0 && !allowedFilePatterns.includes("**/*") && !allowedFilePatterns.includes("*")) {
|
|
24080
24082
|
workflowSection += `
|
|
@@ -33473,6 +33475,8 @@ var InstructionGenerator2 = class {
|
|
|
33473
33475
|
|
|
33474
33476
|
**ACTION REQUIRED: Focus on "${phaseName}" tasks** and log decisions in "Key Decisions"
|
|
33475
33477
|
|
|
33478
|
+
**When all tasks are completed**: Make sure that all insights and decisions are captured in \`${conversationContext.planFilePath}\`. Then call proceed_to_phase to move to the next phase.
|
|
33479
|
+
|
|
33476
33480
|
**CRITICAL: Do NOT use other task/todo tools** - use only the plan file for task tracking`;
|
|
33477
33481
|
if (allowedFilePatterns && allowedFilePatterns.length > 0 && !allowedFilePatterns.includes("**/*") && !allowedFilePatterns.includes("*")) {
|
|
33478
33482
|
workflowSection += `
|
|
@@ -34242,7 +34246,7 @@ var WorkflowsPlugin = async (input) => {
|
|
|
34242
34246
|
Current phase "${state.phase}" only allows editing:
|
|
34243
34247
|
${allowedList}
|
|
34244
34248
|
|
|
34245
|
-
ACTION REQUIRED: Use
|
|
34249
|
+
ACTION REQUIRED: Use proceed_to_phase tool to move to a phase that allows editing this file type, OR focus on files matching the allowed patterns above.`;
|
|
34246
34250
|
logger37.error("BLOCKING edit", {
|
|
34247
34251
|
filePath,
|
|
34248
34252
|
phase: state.phase,
|
|
@@ -31,6 +31,7 @@ states:
|
|
|
31
31
|
- '**/*.txt'
|
|
32
32
|
- '**/*.adoc'
|
|
33
33
|
default_instructions: |
|
|
34
|
+
Figure out the INTENT of the users instructions.
|
|
34
35
|
Research the codebase to understand existing patterns and gather context about the problem space.
|
|
35
36
|
|
|
36
37
|
- If uncertain about conventions or rules, ask the user about them
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../state-machine-schema.json
|
|
2
|
+
---
|
|
3
|
+
name: 'pr-review'
|
|
4
|
+
description: 'A tech-agnostic PR or code diff review workflow: determine intent, review architecture, correctness, and quality — hierarchically gated, with findings posted inline.'
|
|
5
|
+
initial_state: 'determine_intent'
|
|
6
|
+
|
|
7
|
+
metadata:
|
|
8
|
+
domain: 'code'
|
|
9
|
+
complexity: 'medium'
|
|
10
|
+
bestFor:
|
|
11
|
+
- 'Pull request reviews'
|
|
12
|
+
- 'Merge request reviews'
|
|
13
|
+
- 'Code review'
|
|
14
|
+
useCases:
|
|
15
|
+
- 'Reviewing a feature branch before merge'
|
|
16
|
+
- 'Reviewing a bug fix'
|
|
17
|
+
- 'Reviewing a refactoring'
|
|
18
|
+
examples:
|
|
19
|
+
- 'Review PR #42'
|
|
20
|
+
- 'Review the feature/login-refactor branch'
|
|
21
|
+
|
|
22
|
+
states:
|
|
23
|
+
determine_intent:
|
|
24
|
+
description: 'Derive the intent of the PR from the diff and present it to the user for confirmation'
|
|
25
|
+
default_instructions: |
|
|
26
|
+
Fetch the diff (stat and full diff) for the PR or branch under review.
|
|
27
|
+
Retrieve the PR description and any linked issue descriptions. Use gh or glab CLI tools as needed. Fallback: Read using http.
|
|
28
|
+
|
|
29
|
+
From the diff and any available PR description, derive in your own words:
|
|
30
|
+
- What problem does this change solve? What does the user intend to achieve?
|
|
31
|
+
- What is the mechanism used to solve it?
|
|
32
|
+
|
|
33
|
+
Present your derived intent to the user and wait for explicit confirmation before proceeding.
|
|
34
|
+
If your derived intent contradicts the PR description or what the user responds to you, flag that explicitly — it is itself a finding.
|
|
35
|
+
|
|
36
|
+
Respond in the user's language.
|
|
37
|
+
|
|
38
|
+
transitions:
|
|
39
|
+
- trigger: 'intent_confirmed'
|
|
40
|
+
to: 'orient'
|
|
41
|
+
transition_reason: 'Intent confirmed by user, ready to map the change'
|
|
42
|
+
|
|
43
|
+
orient:
|
|
44
|
+
description: 'Build a structural map of the change before any judgment'
|
|
45
|
+
default_instructions: |
|
|
46
|
+
Map the change without evaluating it yet:
|
|
47
|
+
- Which files changed, and what kind of change is each (new logic, refactor, configuration, tests, fixtures)?
|
|
48
|
+
- What are the entry points of the data or control flow affected by this change?
|
|
49
|
+
- Which existing boundaries or components does the change touch?
|
|
50
|
+
|
|
51
|
+
Document this map. It will be the reference for all subsequent review phases.
|
|
52
|
+
|
|
53
|
+
transitions:
|
|
54
|
+
- trigger: 'oriented'
|
|
55
|
+
to: 'review_architecture'
|
|
56
|
+
transition_reason: 'Structural map complete, ready to review architecture'
|
|
57
|
+
|
|
58
|
+
review_architecture:
|
|
59
|
+
description: 'Review whether the change is in the right place and respects existing structure'
|
|
60
|
+
default_instructions: |
|
|
61
|
+
Evaluate the structural decisions in the change against the confirmed intent:
|
|
62
|
+
|
|
63
|
+
- Is the change located in the right place, or does it belong elsewhere?
|
|
64
|
+
- Does it respect the existing boundaries and separation of responsibilities?
|
|
65
|
+
- Does it introduce the right abstraction, or does it over- or under-abstract?
|
|
66
|
+
- Does it follow the patterns already established in the codebase?
|
|
67
|
+
- If an architecture document exists ($ARCHITECTURE_DOC), verify the change is consistent with it.
|
|
68
|
+
|
|
69
|
+
For each finding, classify it immediately:
|
|
70
|
+
- **Bug**: incorrect behavior or data loss
|
|
71
|
+
- **Design issue**: correct but wrong structure, will cause pain later
|
|
72
|
+
- **Performance**: correct but unnecessarily costly at the expected scale
|
|
73
|
+
- **Minor**: small violations, naming, unnecessary indirection
|
|
74
|
+
- **Nit**: style, redundant comments, cosmetics
|
|
75
|
+
|
|
76
|
+
Bugs and design issues are major flaws. If major flaws are found, proceed to publish_review immediately.
|
|
77
|
+
|
|
78
|
+
transitions:
|
|
79
|
+
- trigger: 'no_major_flaws'
|
|
80
|
+
to: 'review_correctness'
|
|
81
|
+
transition_reason: 'No major architectural flaws, proceeding to correctness review'
|
|
82
|
+
|
|
83
|
+
- trigger: 'major_flaws_found'
|
|
84
|
+
to: 'publish_review'
|
|
85
|
+
additional_instructions: |
|
|
86
|
+
Major architectural flaws were found. Do not proceed to correctness or quality review —
|
|
87
|
+
reviewing correctness on a structurally wrong solution is wasted effort.
|
|
88
|
+
|
|
89
|
+
Communicate clearly to the user:
|
|
90
|
+
- Which findings are blockers and why
|
|
91
|
+
- What rework is expected before the review can continue
|
|
92
|
+
transition_reason: 'Major architectural flaws found, stopping for rework before continuing'
|
|
93
|
+
|
|
94
|
+
review_correctness:
|
|
95
|
+
description: 'Review whether the logic correctly achieves the confirmed intent'
|
|
96
|
+
default_instructions: |
|
|
97
|
+
Evaluate the logic of the change against the confirmed intent:
|
|
98
|
+
|
|
99
|
+
- Does the code do what the intent requires, for all inputs and states?
|
|
100
|
+
- Are edge cases handled — boundary conditions, empty inputs, missing data?
|
|
101
|
+
- Are things that must stay consistent changed together? Can partial updates occur?
|
|
102
|
+
- Are error paths handled, or silently swallowed?
|
|
103
|
+
- Do resources that grow over time have a defined cleanup strategy?
|
|
104
|
+
- If a design document or specification exists ($DESIGN_DOC), verify the change is consistent with it.
|
|
105
|
+
|
|
106
|
+
For each finding, classify it immediately (same scale as review_architecture).
|
|
107
|
+
|
|
108
|
+
Bugs and design issues are major flaws. If major flaws are found, proceed to publish_review immediately.
|
|
109
|
+
|
|
110
|
+
transitions:
|
|
111
|
+
- trigger: 'no_major_flaws'
|
|
112
|
+
to: 'review_quality'
|
|
113
|
+
transition_reason: 'No major correctness flaws, proceeding to quality review'
|
|
114
|
+
|
|
115
|
+
- trigger: 'major_flaws_found'
|
|
116
|
+
to: 'publish_review'
|
|
117
|
+
additional_instructions: |
|
|
118
|
+
Major correctness flaws were found. Do not proceed to quality review —
|
|
119
|
+
polishing incorrect code is wasted effort.
|
|
120
|
+
|
|
121
|
+
Communicate clearly to the user:
|
|
122
|
+
- Which findings are blockers and why
|
|
123
|
+
- What rework is expected before the review can continue
|
|
124
|
+
Proceed to publish_review to deliver these findings.
|
|
125
|
+
transition_reason: 'Major correctness flaws found, stopping for rework before continuing'
|
|
126
|
+
|
|
127
|
+
review_quality:
|
|
128
|
+
description: 'Review code quality, completeness, and good practices'
|
|
129
|
+
default_instructions: |
|
|
130
|
+
Evaluate the quality of the change:
|
|
131
|
+
|
|
132
|
+
- Is the code DRY, or is logic duplicated that should be shared?
|
|
133
|
+
- Does the code do unnecessary work — reimplementing what the platform already provides,
|
|
134
|
+
or repeating expensive operations that could be done once?
|
|
135
|
+
- Is naming self-explanatory at the right level of abstraction?
|
|
136
|
+
- Do comments explain *why*, not *what*? Are there comments that merely restate the code?
|
|
137
|
+
- Is what's absent a problem: missing tests, missing error handling, missing observability?
|
|
138
|
+
- Are there conventions in the codebase that this change violates?
|
|
139
|
+
|
|
140
|
+
For each finding, classify it immediately (same scale as previous phases).
|
|
141
|
+
|
|
142
|
+
transitions:
|
|
143
|
+
- trigger: 'quality_reviewed'
|
|
144
|
+
to: 'summarize'
|
|
145
|
+
transition_reason: 'Quality review complete, ready to summarize'
|
|
146
|
+
|
|
147
|
+
summarize:
|
|
148
|
+
description: 'Compose a concise overall summary of the review'
|
|
149
|
+
default_instructions: |
|
|
150
|
+
Write a top-level review summary:
|
|
151
|
+
- Restate the confirmed intent in one sentence
|
|
152
|
+
- List blocking findings (bugs, design issues) if any remain
|
|
153
|
+
- List non-blocking suggestions briefly — the inline comments carry the detail
|
|
154
|
+
- State your overall recommendation: approve / request changes / comment
|
|
155
|
+
|
|
156
|
+
Keep it short. The inline comments are the substance; this is the orientation.
|
|
157
|
+
|
|
158
|
+
transitions:
|
|
159
|
+
- trigger: 'summary_ready'
|
|
160
|
+
to: 'publish_review'
|
|
161
|
+
transition_reason: 'Summary ready, proceed to publish'
|
|
162
|
+
|
|
163
|
+
publish_review:
|
|
164
|
+
description: 'Ask the user how to deliver the review findings'
|
|
165
|
+
default_instructions: |
|
|
166
|
+
Ask the user how they want the review delivered:
|
|
167
|
+
- Post inline comments directly to the PR/MR via VCS tooling (e.g. glab, gh)?
|
|
168
|
+
- Present findings as a structured summary in the chat?
|
|
169
|
+
- Both?
|
|
170
|
+
|
|
171
|
+
Once confirmed, deliver accordingly. For inline comments, attach each finding to the
|
|
172
|
+
specific file and line it refers to. For cross-cutting findings, use a top-level comment.
|
|
173
|
+
|
|
174
|
+
transitions:
|
|
175
|
+
- trigger: 'review_published'
|
|
176
|
+
to: 'determine_intent'
|
|
177
|
+
transition_reason: 'Review delivered, ready for next PR'
|