@s_s/harmonia 1.2.0 → 1.4.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 (180) hide show
  1. package/README.md +140 -392
  2. package/build/cli/setup.d.ts +4 -2
  3. package/build/cli/setup.js +44 -18
  4. package/build/cli/setup.js.map +1 -1
  5. package/build/core/action-registry.d.ts +36 -0
  6. package/build/core/action-registry.js +53 -0
  7. package/build/core/action-registry.js.map +1 -0
  8. package/build/core/artifacts.d.ts +66 -0
  9. package/build/core/artifacts.js +178 -0
  10. package/build/core/artifacts.js.map +1 -0
  11. package/build/core/dispatch.d.ts +18 -11
  12. package/build/core/dispatch.js +43 -33
  13. package/build/core/dispatch.js.map +1 -1
  14. package/build/core/issues.d.ts +37 -0
  15. package/build/core/issues.js +100 -0
  16. package/build/core/issues.js.map +1 -0
  17. package/build/core/overrides.d.ts +19 -26
  18. package/build/core/overrides.js +32 -98
  19. package/build/core/overrides.js.map +1 -1
  20. package/build/core/plugin.d.ts +86 -0
  21. package/build/core/plugin.js +332 -0
  22. package/build/core/plugin.js.map +1 -0
  23. package/build/core/registry.d.ts +36 -3
  24. package/build/core/registry.js +63 -5
  25. package/build/core/registry.js.map +1 -1
  26. package/build/core/reviews.d.ts +13 -13
  27. package/build/core/reviews.js +31 -32
  28. package/build/core/reviews.js.map +1 -1
  29. package/build/core/schema.d.ts +43 -15
  30. package/build/core/schema.js +124 -20
  31. package/build/core/schema.js.map +1 -1
  32. package/build/core/state.d.ts +29 -22
  33. package/build/core/state.js +49 -81
  34. package/build/core/state.js.map +1 -1
  35. package/build/core/steps.d.ts +15 -15
  36. package/build/core/steps.js +32 -33
  37. package/build/core/steps.js.map +1 -1
  38. package/build/core/tree-utils.d.ts +52 -0
  39. package/build/core/tree-utils.js +226 -0
  40. package/build/core/tree-utils.js.map +1 -0
  41. package/build/core/types.d.ts +417 -117
  42. package/build/core/types.js +15 -1
  43. package/build/core/types.js.map +1 -1
  44. package/build/core/workflow-engine.d.ts +68 -0
  45. package/build/core/workflow-engine.js +821 -0
  46. package/build/core/workflow-engine.js.map +1 -0
  47. package/build/core/workflow-validator.d.ts +22 -0
  48. package/build/core/workflow-validator.js +489 -0
  49. package/build/core/workflow-validator.js.map +1 -0
  50. package/build/index.js +28 -25
  51. package/build/index.js.map +1 -1
  52. package/build/setup/inject.d.ts +4 -4
  53. package/build/setup/inject.js +6 -6
  54. package/build/setup/inject.js.map +1 -1
  55. package/build/setup/templates.d.ts +9 -7
  56. package/build/setup/templates.js +68 -103
  57. package/build/setup/templates.js.map +1 -1
  58. package/build/tools/artifact-approve.d.ts +8 -0
  59. package/build/tools/artifact-approve.js +94 -0
  60. package/build/tools/artifact-approve.js.map +1 -0
  61. package/build/tools/artifact-schema.d.ts +12 -0
  62. package/build/tools/artifact-schema.js +148 -0
  63. package/build/tools/artifact-schema.js.map +1 -0
  64. package/build/tools/artifact-tools.d.ts +18 -0
  65. package/build/tools/artifact-tools.js +465 -0
  66. package/build/tools/artifact-tools.js.map +1 -0
  67. package/build/tools/{report-dispatch.d.ts → dispatch-report.d.ts} +7 -3
  68. package/build/tools/dispatch-report.js +261 -0
  69. package/build/tools/dispatch-report.js.map +1 -0
  70. package/build/tools/engine-helpers.d.ts +41 -0
  71. package/build/tools/engine-helpers.js +182 -0
  72. package/build/tools/engine-helpers.js.map +1 -0
  73. package/build/tools/get-project-status.d.ts +6 -4
  74. package/build/tools/get-project-status.js +308 -246
  75. package/build/tools/get-project-status.js.map +1 -1
  76. package/build/tools/get-role-prompt.d.ts +1 -1
  77. package/build/tools/get-role-prompt.js +7 -41
  78. package/build/tools/get-role-prompt.js.map +1 -1
  79. package/build/tools/issue-tools.d.ts +10 -0
  80. package/build/tools/issue-tools.js +169 -0
  81. package/build/tools/issue-tools.js.map +1 -0
  82. package/build/tools/iteration-start.d.ts +7 -4
  83. package/build/tools/iteration-start.js +51 -20
  84. package/build/tools/iteration-start.js.map +1 -1
  85. package/build/tools/loop-done.d.ts +11 -0
  86. package/build/tools/loop-done.js +109 -0
  87. package/build/tools/loop-done.js.map +1 -0
  88. package/build/tools/patch-start.d.ts +16 -0
  89. package/build/tools/patch-start.js +122 -0
  90. package/build/tools/patch-start.js.map +1 -0
  91. package/build/tools/project-init.d.ts +5 -5
  92. package/build/tools/project-init.js +47 -18
  93. package/build/tools/project-init.js.map +1 -1
  94. package/build/tools/role-dispatch.d.ts +55 -0
  95. package/build/tools/role-dispatch.js +508 -0
  96. package/build/tools/role-dispatch.js.map +1 -0
  97. package/build/tools/utils.d.ts +40 -0
  98. package/build/tools/utils.js +97 -0
  99. package/build/tools/utils.js.map +1 -0
  100. package/package.json +1 -1
  101. package/{build/hooks/claude-code.js → workflows/dev/hooks/claude.js} +34 -23
  102. package/{build → workflows/dev}/hooks/content.js +27 -18
  103. package/workflows/dev/hooks/index.js +52 -0
  104. package/{build → workflows/dev}/hooks/openclaw.js +31 -20
  105. package/{build → workflows/dev}/hooks/opencode.js +31 -20
  106. package/workflows/dev/roles/architect.md +68 -28
  107. package/workflows/dev/roles/coordinator.md +103 -0
  108. package/workflows/dev/roles/developer.md +5 -5
  109. package/workflows/dev/roles/tester.md +19 -19
  110. package/workflows/dev/schemas/api-contract.json +42 -0
  111. package/workflows/dev/schemas/api-design.json +30 -13
  112. package/workflows/dev/schemas/data-model.json +20 -7
  113. package/workflows/dev/schemas/prd.completeness-check.json +6 -5
  114. package/workflows/dev/schemas/prd.draft.json +13 -5
  115. package/workflows/dev/schemas/prd.final.json +34 -11
  116. package/workflows/dev/schemas/prd.json +29 -11
  117. package/workflows/dev/schemas/prd.requirements.json +6 -5
  118. package/workflows/dev/schemas/prototype.json +6 -2
  119. package/workflows/dev/schemas/task-breakdown.coarse.json +4 -3
  120. package/workflows/dev/schemas/task-breakdown.dependencies.json +5 -4
  121. package/workflows/dev/schemas/task-breakdown.detailed.json +8 -3
  122. package/workflows/dev/schemas/task-breakdown.final.json +8 -3
  123. package/workflows/dev/schemas/task-breakdown.json +8 -3
  124. package/workflows/dev/schemas/tech-design.analysis.json +6 -5
  125. package/workflows/dev/schemas/tech-design.draft.json +14 -5
  126. package/workflows/dev/schemas/tech-design.final.json +39 -13
  127. package/workflows/dev/schemas/tech-design.json +34 -13
  128. package/workflows/dev/schemas/tech-design.research.json +21 -0
  129. package/workflows/dev/schemas/test-plan.json +17 -7
  130. package/workflows/dev/schemas/test-report.json +26 -9
  131. package/workflows/dev/schemas/user-stories.json +7 -3
  132. package/workflows/dev/tools/index.js +23 -0
  133. package/workflows/dev/workflow.json +234 -101
  134. package/build/core/docs.d.ts +0 -32
  135. package/build/core/docs.js +0 -91
  136. package/build/core/docs.js.map +0 -1
  137. package/build/core/workflow.d.ts +0 -33
  138. package/build/core/workflow.js +0 -140
  139. package/build/core/workflow.js.map +0 -1
  140. package/build/hooks/claude-code.d.ts +0 -20
  141. package/build/hooks/claude-code.js.map +0 -1
  142. package/build/hooks/content.d.ts +0 -43
  143. package/build/hooks/content.js.map +0 -1
  144. package/build/hooks/install.d.ts +0 -40
  145. package/build/hooks/install.js +0 -63
  146. package/build/hooks/install.js.map +0 -1
  147. package/build/hooks/openclaw.d.ts +0 -24
  148. package/build/hooks/openclaw.js.map +0 -1
  149. package/build/hooks/opencode.d.ts +0 -29
  150. package/build/hooks/opencode.js.map +0 -1
  151. package/build/tools/approve-doc.d.ts +0 -6
  152. package/build/tools/approve-doc.js +0 -108
  153. package/build/tools/approve-doc.js.map +0 -1
  154. package/build/tools/dispatch-role.d.ts +0 -16
  155. package/build/tools/dispatch-role.js +0 -277
  156. package/build/tools/dispatch-role.js.map +0 -1
  157. package/build/tools/doc-tools.d.ts +0 -16
  158. package/build/tools/doc-tools.js +0 -389
  159. package/build/tools/doc-tools.js.map +0 -1
  160. package/build/tools/override-tools.d.ts +0 -6
  161. package/build/tools/override-tools.js +0 -129
  162. package/build/tools/override-tools.js.map +0 -1
  163. package/build/tools/report-dispatch.js +0 -194
  164. package/build/tools/report-dispatch.js.map +0 -1
  165. package/build/tools/set-scale.d.ts +0 -6
  166. package/build/tools/set-scale.js +0 -107
  167. package/build/tools/set-scale.js.map +0 -1
  168. package/build/tools/setup-project.d.ts +0 -8
  169. package/build/tools/setup-project.js +0 -116
  170. package/build/tools/setup-project.js.map +0 -1
  171. package/build/tools/update-phase.d.ts +0 -12
  172. package/build/tools/update-phase.js +0 -159
  173. package/build/tools/update-phase.js.map +0 -1
  174. package/workflows/dev/roles/pm.md +0 -99
  175. package/workflows/dev/schemas/deploy.json +0 -20
  176. package/workflows/dev/schemas/fsd.json +0 -25
  177. package/workflows/dev/schemas/project-plan.json +0 -20
  178. package/workflows/dev/schemas/retrospective.json +0 -20
  179. package/workflows/dev/schemas/risk-assessment.json +0 -15
  180. package/workflows/dev/schemas/tech-design.api-contract.json +0 -20
@@ -1,99 +0,0 @@
1
- ---
2
- model: medium
3
- session: none
4
- parallel: false
5
- capabilities:
6
- - id: clarify-requirements
7
- description: 与用户沟通,理解和澄清需求
8
- - id: assess-scale
9
- description: 评估项目规模(small/medium/large)
10
- - id: write-prd
11
- description: 撰写产品需求文档
12
- doc: prd
13
- - id: write-user-stories
14
- description: 撰写用户故事和验收标准
15
- doc: user-stories
16
- - id: write-fsd
17
- description: 撰写功能规格文档
18
- doc: fsd
19
- - id: write-prototype
20
- description: 创建高保真 HTML 原型
21
- doc: prototype
22
- - id: write-project-plan
23
- description: 撰写项目计划
24
- doc: project-plan
25
- - id: dispatch-tasks
26
- description: 将任务分派给开发者
27
- - id: track-progress
28
- description: 跟踪项目进度和阶段状态
29
- - id: accept-deliver
30
- description: 验收成果并输出复盘记录
31
- doc: retrospective
32
- ---
33
-
34
- # PM(项目经理)
35
-
36
- 你是项目经理,负责整个项目的生命周期管理。你是用户与开发团队之间的桥梁。
37
-
38
- ## 核心职责
39
-
40
- ### 需求澄清
41
-
42
- - 与用户沟通,理解原始需求
43
- - 提出澄清问题,消除模糊点
44
- - 确认需求范围、优先级、约束条件
45
- - 输出需求文档(PRD)和用户故事
46
-
47
- ### 项目规模评估
48
-
49
- - 根据功能点数量、技术复杂度、集成需求等维度评估项目规模(小/中/大)
50
- - 根据规模裁剪文档集——小项目不需要所有文档,避免过度设计
51
- - 裁剪规则参考 workflow.json 中的 docs.scale 配置
52
-
53
- ### 文档产出
54
-
55
- - **PRD**:产品需求文档,描述需求范围、功能点、约束条件
56
- - **用户故事**:用户视角的功能描述 + 验收标准
57
- - **功能规格(FSD)**:系统行为的精确描述——输入/输出/业务规则/校验逻辑/错误处理(中大型项目)
58
- - **高保真原型**:HTML 格式的可交互原型,展示页面布局、交互流程、状态反馈(中大型项目)
59
- - **项目计划**:阶段划分、里程碑、时间估算(中大型项目)
60
-
61
- ### 进度跟踪
62
-
63
- - 跟踪每个阶段的状态(未开始/进行中/已完成/阻塞)
64
- - 识别阻塞项,协调解决
65
- - 向用户同步进度
66
-
67
- ### 任务分派
68
-
69
- - 根据架构师的任务拆解,将任务分派给开发者
70
- - 管理任务的依赖关系,按序调度
71
- - 处理用户的中途修改意见,传达给相关角色
72
-
73
- ### 验收交付
74
-
75
- - 收集测试报告和开发成果
76
- - 对照用户故事和验收标准进行验收
77
- - 确认需求满足后交付给用户
78
- - 输出复盘记录
79
-
80
- ## 文档审核流程
81
-
82
- 某些文档需要用户审核确认后才能继续流程。当 doc_write 工具返回"REVIEW REQUIRED"提示时:
83
-
84
- 1. **展示文档**:将完整的文档内容展示给用户
85
- 2. **等待确认**:询问用户是否认可,或是否需要修改
86
- 3. **处理反馈**:
87
- - 用户认可 → 调用 doc_approve 工具,然后继续流程
88
- - 用户要求修改 → 根据反馈修改文档,重新调用 doc_write
89
- - 用户拒绝 → 调用 doc_approve(approved=false)并附上用户的反馈
90
-
91
- **不要跳过审核流程。** 未经用户确认的文档不应作为后续阶段的输入。
92
-
93
- ## 行为规则
94
-
95
- 1. **用户沟通优先**:你是唯一直接与用户对话的角色,其他角色通过你中转
96
- 2. **文档驱动**:每个阶段的产出必须落地为文档,通过 doc_write 工具写入
97
- 3. **状态可见**:每次阶段变更都更新 state.json
98
- 4. **裁剪优先**:小项目不要生成不必要的文档,保持精简
99
- 5. **不越权**:不要替架构师做技术决策,不要替开发者写代码
@@ -1,20 +0,0 @@
1
- {
2
- "sections": [
3
- {
4
- "heading": "## 部署环境",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "aliases": ["## Deployment Environment", "## 环境要求", "## 运行环境"]
7
- },
8
- {
9
- "heading": "## 部署步骤",
10
- "required": { "small": true, "medium": true, "large": true },
11
- "aliases": ["## Deployment Steps", "## 部署流程", "## 安装步骤"]
12
- },
13
- {
14
- "heading": "## 配置说明",
15
- "required": { "small": false, "medium": true, "large": true },
16
- "aliases": ["## Configuration", "## 环境配置", "## 配置项"]
17
- }
18
- ],
19
- "minLength": 100
20
- }
@@ -1,25 +0,0 @@
1
- {
2
- "sections": [
3
- {
4
- "heading": "## 功能概述",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "aliases": ["## Feature Overview", "## 功能说明"]
7
- },
8
- {
9
- "heading": "## 功能规格",
10
- "required": { "small": true, "medium": true, "large": true },
11
- "aliases": ["## Functional Specifications", "## 详细规格", "## 功能详情"]
12
- },
13
- {
14
- "heading": "## 交互流程",
15
- "required": { "small": false, "medium": true, "large": true },
16
- "aliases": ["## Interaction Flow", "## 用户流程", "## 交互设计"]
17
- },
18
- {
19
- "heading": "## 边界条件",
20
- "required": { "small": false, "medium": false, "large": true },
21
- "aliases": ["## Edge Cases", "## 边界情况", "## 异常处理"]
22
- }
23
- ],
24
- "minLength": 200
25
- }
@@ -1,20 +0,0 @@
1
- {
2
- "sections": [
3
- {
4
- "heading": "## 项目计划",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "aliases": ["## Project Plan", "## 计划概述"]
7
- },
8
- {
9
- "heading": "## 里程碑",
10
- "required": { "small": false, "medium": true, "large": true },
11
- "aliases": ["## Milestones", "## 关键节点"]
12
- },
13
- {
14
- "heading": "## 时间安排",
15
- "required": { "small": false, "medium": true, "large": true },
16
- "aliases": ["## Timeline", "## 排期", "## 时间线"]
17
- }
18
- ],
19
- "minLength": 100
20
- }
@@ -1,20 +0,0 @@
1
- {
2
- "sections": [
3
- {
4
- "heading": "## 项目总结",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "aliases": ["## Summary", "## 总结", "## 项目概要"]
7
- },
8
- {
9
- "heading": "## 经验教训",
10
- "required": { "small": false, "medium": true, "large": true },
11
- "aliases": ["## Lessons Learned", "## 收获与反思"]
12
- },
13
- {
14
- "heading": "## 改进建议",
15
- "required": { "small": false, "medium": false, "large": true },
16
- "aliases": ["## Improvements", "## 后续改进", "## 待改进"]
17
- }
18
- ],
19
- "minLength": 50
20
- }
@@ -1,15 +0,0 @@
1
- {
2
- "sections": [
3
- {
4
- "heading": "## 风险项",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "aliases": ["## Risks", "## 风险列表", "## 风险清单"]
7
- },
8
- {
9
- "heading": "## 缓解措施",
10
- "required": { "small": false, "medium": true, "large": true },
11
- "aliases": ["## Mitigation", "## 应对策略", "## 缓解方案"]
12
- }
13
- ],
14
- "minLength": 100
15
- }
@@ -1,20 +0,0 @@
1
- {
2
- "jsonFields": [
3
- {
4
- "field": "endpoints",
5
- "required": { "small": true, "medium": true, "large": true },
6
- "type": "array",
7
- "minItems": 1
8
- },
9
- {
10
- "field": "dataModels",
11
- "required": { "small": false, "medium": true, "large": true },
12
- "type": "array"
13
- },
14
- {
15
- "field": "errorCodes",
16
- "required": { "small": false, "medium": false, "large": true },
17
- "type": "array"
18
- }
19
- ]
20
- }