@codemcp/workflows 6.20.2 → 6.21.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.
Files changed (133) hide show
  1. package/package.json +2 -2
  2. package/packages/cli/dist/{chunk-4N42FFJE.js → chunk-KWAFQZUI.js} +91 -2670
  3. package/packages/cli/dist/{cli-MFHC7UWY.js → cli-O52P3RVC.js} +468 -33
  4. package/packages/cli/dist/{dist-ISN3FRV4.js → dist-FIUD5G5U.js} +65 -4
  5. package/packages/cli/dist/{dist-TDV3DJ2J.js → dist-ZTAPC4IK.js} +3 -1
  6. package/packages/cli/dist/index.js +2 -2
  7. package/packages/cli/package.json +5 -2
  8. package/packages/cli/resources/templates/opencode-agents/coding.md.tmpl +13 -0
  9. package/packages/cli/resources/templates/opencode-agents/research.md.tmpl +13 -0
  10. package/packages/cli/resources/templates/opencode-agents/thinking.md.tmpl +13 -0
  11. package/packages/cli/resources/workflows/bugfix.yaml +6 -0
  12. package/packages/cli/resources/workflows/epcc.yaml +3 -0
  13. package/packages/cli/resources/workflows/greenfield.yaml +3 -0
  14. package/packages/cli/resources/workflows/pr-review.yaml +2 -0
  15. package/packages/cli/resources/workflows/qrspi.yaml +5 -0
  16. package/packages/cli/resources/workflows/tdd.yaml +3 -0
  17. package/packages/cli/resources/workflows/waterfall.yaml +3 -0
  18. package/packages/core/dist/capability-hint.d.ts +28 -0
  19. package/packages/core/dist/capability-hint.js +52 -0
  20. package/packages/core/dist/capability-hint.js.map +1 -0
  21. package/packages/core/dist/config-manager.d.ts +19 -0
  22. package/packages/core/dist/config-manager.js +26 -0
  23. package/packages/core/dist/config-manager.js.map +1 -1
  24. package/packages/core/dist/index.d.ts +1 -0
  25. package/packages/core/dist/index.js +1 -0
  26. package/packages/core/dist/index.js.map +1 -1
  27. package/packages/core/dist/instruction-generator.js +7 -1
  28. package/packages/core/dist/instruction-generator.js.map +1 -1
  29. package/packages/core/dist/interfaces/instruction-generator.interface.d.ts +14 -0
  30. package/packages/core/dist/state-machine-types.d.ts +7 -0
  31. package/packages/core/package.json +1 -1
  32. package/packages/core/resources/templates/opencode-agents/coding.md.tmpl +13 -0
  33. package/packages/core/resources/templates/opencode-agents/research.md.tmpl +13 -0
  34. package/packages/core/resources/templates/opencode-agents/thinking.md.tmpl +13 -0
  35. package/packages/core/resources/workflows/bugfix.yaml +6 -0
  36. package/packages/core/resources/workflows/epcc.yaml +3 -0
  37. package/packages/core/resources/workflows/greenfield.yaml +3 -0
  38. package/packages/core/resources/workflows/pr-review.yaml +2 -0
  39. package/packages/core/resources/workflows/qrspi.yaml +5 -0
  40. package/packages/core/resources/workflows/tdd.yaml +3 -0
  41. package/packages/core/resources/workflows/waterfall.yaml +3 -0
  42. package/packages/docs/.vitepress/dist/404.html +1 -1
  43. package/packages/docs/.vitepress/dist/assets/user_capability-routing.md.DbNKvMiS.js +15 -0
  44. package/packages/docs/.vitepress/dist/assets/user_capability-routing.md.DbNKvMiS.lean.js +1 -0
  45. package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +2 -2
  46. package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +2 -2
  47. package/packages/docs/.vitepress/dist/dev/LOGGING.html +2 -2
  48. package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +2 -2
  49. package/packages/docs/.vitepress/dist/hashmap.json +1 -1
  50. package/packages/docs/.vitepress/dist/index.html +2 -2
  51. package/packages/docs/.vitepress/dist/user/advanced-engineering.html +3 -3
  52. package/packages/docs/.vitepress/dist/user/agent-setup.html +3 -3
  53. package/packages/docs/.vitepress/dist/user/beads-integration.html +2 -2
  54. package/packages/docs/.vitepress/dist/user/capability-routing.html +40 -0
  55. package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +2 -2
  56. package/packages/docs/.vitepress/dist/user/custom-workflows.html +2 -2
  57. package/packages/docs/.vitepress/dist/user/git-commit-feature.html +2 -2
  58. package/packages/docs/.vitepress/dist/user/how-it-works.html +2 -2
  59. package/packages/docs/.vitepress/dist/user/long-term-memory.html +2 -2
  60. package/packages/docs/.vitepress/dist/user/packaged-workflows.html +2 -2
  61. package/packages/docs/.vitepress/dist/user/tutorial.html +2 -2
  62. package/packages/docs/.vitepress/dist/user/workflow-selection.html +2 -2
  63. package/packages/docs/.vitepress/dist/workflows/adr.html +1 -1
  64. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +1 -1
  65. package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +1 -1
  66. package/packages/docs/.vitepress/dist/workflows/bugfix.html +1 -1
  67. package/packages/docs/.vitepress/dist/workflows/bugfix.yaml +6 -0
  68. package/packages/docs/.vitepress/dist/workflows/business-analysis.html +1 -1
  69. package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +1 -1
  70. package/packages/docs/.vitepress/dist/workflows/epcc.html +1 -1
  71. package/packages/docs/.vitepress/dist/workflows/epcc.yaml +3 -0
  72. package/packages/docs/.vitepress/dist/workflows/game-beginner.html +1 -1
  73. package/packages/docs/.vitepress/dist/workflows/greenfield.html +1 -1
  74. package/packages/docs/.vitepress/dist/workflows/greenfield.yaml +3 -0
  75. package/packages/docs/.vitepress/dist/workflows/minor.html +1 -1
  76. package/packages/docs/.vitepress/dist/workflows/posts.html +1 -1
  77. package/packages/docs/.vitepress/dist/workflows/pr-review.html +1 -1
  78. package/packages/docs/.vitepress/dist/workflows/pr-review.yaml +2 -0
  79. package/packages/docs/.vitepress/dist/workflows/qrspi.html +1 -1
  80. package/packages/docs/.vitepress/dist/workflows/qrspi.yaml +5 -0
  81. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +1 -1
  82. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +1 -1
  83. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +1 -1
  84. package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +1 -1
  85. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +1 -1
  86. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +1 -1
  87. package/packages/docs/.vitepress/dist/workflows/skilled-bugfix.html +1 -1
  88. package/packages/docs/.vitepress/dist/workflows/skilled-epcc.html +1 -1
  89. package/packages/docs/.vitepress/dist/workflows/skilled-greenfield.html +1 -1
  90. package/packages/docs/.vitepress/dist/workflows/slides.html +1 -1
  91. package/packages/docs/.vitepress/dist/workflows/tdd.html +1 -1
  92. package/packages/docs/.vitepress/dist/workflows/tdd.yaml +3 -0
  93. package/packages/docs/.vitepress/dist/workflows/waterfall.html +1 -1
  94. package/packages/docs/.vitepress/dist/workflows/waterfall.yaml +3 -0
  95. package/packages/docs/.vitepress/dist/workflows.html +1 -1
  96. package/packages/docs/package.json +1 -1
  97. package/packages/mcp-server/dist/index.js +67 -4
  98. package/packages/mcp-server/package.json +1 -1
  99. package/packages/mcp-server/resources/templates/opencode-agents/coding.md.tmpl +13 -0
  100. package/packages/mcp-server/resources/templates/opencode-agents/research.md.tmpl +13 -0
  101. package/packages/mcp-server/resources/templates/opencode-agents/thinking.md.tmpl +13 -0
  102. package/packages/mcp-server/resources/workflows/bugfix.yaml +6 -0
  103. package/packages/mcp-server/resources/workflows/epcc.yaml +3 -0
  104. package/packages/mcp-server/resources/workflows/greenfield.yaml +3 -0
  105. package/packages/mcp-server/resources/workflows/pr-review.yaml +2 -0
  106. package/packages/mcp-server/resources/workflows/qrspi.yaml +5 -0
  107. package/packages/mcp-server/resources/workflows/tdd.yaml +3 -0
  108. package/packages/mcp-server/resources/workflows/waterfall.yaml +3 -0
  109. package/packages/opencode-plugin/dist/index.js +67 -4
  110. package/packages/opencode-plugin/package.json +1 -1
  111. package/packages/opencode-plugin/resources/templates/opencode-agents/coding.md.tmpl +13 -0
  112. package/packages/opencode-plugin/resources/templates/opencode-agents/research.md.tmpl +13 -0
  113. package/packages/opencode-plugin/resources/templates/opencode-agents/thinking.md.tmpl +13 -0
  114. package/packages/opencode-plugin/resources/workflows/bugfix.yaml +6 -0
  115. package/packages/opencode-plugin/resources/workflows/epcc.yaml +3 -0
  116. package/packages/opencode-plugin/resources/workflows/greenfield.yaml +3 -0
  117. package/packages/opencode-plugin/resources/workflows/pr-review.yaml +2 -0
  118. package/packages/opencode-plugin/resources/workflows/qrspi.yaml +5 -0
  119. package/packages/opencode-plugin/resources/workflows/tdd.yaml +3 -0
  120. package/packages/opencode-plugin/resources/workflows/waterfall.yaml +3 -0
  121. package/packages/opencode-tui-plugin/package.json +1 -1
  122. package/packages/visualizer/package.json +1 -1
  123. package/resources/state-machine-schema.json +4 -0
  124. package/resources/templates/opencode-agents/coding.md.tmpl +13 -0
  125. package/resources/templates/opencode-agents/research.md.tmpl +13 -0
  126. package/resources/templates/opencode-agents/thinking.md.tmpl +13 -0
  127. package/resources/workflows/bugfix.yaml +6 -0
  128. package/resources/workflows/epcc.yaml +3 -0
  129. package/resources/workflows/greenfield.yaml +3 -0
  130. package/resources/workflows/pr-review.yaml +2 -0
  131. package/resources/workflows/qrspi.yaml +5 -0
  132. package/resources/workflows/tdd.yaml +3 -0
  133. package/resources/workflows/waterfall.yaml +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-generator.js","sourceRoot":"","sources":["../src/instruction-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,MAAM,OAAO,oBAAoB;IACvB,kBAAkB,CAAqB;IAE/C,YAAY,SAAkB,YAAY,CAAC,sBAAsB,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAA+B;QAC7C,OAAO;IACT,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,gBAAwB,EACxB,OAA2B;QAE3B,mDAAmD;QACnD,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAC5D,gBAAgB,EAChB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EACvC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CACtC,CAAC;QAEF,2DAA2D;QAC3D,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACzD,uBAAuB,EACvB,OAAO,CACR,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,oBAAoB;YAClC,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAY;gBACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,YAAoB,EACpB,WAAmB,EACnB,SAAkB;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CACpE,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAI,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,oDAAoD;YACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,gBAAwB,EACxB,OAA2B;QAE3B,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;QAEpE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,2EAA2E;QAC3E,IAAI,eAAe,GAAG;;;sBAGJ,mBAAmB,CAAC,YAAY;;+BAEvB,SAAS;;gGAEwD,mBAAmB,CAAC,YAAY;;0FAEtC,CAAC;QAEvF,2DAA2D;QAC3D,IACE,mBAAmB;YACnB,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,eAAe,IAAI,wBAAwB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAClF,CAAC;QAED,eAAe,IAAI,8CAA8C,CAAC;QAElE,OAAO,MAAM,SAAS,aAAa,gBAAgB,OAAO,eAAe,EAAE,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"instruction-generator.js","sourceRoot":"","sources":["../src/instruction-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,OAAO,oBAAoB;IACvB,kBAAkB,CAAqB;IAE/C,YAAY,SAAkB,YAAY,CAAC,sBAAsB,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAA+B;QAC7C,OAAO;IACT,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,gBAAwB,EACxB,OAA2B;QAE3B,mDAAmD;QACnD,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAC5D,gBAAgB,EAChB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EACvC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CACtC,CAAC;QAEF,2DAA2D;QAC3D,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACzD,uBAAuB,EACvB,OAAO,CACR,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,oBAAoB;YAClC,QAAQ,EAAE;gBACR,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,OAAO,CAAC,mBAAmB,CAAC,YAAY;gBACtD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,YAAoB,EACpB,WAAmB,EACnB,SAAkB;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CACpE,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAI,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,oDAAoD;YACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAc;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,gBAAwB,EACxB,OAA2B;QAE3B,MAAM,EACJ,KAAK,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACjB,GAAG,OAAO,CAAC;QAEZ,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,2EAA2E;QAC3E,IAAI,eAAe,GAAG;;;sBAGJ,mBAAmB,CAAC,YAAY;;+BAEvB,SAAS;;gGAEwD,mBAAmB,CAAC,YAAY;;0FAEtC,CAAC;QAEvF,2DAA2D;QAC3D,IACE,mBAAmB;YACnB,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,eAAe,IAAI,wBAAwB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAClF,CAAC;QAED,uEAAuE;QACvE,MAAM,cAAc,GAAG,oBAAoB,CACzC,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,IAAI,OAAO,cAAc,EAAE,CAAC;QAC7C,CAAC;QAED,eAAe,IAAI,8CAA8C,CAAC;QAElE,OAAO,MAAM,SAAS,aAAa,gBAAgB,OAAO,eAAe,EAAE,CAAC;IAC9E,CAAC;CACF"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { ConversationContext } from '../types.js';
8
8
  import type { YamlStateMachine } from '../state-machine-types.js';
9
+ import type { CapabilityConfig } from '../capability-hint.js';
9
10
  export interface InstructionContext {
10
11
  phase: string;
11
12
  conversationContext: ConversationContext;
@@ -15,6 +16,19 @@ export interface InstructionContext {
15
16
  instructionSource: 'proceed_to_phase' | 'whats_next' | 'start_development';
16
17
  /** Glob patterns for files allowed to be edited in this phase (optional) */
17
18
  allowedFilePatterns?: string[];
19
+ /**
20
+ * Optional capability hint declared on the phase (`required_capability` in
21
+ * the YAML state machine). When set, the instruction generator embeds a
22
+ * "Capability hint:" sentence into the phase instructions so the LLM picks
23
+ * a suitable model/agent for subagent work. Absent ⇒ no hint (opt-in).
24
+ */
25
+ requiredCapability?: string;
26
+ /**
27
+ * Optional model/agent routing configuration for the capability hint's
28
+ * subagent clause. Populated from `.vibe/config.yaml` `capability_models`
29
+ * when present.
30
+ */
31
+ capabilityConfig?: CapabilityConfig;
18
32
  }
19
33
  export interface GeneratedInstructions {
20
34
  instructions: string;
@@ -43,6 +43,13 @@ export interface YamlState {
43
43
  * @example ["*"] // Allow all files (same as omitting)
44
44
  */
45
45
  allowed_file_patterns?: string[];
46
+ /**
47
+ * Optional capability hint for this phase.
48
+ * If absent, no capability routing is applied.
49
+ * Free-form string; conventional values are `thinking`, `research`, `coding`.
50
+ * See `.vibe/config.yaml` `capability_models` for optional model/agent mapping.
51
+ */
52
+ required_capability?: string;
46
53
  }
47
54
  /**
48
55
  * Complete state machine definition
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemcp/workflows-core",
3
- "version": "6.20.2",
3
+ "version": "6.21.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: "Subagent for code generation and editing, focused on idiomatic patterns and minimal scope."
3
+ mode: subagent
4
+ model: ${model}
5
+ ---
6
+
7
+ You are the `${capability}` subagent for the workflows system. Your job is to implement focused, high-quality code changes on behalf of the parent agent.
8
+
9
+ Read the file you are about to edit before changing it. Match the surrounding style: indentation, naming, import order, error-handling conventions, and test patterns. Prefer small, surgical edits over large rewrites — change as little as possible to satisfy the requirement, and leave unrelated code untouched.
10
+
11
+ Write idiomatic code for the language and framework in use. Avoid clever one-liners, speculative abstractions, or new dependencies unless they are clearly justified. When a fix could be done two ways, pick the simpler one and note the trade-off in a short comment if it matters.
12
+
13
+ Run the relevant tests and linters when you can. If a build or test fails, do not declare success — diagnose and fix the root cause rather than papering over it. Never commit, push, or modify git state unless the parent agent explicitly instructs you to.
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: "Subagent for fast information gathering and codebase exploration."
3
+ mode: subagent
4
+ model: ${model}
5
+ ---
6
+
7
+ You are the `${capability}` subagent for the workflows system. Your job is to gather information quickly and report back concisely to the parent agent.
8
+
9
+ Search the codebase, documentation, and any provided context before answering. Use the most targeted query you can — exact symbol names, file paths, or distinctive error messages — before falling back to broader patterns. When a question can be answered by reading one or two files, just read them instead of guessing.
10
+
11
+ Report findings as a tight, structured summary: the direct answer first, then supporting evidence with file paths and line numbers. Quote only the snippets that matter. Do not paraphrase code when the original is clearer.
12
+
13
+ Avoid making changes. Do not implement, refactor, or "fix while you're there" — your job is to inform the parent's decision, not to make it. If a question cannot be answered from the available context, say so plainly and suggest the next investigation step.
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: "Subagent for deep reasoning, complex planning, and architectural trade-off analysis."
3
+ mode: subagent
4
+ model: ${model}
5
+ ---
6
+
7
+ You are the `${capability}` subagent for the workflows system. Your job is to support the parent agent during phases that demand careful reasoning, planning, and architectural analysis.
8
+
9
+ Approach problems methodically. Read the relevant code, surrounding tests, and any linked design notes before forming an opinion. When a question involves trade-offs, lay out the options with their concrete consequences rather than jumping to a single answer. Distinguish clearly between observed facts, reasonable inferences, and assumptions that still need verification.
10
+
11
+ Prefer structured output: short bullet lists, named options, and explicit recommendation with rationale. Call out open questions, risks, and edge cases the parent agent should not overlook. When a decision depends on values (readability, performance, maintainability, scope) name them rather than hand-waving.
12
+
13
+ Avoid making code changes unless the parent agent explicitly asks you to. Your primary value is sharp thinking, not typing. Do not invent APIs, file paths, or version numbers — when uncertain, say so and point at where to verify.
@@ -26,10 +26,13 @@ metadata:
26
26
  states:
27
27
  reproduce:
28
28
  description: 'Reproduce and understand the bug'
29
+ required_capability: 'research'
29
30
  allowed_file_patterns:
30
31
  - '**/*.md'
31
32
  - '**/*.txt'
32
33
  - '**/*.adoc'
34
+ - '**/*test*'
35
+ - '**/*spec*'
33
36
  default_instructions: |
34
37
  Gather specific information to reliably reproduce the reported bug:
35
38
  - What are the exact OS, browser/runtime versions, and hardware specs?
@@ -46,6 +49,7 @@ states:
46
49
 
47
50
  analyze:
48
51
  description: 'Analyze the bug and identify root cause'
52
+ required_capability: 'thinking'
49
53
  allowed_file_patterns:
50
54
  - '**/*.md'
51
55
  - '**/*.txt'
@@ -74,6 +78,7 @@ states:
74
78
 
75
79
  fix:
76
80
  description: 'Implement the bug fix'
81
+ required_capability: 'coding'
77
82
  allowed_file_patterns:
78
83
  - '**/*'
79
84
  default_instructions: |
@@ -110,6 +115,7 @@ states:
110
115
 
111
116
  verify:
112
117
  description: 'Verify the fix and ensure no regressions'
118
+ required_capability: 'thinking'
113
119
  allowed_file_patterns:
114
120
  - '**/*'
115
121
  default_instructions: Test the fix thoroughly to ensure the original bug is resolved and no new issues were introduced. Run existing tests, create new ones if needed, and verify the solution is robust.
@@ -26,6 +26,7 @@ metadata:
26
26
  states:
27
27
  explore:
28
28
  description: 'Research and exploration phase - understanding the problem space'
29
+ required_capability: 'research'
29
30
  allowed_file_patterns:
30
31
  - '**/*.md'
31
32
  - '**/*.txt'
@@ -48,6 +49,7 @@ states:
48
49
 
49
50
  plan:
50
51
  description: 'Planning phase - creating a detailed implementation strategy'
52
+ required_capability: 'thinking'
51
53
  allowed_file_patterns:
52
54
  - '**/*.md'
53
55
  - '**/*.txt'
@@ -92,6 +94,7 @@ states:
92
94
 
93
95
  code:
94
96
  description: 'Implementation phase - writing and building the solution'
97
+ required_capability: 'coding'
95
98
  allowed_file_patterns:
96
99
  - '**/*'
97
100
  default_instructions: |
@@ -27,6 +27,7 @@ metadata:
27
27
  states:
28
28
  ideation:
29
29
  description: 'Deep requirements discovery and PRD creation phase'
30
+ required_capability: 'thinking'
30
31
  allowed_file_patterns:
31
32
  - '**/*.md'
32
33
  - '**/*.txt'
@@ -51,6 +52,7 @@ states:
51
52
 
52
53
  architecture:
53
54
  description: 'Tech stack selection and architecture design phase'
55
+ required_capability: 'thinking'
54
56
  allowed_file_patterns:
55
57
  - '**/*.md'
56
58
  - '**/*.txt'
@@ -130,6 +132,7 @@ states:
130
132
 
131
133
  code:
132
134
  description: 'Implementation phase following the established plan and architecture'
135
+ required_capability: 'coding'
133
136
  allowed_file_patterns:
134
137
  - '**/*'
135
138
  default_instructions: |
@@ -57,6 +57,7 @@ states:
57
57
 
58
58
  review_architecture:
59
59
  description: 'Review whether the change is in the right place and respects existing structure'
60
+ required_capability: 'thinking'
60
61
  default_instructions: |
61
62
  Evaluate the structural decisions in the change against the confirmed intent:
62
63
 
@@ -93,6 +94,7 @@ states:
93
94
 
94
95
  review_correctness:
95
96
  description: 'Review whether the logic correctly achieves the confirmed intent'
97
+ required_capability: 'thinking'
96
98
  default_instructions: |
97
99
  Evaluate the logic of the change against the confirmed intent:
98
100
 
@@ -54,6 +54,7 @@ states:
54
54
 
55
55
  research:
56
56
  description: 'Gather facts without forming conclusions or proposing solutions'
57
+ required_capability: 'research'
57
58
  allowed_file_patterns:
58
59
  - '**/*.md'
59
60
  - '**/*.txt'
@@ -81,6 +82,7 @@ states:
81
82
 
82
83
  design:
83
84
  description: 'Explore options and reach consensus on WHAT and high-level HOW'
85
+ required_capability: 'thinking'
84
86
  allowed_file_patterns:
85
87
  - '**/*.md'
86
88
  - '**/*.txt'
@@ -114,6 +116,7 @@ states:
114
116
 
115
117
  structure:
116
118
  description: 'Decompose the approved design into end-to-end vertical slices'
119
+ required_capability: 'thinking'
117
120
  allowed_file_patterns:
118
121
  - '**/*.md'
119
122
  - '**/*.txt'
@@ -143,6 +146,7 @@ states:
143
146
 
144
147
  plan:
145
148
  description: 'Create a detailed implementation plan per vertical slice'
149
+ required_capability: 'thinking'
146
150
  allowed_file_patterns:
147
151
  - '**/*.md'
148
152
  - '**/*.txt'
@@ -182,6 +186,7 @@ states:
182
186
 
183
187
  implement:
184
188
  description: 'Build the solution slice by slice'
189
+ required_capability: 'coding'
185
190
  allowed_file_patterns:
186
191
  - '**/*'
187
192
  default_instructions: |
@@ -26,6 +26,7 @@ metadata:
26
26
  states:
27
27
  explore:
28
28
  description: 'Research and exploration phase - understanding the problem space and codebase'
29
+ required_capability: 'research'
29
30
  allowed_file_patterns:
30
31
  - '**/*.md'
31
32
  - '**/*.txt'
@@ -50,6 +51,7 @@ states:
50
51
 
51
52
  red:
52
53
  description: 'RED phase - Write a failing test that defines the expected behavior'
54
+ required_capability: 'thinking'
53
55
  allowed_file_patterns:
54
56
  - '**/*'
55
57
  default_instructions: |
@@ -87,6 +89,7 @@ states:
87
89
 
88
90
  green:
89
91
  description: 'GREEN phase - Write only the necessary code to make the test pass'
92
+ required_capability: 'coding'
90
93
  allowed_file_patterns:
91
94
  - '**/*'
92
95
  default_instructions: |
@@ -27,6 +27,7 @@ metadata:
27
27
  states:
28
28
  requirements:
29
29
  description: 'Gathering and analyzing requirements'
30
+ required_capability: 'research'
30
31
  allowed_file_patterns:
31
32
  - '**/*.md'
32
33
  - '**/*.txt'
@@ -53,6 +54,7 @@ states:
53
54
 
54
55
  design:
55
56
  description: 'Technical design and architecture planning'
57
+ required_capability: 'thinking'
56
58
  allowed_file_patterns:
57
59
  - '**/*.md'
58
60
  - '**/*.txt'
@@ -80,6 +82,7 @@ states:
80
82
 
81
83
  implementation:
82
84
  description: 'Building the solution according to design'
85
+ required_capability: 'coding'
83
86
  allowed_file_patterns:
84
87
  - '**/*'
85
88
  default_instructions: |
@@ -17,7 +17,7 @@
17
17
  </head>
18
18
  <body>
19
19
  <div id="app"></div>
20
- <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_qrspi.md\":\"CPYiTyJ8\",\"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>
20
+ <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_capability-routing.md\":\"DbNKvMiS\",\"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_qrspi.md\":\"CPYiTyJ8\",\"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\":\"Capability Routing\",\"link\":\"/user/capability-routing\"},{\"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>
21
21
 
22
22
  </body>
23
23
  </html>
@@ -0,0 +1,15 @@
1
+ import{_ as a,c as e,o as s,a0 as t}from"./chunks/framework.FdfEk_gD.js";const k=JSON.parse('{"title":"Capability Routing","description":"","frontmatter":{},"headers":[],"relativePath":"user/capability-routing.md","filePath":"user/capability-routing.md"}'),n={name:"user/capability-routing.md"};function l(o,i,h,d,p,c){return s(),e("div",null,[...i[0]||(i[0]=[t(`<h1 id="capability-routing" tabindex="-1">Capability Routing <a class="header-anchor" href="#capability-routing" aria-label="Permalink to &quot;Capability Routing&quot;">​</a></h1><p>Workflow phases can declare a <code>required_capability</code> to guide the LLM in choosing an appropriate subagent and/or model for that phase. You wire up the capability→model/agent mapping in <code>.vibe/config.yaml</code> — either by hand, or in one command via the <code>setup capabilities</code> CLI wizard.</p><p>The feature is fully opt-in. Phases that don&#39;t declare <code>required_capability</code> behave exactly as before, and a project with no <code>capability_models</code> config still gets label-only hints for any annotated phase.</p><h2 id="what-you-get" tabindex="-1">What you get <a class="header-anchor" href="#what-you-get" aria-label="Permalink to &quot;What you get&quot;">​</a></h2><p>When a phase declares <code>required_capability: thinking</code> and you have mapped it to a model in <code>.vibe/config.yaml</code>, the LLM sees an instruction like:</p><blockquote><p>Capability hint: This phase requires thinking capability (deep reasoning, complex planning). When launching subagents, use agent: thinking (model: anthropic/claude-opus-4-7).</p></blockquote><p>With no <code>capability_models</code> config, the hint reduces to:</p><blockquote><p>Capability hint: This phase requires thinking capability (deep reasoning, complex planning).</p></blockquote><p>Built-in descriptions ship for <code>thinking</code> and <code>research</code>. <code>coding</code> is self-evident (no description); any other term is echoed verbatim.</p><h2 id="declaring-capabilities-in-a-workflow" tabindex="-1">Declaring capabilities in a workflow <a class="header-anchor" href="#declaring-capabilities-in-a-workflow" aria-label="Permalink to &quot;Declaring capabilities in a workflow&quot;">​</a></h2><p>Add <code>required_capability</code> to a phase in your workflow YAML:</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">phases</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
2
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Architecture</span></span>
3
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> required_capability</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">thinking</span></span>
4
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Code</span></span>
5
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> required_capability</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">coding</span></span></code></pre></div><p>Conventional values are <code>thinking</code>, <code>research</code>, <code>coding</code>, and <code>default</code>. Any other term works too.</p><h2 id="configuring-capabilities" tabindex="-1">Configuring capabilities <a class="header-anchor" href="#configuring-capabilities" aria-label="Permalink to &quot;Configuring capabilities&quot;">​</a></h2><p>Add a <code>capability_models</code> map to <code>.vibe/config.yaml</code>:</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">capability_models</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
6
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> thinking</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
7
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">anthropic/claude-opus-4-7</span></span>
8
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> agent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">thinking</span></span>
9
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> coding</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
10
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">anthropic/claude-sonnet-4-5</span></span>
11
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> research</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
12
+ <span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> model</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">anthropic/claude-haiku-4-5</span></span></code></pre></div><p>Each entry has two optional fields:</p><ul><li><code>model</code> — model identifier used in the hint.</li><li><code>agent</code> — subagent name the LLM should use when launching subagents.</li></ul><p>Either, neither, or both may be set per capability. Capabilities with no entry are not mentioned in the hint beyond the label.</p><h2 id="setting-up-automatically" tabindex="-1">Setting up automatically <a class="header-anchor" href="#setting-up-automatically" aria-label="Permalink to &quot;Setting up automatically&quot;">​</a></h2><p><code>npx @codemcp/workflows setup capabilities &lt;target&gt;</code> generates both the per-target agent files and the matching <code>capability_models</code> entries in <code>.vibe/config.yaml</code> in a single command.</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @codemcp/workflows</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> capabilities</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> opencode</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
13
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --model-thinking</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> anthropic/claude-opus-4-7</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
14
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --model-coding</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> anthropic/claude-sonnet-4-5</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
15
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --model-research</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> anthropic/claude-haiku-4-5</span></span></code></pre></div><p>For OpenCode, the command writes <code>.opencode/agents/&lt;capability&gt;.md</code> for each provided capability (with <code>mode: subagent</code> and the chosen <code>model:</code>) and merges the matching entries into <code>.vibe/config.yaml</code>.</p><h3 id="flags" tabindex="-1">Flags <a class="header-anchor" href="#flags" aria-label="Permalink to &quot;Flags&quot;">​</a></h3><ul><li><code>--model-thinking &lt;model&gt;</code> — set the model for the thinking agent</li><li><code>--model-coding &lt;model&gt;</code> — set the model for the coding agent</li><li><code>--model-research &lt;model&gt;</code> — set the model for the research agent</li><li><code>--force</code> — overwrite existing per-target agent files (default: skip if they exist)</li><li><code>--help</code>, <code>-h</code> — show help, including the full target list</li></ul><h3 id="targets" tabindex="-1">Targets <a class="header-anchor" href="#targets" aria-label="Permalink to &quot;Targets&quot;">​</a></h3><p>Only <code>opencode</code> is currently implemented. The wizard also knows about <code>kiro</code>, <code>claude</code>, <code>gemini</code>, <code>vscode</code>, and <code>github-copilot</code>; they are listed in <code>setup capabilities --help</code> with a ⏳ status and throw a clear &quot;not yet supported&quot; error if you invoke them. Adding a new target is a single class — see the <a href="https://github.com/codemcp/workflows/tree/main/packages/cli/src/capability-generator.ts" target="_blank" rel="noreferrer">CLI source</a> for the registry.</p><h2 id="annotations-in-built-in-workflows" tabindex="-1">Annotations in built-in workflows <a class="header-anchor" href="#annotations-in-built-in-workflows" aria-label="Permalink to &quot;Annotations in built-in workflows&quot;">​</a></h2><p>The seven built-in workflows ship with phase annotations out of the box:</p><ul><li><code>qrspi</code>, <code>epcc</code>, <code>greenfield</code>, <code>waterfall</code>, <code>bugfix</code>, <code>tdd</code>, <code>pr-review</code> — 23 annotated phases total</li></ul><p>You don&#39;t need to do anything to get the label-only hints; just run any built-in workflow and the annotations are picked up automatically.</p><h2 id="see-also" tabindex="-1">See also <a class="header-anchor" href="#see-also" aria-label="Permalink to &quot;See also&quot;">​</a></h2><ul><li><a href="./agent-setup.html">Agent Setup</a> — get the workflow system running in your IDE/CLI</li><li><a href="./custom-workflows.html">Custom Workflows</a> — write your own workflow YAMLs</li><li><a href="./tutorial.html">Tutorial</a> — hands-on walkthrough</li></ul>`,33)])])}const g=a(n,[["render",l]]);export{k as __pageData,g as default};
@@ -0,0 +1 @@
1
+ import{_ as a,c as e,o as s,a0 as t}from"./chunks/framework.FdfEk_gD.js";const k=JSON.parse('{"title":"Capability Routing","description":"","frontmatter":{},"headers":[],"relativePath":"user/capability-routing.md","filePath":"user/capability-routing.md"}'),n={name:"user/capability-routing.md"};function l(o,i,h,d,p,c){return s(),e("div",null,[...i[0]||(i[0]=[t("",33)])])}const g=a(n,[["render",l]]);export{k as __pageData,g as default};
@@ -19,7 +19,7 @@
19
19
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
20
20
  </head>
21
21
  <body>
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 has-sidebar" 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" 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 has-sidebar empty" data-v-c1df4d5c data-v-d06e114f><div class="container" data-v-d06e114f><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-d06e114f><span class="vpi-align-left menu-icon" data-v-d06e114f></span><span class="menu-text" data-v-d06e114f>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-d06e114f data-v-aab1d107><button data-v-aab1d107>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-c1df4d5c data-v-026681b8><div class="curtain" data-v-026681b8></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-026681b8><span class="visually-hidden" id="sidebar-aria-label" data-v-026681b8> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-03a62be3><section class="VPSidebarItem level-0" data-v-03a62be3 data-v-cb4e7117><div class="item" role="button" tabindex="0" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><h2 class="text" data-v-cb4e7117>User Guide</h2><!----></div><div class="items" data-v-cb4e7117><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/how-it-works.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>How It Works</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/agent-setup.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Agent Setup</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/advanced-engineering.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Vibe Engineering</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/long-term-memory.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Long-Term Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/beads-integration.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Beads-Integration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/tutorial.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Tutorial</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-03a62be3><section class="VPSidebarItem level-0" data-v-03a62be3 data-v-cb4e7117><div class="item" role="button" tabindex="0" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><h2 class="text" data-v-cb4e7117>Workflows</h2><!----></div><div class="items" data-v-cb4e7117><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/workflow-selection.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Workflow-Selection</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/packaged-workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Packaged Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/custom-workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Custom Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Explore All Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/crowd-mcp-integration.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Crowd MCP Integration</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-c1df4d5c data-v-28fa4ed1><div class="VPDoc has-sidebar has-aside" data-v-28fa4ed1 data-v-cda1d691><!--[--><!--]--><div class="container" data-v-cda1d691><div class="aside" data-v-cda1d691><div class="aside-curtain" data-v-cda1d691></div><div class="aside-container" data-v-cda1d691><div class="aside-content" data-v-cda1d691><div class="VPDocAside" data-v-cda1d691 data-v-0199d109><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-0199d109 data-v-9d908c55><div class="content" data-v-9d908c55><div class="outline-marker" data-v-9d908c55></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-9d908c55>On this page</div><ul class="VPDocOutlineItem root" data-v-9d908c55 data-v-f1d87f0d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-0199d109></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><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_dev_ARCHITECTURE" data-v-cda1d691><div><h1 id="architecture" tabindex="-1">Architecture <a class="header-anchor" href="#architecture" aria-label="Permalink to &quot;Architecture&quot;">​</a></h1><p>This document provides detailed information about the Responsible Vibe MCP Server architecture, components, and design principles.</p><h2 id="information-architecture" tabindex="-1">Information Architecture <a class="header-anchor" href="#information-architecture" aria-label="Permalink to &quot;Information Architecture&quot;">​</a></h2><p>Responsible-Vibe-MCP implements a <strong>plan-file-centric information architecture</strong> with clear separation of responsibilities across different components:</p><h3 id="information-component-responsibilities" tabindex="-1">Information Component Responsibilities <a class="header-anchor" href="#information-component-responsibilities" aria-label="Permalink to &quot;Information Component Responsibilities&quot;">​</a></h3><table tabindex="0"><thead><tr><th><strong>Component</strong></th><th><strong>Responsibility</strong></th><th><strong>Information Type</strong></th><th><strong>Maintenance</strong></th></tr></thead><tbody><tr><td><strong>System Prompt</strong></td><td>Generic workflow guidance</td><td>How to use the system</td><td>Static</td></tr><tr><td><strong>Tool Descriptions</strong></td><td>Generic tool usage</td><td>What each tool does</td><td>Static</td></tr><tr><td><strong>Tool Responses</strong></td><td>Dynamic phase guidance</td><td>What to do right now</td><td>Dynamic</td></tr><tr><td><strong>Plan File</strong></td><td>Project context &amp; tasks</td><td>What we&#39;ve done/decided</td><td>LLM-maintained</td></tr></tbody></table><h3 id="core-principles" tabindex="-1">Core Principles <a class="header-anchor" href="#core-principles" aria-label="Permalink to &quot;Core Principles&quot;">​</a></h3><h4 id="_1-static-components-stay-generic" tabindex="-1"><strong>1. Static Components Stay Generic</strong> <a class="header-anchor" href="#_1-static-components-stay-generic" aria-label="Permalink to &quot;**1. Static Components Stay Generic**&quot;">​</a></h4><ul><li><strong>System Prompt</strong>: Workflow-agnostic instructions on tool usage patterns</li><li><strong>Tool Descriptions</strong>: Generic tool purposes without hardcoded phase names</li><li><strong>Benefit</strong>: Works with any workflow (built-in or custom)</li></ul><h4 id="_2-dynamic-guidance-through-tool-responses" tabindex="-1"><strong>2. Dynamic Guidance Through Tool Responses</strong> <a class="header-anchor" href="#_2-dynamic-guidance-through-tool-responses" aria-label="Permalink to &quot;**2. Dynamic Guidance Through Tool Responses**&quot;">​</a></h4><ul><li><strong>Tool responses provide</strong>: Phase-specific instructions, user interaction guidance, completion criteria</li><li><strong>Plan-file-referential</strong>: &quot;Check your plan file&#39;s Design section for current tasks&quot;</li><li><strong>Context-aware</strong>: Adapts to current project state and progress</li></ul><h4 id="_3-plan-file-as-single-source-of-truth" tabindex="-1"><strong>3. Plan File as Single Source of Truth</strong> <a class="header-anchor" href="#_3-plan-file-as-single-source-of-truth" aria-label="Permalink to &quot;**3. Plan File as Single Source of Truth**&quot;">​</a></h4><ul><li><strong>Contains</strong>: Task lists per phase, key decisions, project context</li><li><strong>Structure</strong>: Simple, LLM-maintainable (no complex dynamic elements)</li><li><strong>Purpose</strong>: Task tracker and decision log, not workflow guide</li></ul><h4 id="_4-clear-separation-of-concerns" tabindex="-1"><strong>4. Clear Separation of Concerns</strong> <a class="header-anchor" href="#_4-clear-separation-of-concerns" aria-label="Permalink to &quot;**4. Clear Separation of Concerns**&quot;">​</a></h4><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>System Prompt: &quot;How to use tools&quot;</span></span>
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 has-sidebar" 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" 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 has-sidebar empty" data-v-c1df4d5c data-v-d06e114f><div class="container" data-v-d06e114f><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-d06e114f><span class="vpi-align-left menu-icon" data-v-d06e114f></span><span class="menu-text" data-v-d06e114f>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-d06e114f data-v-aab1d107><button data-v-aab1d107>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-c1df4d5c data-v-026681b8><div class="curtain" data-v-026681b8></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-026681b8><span class="visually-hidden" id="sidebar-aria-label" data-v-026681b8> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-03a62be3><section class="VPSidebarItem level-0" data-v-03a62be3 data-v-cb4e7117><div class="item" role="button" tabindex="0" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><h2 class="text" data-v-cb4e7117>User Guide</h2><!----></div><div class="items" data-v-cb4e7117><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/how-it-works.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>How It Works</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/agent-setup.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Agent Setup</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/capability-routing.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Capability Routing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/advanced-engineering.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Vibe Engineering</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/long-term-memory.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Long-Term Memory</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/beads-integration.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Beads-Integration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/tutorial.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Tutorial</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-03a62be3><section class="VPSidebarItem level-0" data-v-03a62be3 data-v-cb4e7117><div class="item" role="button" tabindex="0" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><h2 class="text" data-v-cb4e7117>Workflows</h2><!----></div><div class="items" data-v-cb4e7117><!--[--><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/workflow-selection.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Workflow-Selection</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/packaged-workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Packaged Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/custom-workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Custom Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/workflows.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Explore All Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-cb4e7117 data-v-cb4e7117><div class="item" data-v-cb4e7117><div class="indicator" data-v-cb4e7117></div><a class="VPLink link link" href="/workflows/user/crowd-mcp-integration.html" data-v-cb4e7117><!--[--><p class="text" data-v-cb4e7117>Crowd MCP Integration</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-c1df4d5c data-v-28fa4ed1><div class="VPDoc has-sidebar has-aside" data-v-28fa4ed1 data-v-cda1d691><!--[--><!--]--><div class="container" data-v-cda1d691><div class="aside" data-v-cda1d691><div class="aside-curtain" data-v-cda1d691></div><div class="aside-container" data-v-cda1d691><div class="aside-content" data-v-cda1d691><div class="VPDocAside" data-v-cda1d691 data-v-0199d109><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-0199d109 data-v-9d908c55><div class="content" data-v-9d908c55><div class="outline-marker" data-v-9d908c55></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-9d908c55>On this page</div><ul class="VPDocOutlineItem root" data-v-9d908c55 data-v-f1d87f0d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-0199d109></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><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_dev_ARCHITECTURE" data-v-cda1d691><div><h1 id="architecture" tabindex="-1">Architecture <a class="header-anchor" href="#architecture" aria-label="Permalink to &quot;Architecture&quot;">​</a></h1><p>This document provides detailed information about the Responsible Vibe MCP Server architecture, components, and design principles.</p><h2 id="information-architecture" tabindex="-1">Information Architecture <a class="header-anchor" href="#information-architecture" aria-label="Permalink to &quot;Information Architecture&quot;">​</a></h2><p>Responsible-Vibe-MCP implements a <strong>plan-file-centric information architecture</strong> with clear separation of responsibilities across different components:</p><h3 id="information-component-responsibilities" tabindex="-1">Information Component Responsibilities <a class="header-anchor" href="#information-component-responsibilities" aria-label="Permalink to &quot;Information Component Responsibilities&quot;">​</a></h3><table tabindex="0"><thead><tr><th><strong>Component</strong></th><th><strong>Responsibility</strong></th><th><strong>Information Type</strong></th><th><strong>Maintenance</strong></th></tr></thead><tbody><tr><td><strong>System Prompt</strong></td><td>Generic workflow guidance</td><td>How to use the system</td><td>Static</td></tr><tr><td><strong>Tool Descriptions</strong></td><td>Generic tool usage</td><td>What each tool does</td><td>Static</td></tr><tr><td><strong>Tool Responses</strong></td><td>Dynamic phase guidance</td><td>What to do right now</td><td>Dynamic</td></tr><tr><td><strong>Plan File</strong></td><td>Project context &amp; tasks</td><td>What we&#39;ve done/decided</td><td>LLM-maintained</td></tr></tbody></table><h3 id="core-principles" tabindex="-1">Core Principles <a class="header-anchor" href="#core-principles" aria-label="Permalink to &quot;Core Principles&quot;">​</a></h3><h4 id="_1-static-components-stay-generic" tabindex="-1"><strong>1. Static Components Stay Generic</strong> <a class="header-anchor" href="#_1-static-components-stay-generic" aria-label="Permalink to &quot;**1. Static Components Stay Generic**&quot;">​</a></h4><ul><li><strong>System Prompt</strong>: Workflow-agnostic instructions on tool usage patterns</li><li><strong>Tool Descriptions</strong>: Generic tool purposes without hardcoded phase names</li><li><strong>Benefit</strong>: Works with any workflow (built-in or custom)</li></ul><h4 id="_2-dynamic-guidance-through-tool-responses" tabindex="-1"><strong>2. Dynamic Guidance Through Tool Responses</strong> <a class="header-anchor" href="#_2-dynamic-guidance-through-tool-responses" aria-label="Permalink to &quot;**2. Dynamic Guidance Through Tool Responses**&quot;">​</a></h4><ul><li><strong>Tool responses provide</strong>: Phase-specific instructions, user interaction guidance, completion criteria</li><li><strong>Plan-file-referential</strong>: &quot;Check your plan file&#39;s Design section for current tasks&quot;</li><li><strong>Context-aware</strong>: Adapts to current project state and progress</li></ul><h4 id="_3-plan-file-as-single-source-of-truth" tabindex="-1"><strong>3. Plan File as Single Source of Truth</strong> <a class="header-anchor" href="#_3-plan-file-as-single-source-of-truth" aria-label="Permalink to &quot;**3. Plan File as Single Source of Truth**&quot;">​</a></h4><ul><li><strong>Contains</strong>: Task lists per phase, key decisions, project context</li><li><strong>Structure</strong>: Simple, LLM-maintainable (no complex dynamic elements)</li><li><strong>Purpose</strong>: Task tracker and decision log, not workflow guide</li></ul><h4 id="_4-clear-separation-of-concerns" tabindex="-1"><strong>4. Clear Separation of Concerns</strong> <a class="header-anchor" href="#_4-clear-separation-of-concerns" aria-label="Permalink to &quot;**4. Clear Separation of Concerns**&quot;">​</a></h4><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>System Prompt: &quot;How to use tools&quot;</span></span>
23
23
  <span class="line"><span>Tool Descriptions: &quot;What tools do&quot; (generic)</span></span>
24
24
  <span class="line"><span>Tool Responses: &quot;Check plan file section X, work on tasks Y, Z&quot; (specific)</span></span>
25
25
  <span class="line"><span>Plan File: &quot;[ ] Task 1 [x] Task 2 Decision: chose approach A&quot; (tracking)</span></span></code></pre></div><h3 id="benefits-of-this-architecture" tabindex="-1">Benefits of This Architecture <a class="header-anchor" href="#benefits-of-this-architecture" aria-label="Permalink to &quot;Benefits of This Architecture&quot;">​</a></h3><ul><li><strong>✅ Workflow Flexibility</strong>: Static components work with any workflow type</li><li><strong>✅ Maintainable</strong>: No hardcoded workflow information in static descriptions</li><li><strong>✅ User Transparency</strong>: Users see the same plan file the LLM follows</li><li><strong>✅ Consistent Guidance</strong>: All dynamic instructions come from tool responses</li><li><strong>✅ Simple Maintenance</strong>: LLM only updates simple task lists and decisions</li></ul><h2 id="monorepo-architecture" tabindex="-1">Monorepo Architecture <a class="header-anchor" href="#monorepo-architecture" aria-label="Permalink to &quot;Monorepo Architecture&quot;">​</a></h2><p>Responsible-Vibe-MCP is organized as a monorepo with clear package separation and dependency management:</p><h3 id="package-structure" tabindex="-1">Package Structure <a class="header-anchor" href="#package-structure" aria-label="Permalink to &quot;Package Structure&quot;">​</a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>@codemcp/workflows/</span></span>
@@ -149,7 +149,7 @@
149
149
  <span class="line"></span>
150
150
  <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Pretty-print with jq</span></span>
151
151
  <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cat</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .vibe/conversations/my-project-main-abc123/interactions.jsonl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> jq</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span></span></code></pre></div><p><strong>Note</strong>: All interaction data is stored locally on your system and is never transmitted to external services.</p><h2 id="task-backend-architecture" tabindex="-1">Task Backend Architecture <a class="header-anchor" href="#task-backend-architecture" aria-label="Permalink to &quot;Task Backend Architecture&quot;">​</a></h2><p>The system supports multiple task management backends through a factory pattern for component substitution.</p><h3 id="backend-detection" tabindex="-1">Backend Detection <a class="header-anchor" href="#backend-detection" aria-label="Permalink to &quot;Backend Detection&quot;">​</a></h3><p>At startup, the system auto-detects the task backend. If the <code>bd</code> command is available, beads is used; otherwise markdown is used. This can be overridden via the <code>TASK_BACKEND</code> environment variable (<code>markdown</code> or <code>beads</code>).</p><h3 id="component-factory" tabindex="-1">Component Factory <a class="header-anchor" href="#component-factory" aria-label="Permalink to &quot;Component Factory&quot;">​</a></h3><p>The ServerComponentsFactory creates appropriate implementations based on detected task backend configuration.</p><h3 id="component-responsibilities" tabindex="-1">Component Responsibilities <a class="header-anchor" href="#component-responsibilities" aria-label="Permalink to &quot;Component Responsibilities&quot;">​</a></h3><p>Task management functionality varies between backends:</p><ul><li><strong>Plan Management</strong>: Markdown backends use traditional plan files with checkboxes; beads backends reference task hierarchies</li><li><strong>Instruction Generation</strong>: Markdown backends provide generic task guidance; beads backends provide CLI command guidance</li><li><strong>Task Operations</strong>: Markdown backends store tasks in plan files; beads backends integrate with CLI tools for task lifecycle management</li></ul></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><!----></div><div class="pager" data-v-5253e96b><a class="VPLink link pager-link next" href="/workflows/" data-v-5253e96b><!--[--><span class="desc" data-v-5253e96b>Next page</span><span class="title" data-v-5253e96b>Overview</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
152
- <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_qrspi.md\":\"CPYiTyJ8\",\"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>
152
+ <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_capability-routing.md\":\"DbNKvMiS\",\"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_qrspi.md\":\"CPYiTyJ8\",\"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\":\"Capability Routing\",\"link\":\"/user/capability-routing\"},{\"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>
153
153
 
154
154
  </body>
155
155
  </html>