@modus-ai/modus 0.2.5 → 0.2.7

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 (49) hide show
  1. package/README.md +62 -45
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +37 -6
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/generators/claude.js +1 -1
  6. package/dist/generators/claude.js.map +1 -1
  7. package/dist/generators/codebuddy.d.ts.map +1 -1
  8. package/dist/generators/codebuddy.js +3 -1
  9. package/dist/generators/codebuddy.js.map +1 -1
  10. package/dist/generators/codex.d.ts +10 -0
  11. package/dist/generators/codex.d.ts.map +1 -0
  12. package/dist/generators/codex.js +178 -0
  13. package/dist/generators/codex.js.map +1 -0
  14. package/dist/generators/cursor.d.ts.map +1 -1
  15. package/dist/generators/cursor.js +36 -7
  16. package/dist/generators/cursor.js.map +1 -1
  17. package/dist/generators/custom.d.ts +55 -0
  18. package/dist/generators/custom.d.ts.map +1 -0
  19. package/dist/generators/custom.js +166 -0
  20. package/dist/generators/custom.js.map +1 -0
  21. package/dist/generators/index.d.ts +1 -0
  22. package/dist/generators/index.d.ts.map +1 -1
  23. package/dist/generators/index.js +10 -0
  24. package/dist/generators/index.js.map +1 -1
  25. package/dist/utils/config.d.ts +6 -1
  26. package/dist/utils/config.d.ts.map +1 -1
  27. package/dist/utils/config.js.map +1 -1
  28. package/package.json +1 -1
  29. package/schemas/harness-schema.yaml +178 -53
  30. package/templates/agents/modus-analyst.md +1 -1
  31. package/templates/commands/auto.md +61 -27
  32. package/templates/commands/harness.md +94 -34
  33. package/templates/commands/init.md +43 -10
  34. package/templates/commands/modus.md +55 -28
  35. package/templates/commands/plan.md +60 -18
  36. package/templates/commands/spec.md +69 -25
  37. package/templates/commands/upgrade.md +54 -0
  38. package/templates/commands/vibe.md +55 -5
  39. package/templates/knowledge-catalog.md +23 -10
  40. package/templates/skills/modus-agents/analyst/SKILL.md +11 -12
  41. package/templates/skills/modus-agents/developer/SKILL.md +14 -12
  42. package/templates/skills/modus-agents/reviewer/SKILL.md +50 -23
  43. package/templates/skills/modus-auto/SKILL.md +580 -123
  44. package/templates/skills/modus-design-brief/SKILL.md +17 -9
  45. package/templates/skills/modus-harness/SKILL.md +95 -96
  46. package/templates/skills/modus-init/SKILL.md +403 -188
  47. package/templates/skills/modus-plan/SKILL.md +16 -5
  48. package/templates/skills/modus-platform/SKILL.md +271 -0
  49. package/templates/skills/modus-vibe/SKILL.md +285 -187
@@ -8,8 +8,8 @@ disable: false
8
8
  # modus-reviewer(代码评审 SubAgent)
9
9
 
10
10
  **调用方:** Harness Orchestrator(Gate B 通过后触发)
11
- **输入:** 全部产出物(01-analysis.md 至 05-security-report.md)+ 代码变更
12
- **产出物:** `modus/plans/active/{story-id}/cr-report.md`
11
+ **输入:** 全部产出物(01-analysis.md 至 06-security-report.md)+ 代码变更
12
+ **产出物:** `modus/stories/{story-id}/harness/cr-report.md`
13
13
 
14
14
  ## 职责
15
15
 
@@ -56,15 +56,26 @@ disable: false
56
56
  - 金额字段是否符合项目宪法的规范(以 `constitution.hard_rules` 为准,如规则为「金额字段使用 Long(单位:分)」则检查 Long 类型,如规则为「使用 BigDecimal」则检查 BigDecimal;**不得硬编码检查某一具体类型**)
57
57
  - 若 `constitution.hard_rules` 未明确金额规范,则默认检查是否使用 BigDecimal,并在报告中标注「未找到金额规范配置,使用默认规则」
58
58
 
59
- ### 维度 3:测试覆盖(参考 03-test-report.md)
59
+ ### 维度 3:测试覆盖(参考 04-test-report.md)
60
60
 
61
61
  - 核心业务逻辑是否有测试
62
62
  - 测试是否覆盖了重要异常路径
63
63
 
64
- ### 维度 4:性能与安全(参考 04/05 报告)
64
+ ### 维度 4:性能与安全(参考 05/06 报告)
65
65
 
66
- - 04 报告中的高风险问题是否已在代码中修复
67
- - 05 报告中的严重/高风险问题是否已修复
66
+ **分级映射规则(将 05/06 报告分级转换为 CR 分级):**
67
+
68
+ | 来源报告 | 原始级别 | CR 级别 | 处理 |
69
+ |---------|---------|--------|------|
70
+ | 06-security-report | 严重 | P1 | 必须修复,触发 Loop 2 重入 |
71
+ | 06-security-report | 高风险 | P2 | 必须修复,触发 Loop 2 重入 |
72
+ | 06-security-report | 低风险 | P3 | 建议修复,不阻塞 |
73
+ | 05-perf-report | 高风险 | P2(若影响 SLA 则升为 P1)| 必须修复 |
74
+ | 05-perf-report | 中风险 | P3 | 建议修复,不阻塞 |
75
+ | 05-perf-report | 低风险 | P3 | 建议修复,不阻塞 |
76
+
77
+ - 06(安全)报告中「严重」和「高风险」问题是否已在代码中修复
78
+ - 05(性能)报告中「高风险」问题是否已修复
68
79
 
69
80
  ---
70
81
 
@@ -81,22 +92,33 @@ disable: false
81
92
  ## 产出物格式(cr-report.md)
82
93
 
83
94
  ```markdown
84
- <!--HANDOFF
85
- agent: "06-review"
95
+ ---
96
+ schema_version: "1.1"
97
+ agent: "07-review"
98
+ run_id: "{YYYYMMDD}-{story_id_prefix}"
86
99
  story_id: "{story-id}"
100
+ task_id: ""
101
+ domains: ["{domain1}", "{domain2}"]
87
102
  gate_status: "{passed|failed}"
103
+ artifact_status: "complete"
88
104
  issues:
89
- - id: "P1-01"
90
- level: "P1"
91
- sprint: {受影响的 Sprint 编号,如 2}
92
- file: "{文件名}.java:{行号}"
105
+ - level: "P1"
106
+ code: "P1-01"
107
+ agent: "07-review"
108
+ location: "{文件名}.java:{行号}"
93
109
  summary: "{一句话问题摘要,供 Orchestrator 定位重入范围}"
94
- - id: "P2-01"
95
- level: "P2"
96
- sprint: {N}
97
- file: "{文件名}.java:{行号}"
110
+ suggestion: "{修复建议}"
111
+ affected_sprint: "{受影响的 Sprint 编号,如 Sprint 2}"
112
+ - level: "P2"
113
+ code: "P2-01"
114
+ agent: "07-review"
115
+ location: "{文件名}.java:{行号}"
98
116
  summary: "{一句话问题摘要}"
99
- -->
117
+ suggestion: "{修复建议}"
118
+ affected_sprint: "{N}"
119
+ skill_refs:
120
+ - "modus-biz-{domain}@{version}"
121
+ ---
100
122
 
101
123
  # 代码评审报告
102
124
 
@@ -133,21 +155,26 @@ issues:
133
155
  {如无 P1/P2 → "通过评审,可进入 Final Review"}
134
156
  ```
135
157
 
136
- **HANDOFF 块填写规则:**
158
+ **HANDOFF 块填写规则(YAML frontmatter 格式,v1.1):**
137
159
  - `gate_status`:无 P1/P2 → `passed`;有 P1/P2 → `failed`
138
160
  - `issues`:仅列 P1/P2 问题(P3 不阻塞,Orchestrator 不读取);无 P1/P2 时写空列表 `issues: []`
139
- - 每条 issue 的 `sprint` 字段:填写受影响代码所属的 Sprint 编号,供 Orchestrator 精准定位重入范围
140
- - HANDOFF 块**必须位于文件最顶部**,Orchestrator 仅读此块(≤ 20 行)以决策是否触发 Loop 2
161
+ - 每条 issue 的 `affected_sprint` 字段:填写受影响代码所属的 Sprint 编号(如「Sprint 2」),供 Orchestrator 精准定位重入范围
162
+ - 每条 issue `code` 字段:填写问题编码(如 `P1-01`、`P2-03`),用于精准重入定位
163
+ - HANDOFF 块**必须位于文件最顶部(`---...---` YAML frontmatter)**,Orchestrator 仅读此块(≤ 25 行)以决策是否触发 Loop 2
141
164
 
142
165
  ---
143
166
 
144
167
  ## 创建 Bug 单(可选)
145
168
 
146
- 如果项目配置了 `tapdProjectId`(来自 `modus/config.yaml`),对于 P1/P2 问题可以选择自动创建 TAPD Bug 单:
169
+ > **前置条件:** 需在 `{project}/modus/config.yaml` 中配置 `tapdProjectId`(非空)才能触发 Bug 创建。当前 `tapdProjectId: ""` 时跳过此步骤。
170
+
171
+ > **协调说明:** 如果 workspace 中已安装独立的 `tapd-bug-creator` Skill,**优先使用外部 Skill** 创建 Bug 单(职责更单一),本节逻辑作为降级兜底(外部 Skill 不可用时才启用)。两者不应同时执行。
172
+
173
+ 如果满足前置条件,对于 P1/P2 问题自动创建 TAPD Bug 单:
147
174
 
148
175
  - Bug 标题:`[Modus CR] {问题标题}`
149
176
  - 关联 Story ID:`{当前 story-id}`
150
- - 描述:包含代码位置、问题代码片段、修复方案
177
+ - 描述:包含代码位置(`location` 字段)、问题代码片段、修复方案(`suggestion` 字段)
151
178
  - 严重程度:P1 → 严重,P2 → 一般
152
179
 
153
- 创建完成后将 Bug ID 写入 cr-report.md 末尾。
180
+ 创建完成后将 Bug ID 写入 cr-report.md 末尾的 `tapd_bugs` 列表。