@winspan/claude-forge 8.37.0 → 8.39.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 (139) hide show
  1. package/dist/agents/definition.d.ts +8 -2
  2. package/dist/agents/definition.d.ts.map +1 -1
  3. package/dist/agents/definition.js.map +1 -1
  4. package/dist/agents/methodologies/agent-builder.d.ts +21 -0
  5. package/dist/agents/methodologies/agent-builder.d.ts.map +1 -0
  6. package/dist/agents/methodologies/agent-builder.js +124 -0
  7. package/dist/agents/methodologies/agent-builder.js.map +1 -0
  8. package/dist/agents/methodologies/phases/bmad/analyze.d.ts +3 -0
  9. package/dist/agents/methodologies/phases/bmad/analyze.d.ts.map +1 -0
  10. package/dist/agents/methodologies/phases/bmad/analyze.js +18 -0
  11. package/dist/agents/methodologies/phases/bmad/analyze.js.map +1 -0
  12. package/dist/agents/methodologies/phases/bmad/design.d.ts +3 -0
  13. package/dist/agents/methodologies/phases/bmad/design.d.ts.map +1 -0
  14. package/dist/agents/methodologies/phases/bmad/design.js +17 -0
  15. package/dist/agents/methodologies/phases/bmad/design.js.map +1 -0
  16. package/dist/agents/methodologies/phases/bmad/implement.d.ts +3 -0
  17. package/dist/agents/methodologies/phases/bmad/implement.d.ts.map +1 -0
  18. package/dist/agents/methodologies/phases/bmad/implement.js +16 -0
  19. package/dist/agents/methodologies/phases/bmad/implement.js.map +1 -0
  20. package/dist/agents/methodologies/phases/bmad/index.d.ts +6 -0
  21. package/dist/agents/methodologies/phases/bmad/index.d.ts.map +1 -0
  22. package/dist/agents/methodologies/phases/bmad/index.js +6 -0
  23. package/dist/agents/methodologies/phases/bmad/index.js.map +1 -0
  24. package/dist/agents/methodologies/phases/bmad/review.d.ts +3 -0
  25. package/dist/agents/methodologies/phases/bmad/review.d.ts.map +1 -0
  26. package/dist/agents/methodologies/phases/bmad/review.js +16 -0
  27. package/dist/agents/methodologies/phases/bmad/review.js.map +1 -0
  28. package/dist/agents/methodologies/phases/bmad/test.d.ts +3 -0
  29. package/dist/agents/methodologies/phases/bmad/test.d.ts.map +1 -0
  30. package/dist/agents/methodologies/phases/bmad/test.js +20 -0
  31. package/dist/agents/methodologies/phases/bmad/test.js.map +1 -0
  32. package/dist/agents/methodologies/phases/harness/fix.d.ts +3 -0
  33. package/dist/agents/methodologies/phases/harness/fix.d.ts.map +1 -0
  34. package/dist/agents/methodologies/phases/harness/fix.js +16 -0
  35. package/dist/agents/methodologies/phases/harness/fix.js.map +1 -0
  36. package/dist/agents/methodologies/phases/harness/index.d.ts +6 -0
  37. package/dist/agents/methodologies/phases/harness/index.d.ts.map +1 -0
  38. package/dist/agents/methodologies/phases/harness/index.js +6 -0
  39. package/dist/agents/methodologies/phases/harness/index.js.map +1 -0
  40. package/dist/agents/methodologies/phases/harness/reproduce.d.ts +3 -0
  41. package/dist/agents/methodologies/phases/harness/reproduce.d.ts.map +1 -0
  42. package/dist/agents/methodologies/phases/harness/reproduce.js +19 -0
  43. package/dist/agents/methodologies/phases/harness/reproduce.js.map +1 -0
  44. package/dist/agents/methodologies/phases/harness/root-cause.d.ts +3 -0
  45. package/dist/agents/methodologies/phases/harness/root-cause.d.ts.map +1 -0
  46. package/dist/agents/methodologies/phases/harness/root-cause.js +20 -0
  47. package/dist/agents/methodologies/phases/harness/root-cause.js.map +1 -0
  48. package/dist/agents/methodologies/phases/harness/safety-net.d.ts +3 -0
  49. package/dist/agents/methodologies/phases/harness/safety-net.d.ts.map +1 -0
  50. package/dist/agents/methodologies/phases/harness/safety-net.js +16 -0
  51. package/dist/agents/methodologies/phases/harness/safety-net.js.map +1 -0
  52. package/dist/agents/methodologies/phases/harness/verify.d.ts +3 -0
  53. package/dist/agents/methodologies/phases/harness/verify.d.ts.map +1 -0
  54. package/dist/agents/methodologies/phases/harness/verify.js +21 -0
  55. package/dist/agents/methodologies/phases/harness/verify.js.map +1 -0
  56. package/dist/agents/methodologies/presets.d.ts +10 -0
  57. package/dist/agents/methodologies/presets.d.ts.map +1 -0
  58. package/dist/agents/methodologies/presets.js +79 -0
  59. package/dist/agents/methodologies/presets.js.map +1 -0
  60. package/dist/agents/methodologies/types.d.ts +43 -0
  61. package/dist/agents/methodologies/types.d.ts.map +1 -0
  62. package/dist/agents/methodologies/types.js +10 -0
  63. package/dist/agents/methodologies/types.js.map +1 -0
  64. package/dist/agents/methodologies/user-config-loader.d.ts +30 -0
  65. package/dist/agents/methodologies/user-config-loader.d.ts.map +1 -0
  66. package/dist/agents/methodologies/user-config-loader.js +159 -0
  67. package/dist/agents/methodologies/user-config-loader.js.map +1 -0
  68. package/dist/agents/official-agents.d.ts.map +1 -1
  69. package/dist/agents/official-agents.js +3 -0
  70. package/dist/agents/official-agents.js.map +1 -1
  71. package/dist/agents/registry.d.ts +17 -4
  72. package/dist/agents/registry.d.ts.map +1 -1
  73. package/dist/agents/registry.js +58 -4
  74. package/dist/agents/registry.js.map +1 -1
  75. package/dist/cli/commands/agents.js +3 -3
  76. package/dist/cli/commands/agents.js.map +1 -1
  77. package/dist/cli/commands/mcp.d.ts +39 -3
  78. package/dist/cli/commands/mcp.d.ts.map +1 -1
  79. package/dist/cli/commands/mcp.js +87 -38
  80. package/dist/cli/commands/mcp.js.map +1 -1
  81. package/dist/core/storage/rows.d.ts +4 -0
  82. package/dist/core/storage/rows.d.ts.map +1 -1
  83. package/dist/core/storage/schema.sql +9 -0
  84. package/dist/core/storage/sqlite.d.ts +25 -0
  85. package/dist/core/storage/sqlite.d.ts.map +1 -1
  86. package/dist/core/storage/sqlite.js +89 -3
  87. package/dist/core/storage/sqlite.js.map +1 -1
  88. package/dist/engine/conventions/routing.yaml +160 -4
  89. package/dist/skills/tools/skill-invoke.d.ts +15 -0
  90. package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
  91. package/dist/skills/tools/skill-invoke.js +29 -0
  92. package/dist/skills/tools/skill-invoke.js.map +1 -1
  93. package/dist/web/routes/agents.d.ts.map +1 -1
  94. package/dist/web/routes/agents.js +17 -0
  95. package/dist/web/routes/agents.js.map +1 -1
  96. package/dist/web/routes/workflows.d.ts +19 -0
  97. package/dist/web/routes/workflows.d.ts.map +1 -0
  98. package/dist/web/routes/workflows.js +86 -0
  99. package/dist/web/routes/workflows.js.map +1 -0
  100. package/dist/web/server.d.ts.map +1 -1
  101. package/dist/web/server.js +2 -0
  102. package/dist/web/server.js.map +1 -1
  103. package/dist/web/static/assets/{AIConfig-D4VglzCl.js → AIConfig-R5wZ3ZKT.js} +2 -2
  104. package/dist/web/static/assets/{AIConfig-D4VglzCl.js.map → AIConfig-R5wZ3ZKT.js.map} +1 -1
  105. package/dist/web/static/assets/{Agents-ne5lXc7V.js → Agents-Beg34V1g.js} +2 -2
  106. package/dist/web/static/assets/{Agents-ne5lXc7V.js.map → Agents-Beg34V1g.js.map} +1 -1
  107. package/dist/web/static/assets/{Dashboard-D4j0Zmek.js → Dashboard-Cy1xsj1J.js} +2 -2
  108. package/dist/web/static/assets/{Dashboard-D4j0Zmek.js.map → Dashboard-Cy1xsj1J.js.map} +1 -1
  109. package/dist/web/static/assets/{Drawer-Lo5ihVP-.js → Drawer-DcU3ln98.js} +2 -2
  110. package/dist/web/static/assets/{Drawer-Lo5ihVP-.js.map → Drawer-DcU3ln98.js.map} +1 -1
  111. package/dist/web/static/assets/{Events-DBJ1B7OW.js → Events-mFhXl4zI.js} +2 -2
  112. package/dist/web/static/assets/{Events-DBJ1B7OW.js.map → Events-mFhXl4zI.js.map} +1 -1
  113. package/dist/web/static/assets/{ExecutionTrace-Du9XADc1.js → ExecutionTrace-DG901hLR.js} +2 -2
  114. package/dist/web/static/assets/{ExecutionTrace-Du9XADc1.js.map → ExecutionTrace-DG901hLR.js.map} +1 -1
  115. package/dist/web/static/assets/{Routing-BNQ09OlH.js → Routing-B7BFLfjh.js} +2 -2
  116. package/dist/web/static/assets/{Routing-BNQ09OlH.js.map → Routing-B7BFLfjh.js.map} +1 -1
  117. package/dist/web/static/assets/{SessionDetail-BPrPyMNa.js → SessionDetail-BT0l4RrK.js} +2 -2
  118. package/dist/web/static/assets/{SessionDetail-BPrPyMNa.js.map → SessionDetail-BT0l4RrK.js.map} +1 -1
  119. package/dist/web/static/assets/{Sessions-o3EXsXz9.js → Sessions-C6J_HQ_u.js} +2 -2
  120. package/dist/web/static/assets/{Sessions-o3EXsXz9.js.map → Sessions-C6J_HQ_u.js.map} +1 -1
  121. package/dist/web/static/assets/{Skills-Czt5mkyc.js → Skills-4DQWLaTv.js} +2 -2
  122. package/dist/web/static/assets/{Skills-Czt5mkyc.js.map → Skills-4DQWLaTv.js.map} +1 -1
  123. package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js +2 -0
  124. package/dist/web/static/assets/WorkflowDetail-zhNqUkBE.js.map +1 -0
  125. package/dist/web/static/assets/Workflows-Btvi-lGw.js +2 -0
  126. package/dist/web/static/assets/Workflows-Btvi-lGw.js.map +1 -0
  127. package/dist/web/static/assets/{export-C0mlC4AT.js → export-BQQZLaHV.js} +2 -2
  128. package/dist/web/static/assets/{export-C0mlC4AT.js.map → export-BQQZLaHV.js.map} +1 -1
  129. package/dist/web/static/assets/index-Cgr9qMtq.js +3 -0
  130. package/dist/web/static/assets/index-Cgr9qMtq.js.map +1 -0
  131. package/dist/web/static/assets/index-CngWb5gC.css +1 -0
  132. package/dist/web/static/assets/{lucide-Bu44HVAM.js → lucide-53bR2rki.js} +46 -31
  133. package/dist/web/static/assets/lucide-53bR2rki.js.map +1 -0
  134. package/dist/web/static/index.html +3 -3
  135. package/package.json +1 -1
  136. package/dist/web/static/assets/index-B1J7nBu0.js +0 -3
  137. package/dist/web/static/assets/index-B1J7nBu0.js.map +0 -1
  138. package/dist/web/static/assets/index-BVqk4bSO.css +0 -1
  139. package/dist/web/static/assets/lucide-Bu44HVAM.js.map +0 -1
@@ -0,0 +1,79 @@
1
+ const STANDARD_TOOLS = ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'];
2
+ /**
3
+ * MVP 预设:6 个方法论 Agent(BMAD 系列 3 个 + Harness 系列 3 个)。
4
+ *
5
+ * 每个 preset 通过 phase id 列表声明工作流;agent-builder 负责把它展开成
6
+ * 完整的 AgentDefinition。如需新增方法论 Agent,优先在此文件追加 preset,
7
+ * 而不是写新的 prompt 常量。
8
+ */
9
+ export const METHODOLOGY_PRESETS = [
10
+ // ── BMAD 系列 ─────────────────────────────────────────────
11
+ {
12
+ id: 'bmad-feature-full',
13
+ name: 'BMAD Feature (Full)',
14
+ description: 'BMAD 完整 5 phase:适用于复杂的新功能开发(涉及多模块、新表 / 接口、需要完整文档链)',
15
+ version: '1.0.0',
16
+ scenario: 'complexity=complex 的 add_feature 任务',
17
+ phases: ['bmad/analyze', 'bmad/design', 'bmad/implement', 'bmad/test', 'bmad/review'],
18
+ tools: STANDARD_TOOLS,
19
+ tags: ['feature', 'full', 'complex'],
20
+ },
21
+ {
22
+ id: 'bmad-feature-quick',
23
+ name: 'BMAD Feature (Quick)',
24
+ description: 'BMAD 精简版:implement + test + review,适用于技术方案明确的简单功能',
25
+ version: '1.0.0',
26
+ scenario: 'complexity=moderate 的 add_feature 任务,已知实现方案',
27
+ phases: ['bmad/implement', 'bmad/test', 'bmad/review'],
28
+ tools: STANDARD_TOOLS,
29
+ tags: ['feature', 'quick', 'moderate'],
30
+ },
31
+ {
32
+ id: 'bmad-spec-only',
33
+ name: 'BMAD Spec Only',
34
+ description: 'BMAD 只产规格:analyze + design,不写代码,适用于需求澄清和设计评审',
35
+ version: '1.0.0',
36
+ scenario: '用户要产出规格 / 设计文档,不需要马上实现',
37
+ phases: ['bmad/analyze', 'bmad/design'],
38
+ tools: STANDARD_TOOLS,
39
+ tags: ['feature', 'spec', 'planning'],
40
+ },
41
+ // ── Harness 系列 ──────────────────────────────────────────
42
+ {
43
+ id: 'harness-debug-full',
44
+ name: 'Harness Debug (Full)',
45
+ description: 'Harness 完整 5 phase:复现 → 防护网 → 根因 → 修复 → 验证,适用于复杂遗留 bug',
46
+ version: '1.0.0',
47
+ scenario: 'complexity=complex 的 fix_bug 或 investigate 任务',
48
+ phases: [
49
+ 'harness/reproduce',
50
+ 'harness/safety-net',
51
+ 'harness/root-cause',
52
+ 'harness/fix',
53
+ 'harness/verify',
54
+ ],
55
+ tools: STANDARD_TOOLS,
56
+ tags: ['bug', 'full', 'complex'],
57
+ },
58
+ {
59
+ id: 'harness-hotfix',
60
+ name: 'Harness Hotfix',
61
+ description: 'Harness 紧急修复版:safety-net + fix + verify,适用于已知原因的紧急生产问题',
62
+ version: '1.0.0',
63
+ scenario: '已知 bug 原因的紧急 fix_bug 任务',
64
+ phases: ['harness/safety-net', 'harness/fix', 'harness/verify'],
65
+ tools: STANDARD_TOOLS,
66
+ tags: ['bug', 'hotfix', 'urgent'],
67
+ },
68
+ {
69
+ id: 'harness-investigate',
70
+ name: 'Harness Investigate',
71
+ description: 'Harness 调查版:reproduce + root-cause,只定位问题不修复,适用于问题调研',
72
+ version: '1.0.0',
73
+ scenario: '用户只需要调查问题原因,暂时不修',
74
+ phases: ['harness/reproduce', 'harness/root-cause'],
75
+ tools: STANDARD_TOOLS,
76
+ tags: ['bug', 'investigate', 'report'],
77
+ },
78
+ ];
79
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/agents/methodologies/presets.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA6B;IAC3D,2DAA2D;IAC3D;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,oDAAoD;QACtD,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,qCAAqC;QAC/C,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC;QACrF,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;KACrC;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,mDAAmD;QACrD,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,6CAA6C;QACvD,MAAM,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC;QACtD,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;KACvC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,8CAA8C;QAChD,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;QACvC,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;KACtC;IACD,2DAA2D;IAC3D;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wDAAwD;QAC1D,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,+CAA+C;QACzD,MAAM,EAAE;YACN,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;YACpB,aAAa;YACb,gBAAgB;SACjB;QACD,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;KACjC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,wDAAwD;QAC1D,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,yBAAyB;QACnC,MAAM,EAAE,CAAC,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,CAAC;QAC/D,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAClC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,qDAAqD;QACvD,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;QACnD,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;KACvC;CACF,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Methodology phase template types.
3
+ *
4
+ * Phase templates are reusable building blocks. A `MethodologyAgentPreset`
5
+ * picks a subset of phases (in order) and the `agent-builder` expands the
6
+ * preset into a concrete `AgentDefinition` whose `content` is the assembled
7
+ * markdown body.
8
+ */
9
+ export interface PhaseTemplate {
10
+ /** Phase id within its workflow, e.g. 'analyze' / 'safety-net' */
11
+ id: string;
12
+ /** Workflow name, currently 'bmad' or 'harness' */
13
+ workflow: string;
14
+ /** Human-readable phase title */
15
+ title: string;
16
+ /** One-line summary of what the phase does */
17
+ description: string;
18
+ /** Skill ID to invoke via skill_invoke; null if no skill is needed */
19
+ skillId: string | null;
20
+ /** Artifact path template; null if the phase produces no file */
21
+ artifactHint: string | null;
22
+ /** Detailed phase instructions (markdown) */
23
+ promptBody: string;
24
+ }
25
+ export interface MethodologyAgentPreset {
26
+ /** Agent slug (subagent_type) */
27
+ id: string;
28
+ /** Human-readable name (used for routing/UX) */
29
+ name: string;
30
+ /** Agent positioning description (also written to AgentDefinition.description) */
31
+ description: string;
32
+ /** Semver string */
33
+ version: string;
34
+ /** Phase ids in execution order, namespaced as `<workflow>/<phase>` */
35
+ phases: string[];
36
+ /** When this preset applies (used by routing rules and humans) */
37
+ scenario: string;
38
+ /** Tool allowlist passed through to AgentDefinition */
39
+ tools: string[];
40
+ /** Optional discriminator tags */
41
+ tags?: string[];
42
+ }
43
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/methodologies/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iEAAiE;IACjE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Methodology phase template types.
3
+ *
4
+ * Phase templates are reusable building blocks. A `MethodologyAgentPreset`
5
+ * picks a subset of phases (in order) and the `agent-builder` expands the
6
+ * preset into a concrete `AgentDefinition` whose `content` is the assembled
7
+ * markdown body.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agents/methodologies/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * User-defined methodology preset loader.
3
+ *
4
+ * Reads `~/.claude-forge/methodologies.yaml` and converts user-authored
5
+ * compositions into `MethodologyAgentPreset` instances. Validation is
6
+ * tolerant: invalid entries are skipped with warnings, valid ones still
7
+ * load. The final array is consumed by AgentRegistry, which expands each
8
+ * preset into an AgentDefinition via `buildMethodologyAgent()`.
9
+ *
10
+ * Path resolution is lazy (per call) so tests can redirect `process.env.HOME`
11
+ * after module load — the same pattern used by `web/routes/experiments.ts`.
12
+ *
13
+ * YAML is parsed with `CORE_SCHEMA` to disallow `!!js/function` and other
14
+ * unsafe js-yaml tags, matching the convention in `experiment-router.ts`.
15
+ */
16
+ import type { MethodologyAgentPreset } from './types.js';
17
+ export interface UserMethodologyLoadResult {
18
+ presets: MethodologyAgentPreset[];
19
+ warnings: string[];
20
+ }
21
+ /**
22
+ * Load `~/.claude-forge/methodologies.yaml` and return validated presets.
23
+ *
24
+ * Behaviour:
25
+ * - File missing → `{ presets: [], warnings: [] }`
26
+ * - Parse error → `{ presets: [], warnings: [<error>] }`, logged at warn level
27
+ * - Per-entry validation failure → entry skipped, warning recorded, others continue
28
+ */
29
+ export declare function loadUserMethodologyPresets(configPath?: string): UserMethodologyLoadResult;
30
+ //# sourceMappingURL=user-config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-loader.d.ts","sourceRoot":"","sources":["../../../src/agents/methodologies/user-config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAsBzD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAaD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,GAClB,yBAAyB,CAwD3B"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * User-defined methodology preset loader.
3
+ *
4
+ * Reads `~/.claude-forge/methodologies.yaml` and converts user-authored
5
+ * compositions into `MethodologyAgentPreset` instances. Validation is
6
+ * tolerant: invalid entries are skipped with warnings, valid ones still
7
+ * load. The final array is consumed by AgentRegistry, which expands each
8
+ * preset into an AgentDefinition via `buildMethodologyAgent()`.
9
+ *
10
+ * Path resolution is lazy (per call) so tests can redirect `process.env.HOME`
11
+ * after module load — the same pattern used by `web/routes/experiments.ts`.
12
+ *
13
+ * YAML is parsed with `CORE_SCHEMA` to disallow `!!js/function` and other
14
+ * unsafe js-yaml tags, matching the convention in `experiment-router.ts`.
15
+ */
16
+ import fs from 'node:fs';
17
+ import { homedir } from 'node:os';
18
+ import { join } from 'node:path';
19
+ import yaml from 'js-yaml';
20
+ import { logger } from '../../core/utils/logger.js';
21
+ import { getPhase } from './agent-builder.js';
22
+ const STANDARD_TOOLS = ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'];
23
+ /**
24
+ * Default file path: `~/.claude-forge/methodologies.yaml`.
25
+ *
26
+ * NOTE: cannot use `FORGE_PATHS.home()` because it captures `homedir()` at
27
+ * module load time, which makes tests that mutate `process.env.HOME` fail.
28
+ * We re-evaluate per-call here.
29
+ */
30
+ function defaultConfigPath() {
31
+ return join(homedir(), '.claude-forge', 'methodologies.yaml');
32
+ }
33
+ /**
34
+ * Load `~/.claude-forge/methodologies.yaml` and return validated presets.
35
+ *
36
+ * Behaviour:
37
+ * - File missing → `{ presets: [], warnings: [] }`
38
+ * - Parse error → `{ presets: [], warnings: [<error>] }`, logged at warn level
39
+ * - Per-entry validation failure → entry skipped, warning recorded, others continue
40
+ */
41
+ export function loadUserMethodologyPresets(configPath) {
42
+ const path = configPath ?? defaultConfigPath();
43
+ const warnings = [];
44
+ if (!fs.existsSync(path)) {
45
+ return { presets: [], warnings: [] };
46
+ }
47
+ let parsed;
48
+ try {
49
+ const raw = fs.readFileSync(path, 'utf-8');
50
+ const data = yaml.load(raw, { schema: yaml.CORE_SCHEMA });
51
+ if (data === null || data === undefined) {
52
+ return { presets: [], warnings: [] };
53
+ }
54
+ if (typeof data !== 'object' || Array.isArray(data)) {
55
+ const msg = 'methodologies.yaml: root must be a mapping';
56
+ logger.warn(`[Methodologies] ${msg}`);
57
+ return { presets: [], warnings: [msg] };
58
+ }
59
+ parsed = data;
60
+ }
61
+ catch (err) {
62
+ const msg = `methodologies.yaml parse error: ${err instanceof Error ? err.message : String(err)}`;
63
+ logger.warn(`[Methodologies] ${msg}`);
64
+ return { presets: [], warnings: [msg] };
65
+ }
66
+ const rawAgents = parsed.agents;
67
+ if (rawAgents === undefined) {
68
+ return { presets: [], warnings: [] };
69
+ }
70
+ if (!Array.isArray(rawAgents)) {
71
+ const msg = 'methodologies.yaml: `agents` must be an array';
72
+ warnings.push(msg);
73
+ return { presets: [], warnings };
74
+ }
75
+ const presets = [];
76
+ const seenIds = new Set();
77
+ for (const item of rawAgents) {
78
+ if (item === null || typeof item !== 'object' || Array.isArray(item)) {
79
+ warnings.push('Skipped agent: entry must be a mapping');
80
+ continue;
81
+ }
82
+ const preset = validateAndBuildPreset(item, warnings);
83
+ if (!preset)
84
+ continue;
85
+ if (seenIds.has(preset.id)) {
86
+ warnings.push(`Skipped agent ${preset.id}: duplicate id within methodologies.yaml`);
87
+ continue;
88
+ }
89
+ seenIds.add(preset.id);
90
+ presets.push(preset);
91
+ }
92
+ return { presets, warnings };
93
+ }
94
+ /**
95
+ * Validate one raw entry and convert it into a `MethodologyAgentPreset`.
96
+ * Returns `null` (and pushes a warning) when validation fails.
97
+ */
98
+ function validateAndBuildPreset(item, warnings) {
99
+ // id (required, kebab-case)
100
+ if (typeof item.id !== 'string' || item.id.length === 0) {
101
+ warnings.push('Skipped agent: missing or non-string `id`');
102
+ return null;
103
+ }
104
+ const id = item.id;
105
+ if (!/^[a-z][a-z0-9-]*$/.test(id)) {
106
+ warnings.push(`Skipped agent ${id}: invalid id format (must be kebab-case, e.g. my-feature-flow)`);
107
+ return null;
108
+ }
109
+ // phases (required, non-empty array, every entry resolvable)
110
+ if (!Array.isArray(item.phases) || item.phases.length === 0) {
111
+ warnings.push(`Skipped agent ${id}: \`phases\` must be a non-empty array`);
112
+ return null;
113
+ }
114
+ const phases = [];
115
+ for (const phaseId of item.phases) {
116
+ if (typeof phaseId !== 'string') {
117
+ warnings.push(`Skipped agent ${id}: every phase entry must be a string (got ${typeof phaseId})`);
118
+ return null;
119
+ }
120
+ if (!getPhase(phaseId)) {
121
+ warnings.push(`Skipped agent ${id}: phase "${phaseId}" not found (valid format: bmad/<phase> or harness/<phase>)`);
122
+ return null;
123
+ }
124
+ phases.push(phaseId);
125
+ }
126
+ // optional string fields
127
+ const name = typeof item.name === 'string' && item.name.length > 0 ? item.name : id;
128
+ const description = typeof item.description === 'string' && item.description.length > 0
129
+ ? item.description
130
+ : `User-defined methodology agent: ${id}`;
131
+ const scenario = typeof item.scenario === 'string' && item.scenario.length > 0
132
+ ? item.scenario
133
+ : '用户自定义场景';
134
+ const version = typeof item.version === 'string' && item.version.length > 0 ? item.version : '1.0.0';
135
+ // tools (default to STANDARD_TOOLS if absent or empty)
136
+ let tools = STANDARD_TOOLS;
137
+ if (Array.isArray(item.tools)) {
138
+ const filtered = item.tools.filter((t) => typeof t === 'string' && t.length > 0);
139
+ if (filtered.length > 0)
140
+ tools = filtered;
141
+ }
142
+ // tags (optional)
143
+ let tags;
144
+ if (Array.isArray(item.tags)) {
145
+ const filtered = item.tags.filter((t) => typeof t === 'string' && t.length > 0);
146
+ tags = filtered.length > 0 ? filtered : undefined;
147
+ }
148
+ return {
149
+ id,
150
+ name,
151
+ description,
152
+ scenario,
153
+ version,
154
+ phases,
155
+ tools,
156
+ tags,
157
+ };
158
+ }
159
+ //# sourceMappingURL=user-config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-loader.js","sourceRoot":"","sources":["../../../src/agents/methodologies/user-config-loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"official-agents.d.ts","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0cvD,eAAO,MAAM,eAAe,EAAE,eAAe,EA4G5C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E"}
1
+ {"version":3,"file":"official-agents.d.ts","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA4cvD,eAAO,MAAM,eAAe,EAAE,eAAe,EA6G5C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E"}
@@ -1,3 +1,5 @@
1
+ import { METHODOLOGY_PRESETS } from './methodologies/presets.js';
2
+ import { buildMethodologyAgent } from './methodologies/agent-builder.js';
1
3
  const PLANNER_BODY = `
2
4
  # Planner Agent
3
5
 
@@ -549,6 +551,7 @@ export const OFFICIAL_AGENTS = [
549
551
  tools: ['Read', 'Grep', 'Bash'],
550
552
  content: PR_CREATOR_BODY,
551
553
  },
554
+ ...METHODOLOGY_PRESETS.map(buildMethodologyAgent),
552
555
  ];
553
556
  export function findOfficialAgent(name) {
554
557
  return OFFICIAL_AGENTS.find((a) => a.name === name);
@@ -1 +1 @@
1
- {"version":3,"file":"official-agents.js","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"official-agents.js","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCpB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClB,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhC,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC9B,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhC,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B9B,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BnB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCrB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCvB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCzB,CAAC;AAEF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C5B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;QACxD,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,OAAO,EAAE,UAAU;KACpB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACjE,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,MAAM,EAAE,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;QAC7D,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;QACxD,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACxD,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,OAAO,EAAE,WAAW;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,MAAM,EAAE,CAAC,oBAAoB,CAAC;QAC9B,OAAO,EAAE,aAAa;KACvB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;QACxD,OAAO,EAAE,eAAe;KACzB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;QACxC,OAAO,EAAE,gBAAgB;KAC1B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,iBAAiB;KAC3B;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,OAAO,EAAE,oBAAoB;KAC9B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,eAAe;KACzB;IACD,GAAG,mBAAmB,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAClD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -2,12 +2,16 @@
2
2
  * AgentRegistry — discovers and loads agents from multiple layers.
3
3
  *
4
4
  * Resolution order (later overrides earlier on the same name):
5
- * 1. builtin (OFFICIAL_AGENTS embedded)
6
- * 2. preset (~/.claude-forge/presets/* agents/) Phase 3
7
- * 3. user (~/.claude/agents/*.md)
8
- * 4. project (<projectPath>/.claude/agents/*.md)
5
+ * 1. builtin (OFFICIAL_AGENTS embedded, includes 6 official methodology presets)
6
+ * 2. user-methodology (~/.claude-forge/methodologies.yamluser-defined preset compositions)
7
+ * 3. preset (~/.claude-forge/presets/* agents/) — Phase 3
8
+ * 4. user (~/.claude/agents/*.md)
9
+ * 5. project (<projectPath>/.claude/agents/*.md)
9
10
  *
10
11
  * Phase 1 ships builtin + user + project; preset layer plugs in at Phase 3.
12
+ * Methodology presets from `methodologies.yaml` load between builtin and user
13
+ * so users can override official compositions (e.g. `bmad-feature-quick`) but
14
+ * still get superseded by their own freeform agent files.
11
15
  */
12
16
  import type { AgentRecord } from './definition.js';
13
17
  import type { SkillRegistry } from '../skills/registry.js';
@@ -18,6 +22,15 @@ export declare class AgentRegistry {
18
22
  constructor(projectPath?: string | undefined, skillRegistry?: SkillRegistry);
19
23
  private scan;
20
24
  private loadBuiltin;
25
+ /**
26
+ * Load user-defined methodology presets from ~/.claude-forge/methodologies.yaml
27
+ * and register each as an AgentRecord with source 'user-methodology'.
28
+ *
29
+ * Loaded after builtin so a user-defined preset with the same id (e.g.
30
+ * `bmad-feature-quick`) overrides the official one. A warning is logged
31
+ * when an override happens so the behaviour is not silent.
32
+ */
33
+ private loadUserMethodologies;
21
34
  private loadFromDir;
22
35
  /** Find an agent by exact name. */
23
36
  get(name: string): AgentRecord | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAiB,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAJ/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAA8B;gBAGhC,WAAW,CAAC,EAAE,MAAM,YAAA,EACrC,aAAa,CAAC,EAAE,aAAa;IAM/B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAgEnB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,gCAAgC;IAChC,MAAM,IAAI,WAAW,EAAE;IAIvB,sBAAsB;IACtB,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;CAuDnC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAiB,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAJ/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAA8B;gBAGhC,WAAW,CAAC,EAAE,MAAM,YAAA,EACrC,aAAa,CAAC,EAAE,aAAa;IAM/B,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,WAAW;IAyBnB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,WAAW;IAgEnB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,gCAAgC;IAChC,MAAM,IAAI,WAAW,EAAE;IAIvB,sBAAsB;IACtB,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;CAuDnC"}
@@ -2,12 +2,16 @@
2
2
  * AgentRegistry — discovers and loads agents from multiple layers.
3
3
  *
4
4
  * Resolution order (later overrides earlier on the same name):
5
- * 1. builtin (OFFICIAL_AGENTS embedded)
6
- * 2. preset (~/.claude-forge/presets/* agents/) Phase 3
7
- * 3. user (~/.claude/agents/*.md)
8
- * 4. project (<projectPath>/.claude/agents/*.md)
5
+ * 1. builtin (OFFICIAL_AGENTS embedded, includes 6 official methodology presets)
6
+ * 2. user-methodology (~/.claude-forge/methodologies.yamluser-defined preset compositions)
7
+ * 3. preset (~/.claude-forge/presets/* agents/) — Phase 3
8
+ * 4. user (~/.claude/agents/*.md)
9
+ * 5. project (<projectPath>/.claude/agents/*.md)
9
10
  *
10
11
  * Phase 1 ships builtin + user + project; preset layer plugs in at Phase 3.
12
+ * Methodology presets from `methodologies.yaml` load between builtin and user
13
+ * so users can override official compositions (e.g. `bmad-feature-quick`) but
14
+ * still get superseded by their own freeform agent files.
11
15
  */
12
16
  import fs from 'node:fs';
13
17
  import path from 'node:path';
@@ -15,6 +19,8 @@ import { homedir } from 'node:os';
15
19
  import matter from 'gray-matter';
16
20
  import { logger } from '../core/utils/logger.js';
17
21
  import { OFFICIAL_AGENTS } from './official-agents.js';
22
+ import { loadUserMethodologyPresets } from './methodologies/user-config-loader.js';
23
+ import { buildMethodologyAgent } from './methodologies/agent-builder.js';
18
24
  const USER_AGENTS_DIR = path.join(homedir(), '.claude', 'agents');
19
25
  export class AgentRegistry {
20
26
  projectPath;
@@ -27,6 +33,7 @@ export class AgentRegistry {
27
33
  }
28
34
  scan() {
29
35
  this.loadBuiltin();
36
+ this.loadUserMethodologies();
30
37
  this.loadFromDir(USER_AGENTS_DIR, 'user');
31
38
  if (this.projectPath) {
32
39
  this.loadFromDir(path.join(this.projectPath, '.claude', 'agents'), 'project');
@@ -57,6 +64,53 @@ export class AgentRegistry {
57
64
  this.agents.set(def.name, record);
58
65
  }
59
66
  }
67
+ /**
68
+ * Load user-defined methodology presets from ~/.claude-forge/methodologies.yaml
69
+ * and register each as an AgentRecord with source 'user-methodology'.
70
+ *
71
+ * Loaded after builtin so a user-defined preset with the same id (e.g.
72
+ * `bmad-feature-quick`) overrides the official one. A warning is logged
73
+ * when an override happens so the behaviour is not silent.
74
+ */
75
+ loadUserMethodologies() {
76
+ const { presets, warnings } = loadUserMethodologyPresets();
77
+ for (const w of warnings) {
78
+ logger.warn(`[AgentRegistry] ${w}`);
79
+ }
80
+ if (presets.length === 0)
81
+ return;
82
+ for (const preset of presets) {
83
+ let def;
84
+ try {
85
+ def = buildMethodologyAgent(preset);
86
+ }
87
+ catch (err) {
88
+ logger.warn(`[AgentRegistry] Failed to build user methodology agent ${preset.id}: ${err instanceof Error ? err.message : String(err)}`);
89
+ continue;
90
+ }
91
+ if (this.agents.has(def.name)) {
92
+ logger.warn(`[AgentRegistry] User methodology preset "${def.name}" overrides official agent`);
93
+ }
94
+ const contentWithStatic = this.injectSkillContent(def.content, def.skills);
95
+ const content = this.injectDynamicSkillManifest(contentWithStatic, def.skills ?? []);
96
+ const record = {
97
+ name: def.name,
98
+ description: def.description,
99
+ category: def.category,
100
+ version: def.version,
101
+ tools: def.tools,
102
+ model: def.model,
103
+ content,
104
+ source: 'user-methodology',
105
+ path: '<user-methodology:methodologies.yaml>',
106
+ };
107
+ if (def.skills && def.skills.length > 0) {
108
+ record.skills = def.skills;
109
+ }
110
+ this.agents.set(def.name, record);
111
+ }
112
+ logger.info(`[AgentRegistry] Loaded ${presets.length} user methodology preset(s) from methodologies.yaml`);
113
+ }
60
114
  loadFromDir(dir, source) {
61
115
  if (!fs.existsSync(dir))
62
116
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAElE,MAAM,OAAO,aAAa;IAKL;IAJX,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC7C,aAAa,GAAyB,IAAI,CAAC;IAEnD,YACmB,WAAoB,EACrC,aAA6B;QADZ,gBAAW,GAAX,WAAW,CAAS;QAGrC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;IACrE,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjG,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACrF,MAAM,MAAM,GAAgB;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO;gBACP,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,WAAW;aAClB,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,MAAmB;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAEhC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAE/B,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,IAAI;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,MAAM,KAAK,GAAa,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC5D,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ;wBAC5B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC1D,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe;oBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,MAAM,CAAC;gBACb,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE1D,qBAAqB;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC9B,MAAM,MAAM,GAAyB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC3D,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC7D,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAC7C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,EACtD,MAAM,IAAI,EAAE,CACb,CAAC;gBAEF,MAAM,MAAM,GAAgB;oBAC1B,IAAI;oBACJ,WAAW;oBACX,QAAQ;oBACR,OAAO;oBACP,KAAK;oBACL,KAAK;oBACL,OAAO;oBACP,MAAM;oBACN,IAAI,EAAE,QAAQ;iBACf,CAAC;gBACF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACzB,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,mCAAmC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB;IACtB,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,OAAe,EAAE,MAAiB;QAC3D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CACT,oCAAoC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CACzF,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YACtE,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,OAAO;;;;;;;;EAQnB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;CAClC,CAAC;IACA,CAAC;IAED;;;;;;;;OAQG;IACK,0BAA0B,CAChC,YAAoB,EACpB,cAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACtC,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;YAC7C,OAAO,OAAO,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG;;;;;;;;EAQlB,QAAQ;;;;;;;;;;;;;;;;;;;CAmBT,CAAC;QAEE,OAAO,YAAY,GAAG,OAAO,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ function listAgents() {
12
12
  return;
13
13
  }
14
14
  console.log(`Total: ${agents.length} agent(s)\n`);
15
- console.log(' Name Source Version Installed Tools');
16
- console.log(' ' + '-'.repeat(90));
15
+ console.log(' Name Source Version Installed Tools');
16
+ console.log(' ' + '-'.repeat(95));
17
17
  for (const agent of agents) {
18
18
  const installed = fs.existsSync(path.join(USER_AGENTS_DIR, `${agent.name}.md`)) ? 'yes' : 'no';
19
19
  const name = agent.name.padEnd(30);
20
- const source = agent.source.padEnd(11);
20
+ const source = agent.source.padEnd(18);
21
21
  const version = (agent.version || '0.0.0').padEnd(9);
22
22
  const installedStr = installed.padEnd(11);
23
23
  const tools = agent.tools.slice(0, 4).join(', ');
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"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"}