@modus-ai/modus 0.2.10 → 0.3.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 (110) hide show
  1. package/dist/cli/index.js +2 -0
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/doctor.d.ts.map +1 -1
  4. package/dist/commands/doctor.js +8 -3
  5. package/dist/commands/doctor.js.map +1 -1
  6. package/dist/commands/init.d.ts +39 -2
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +234 -3
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/status.d.ts.map +1 -1
  11. package/dist/commands/status.js +9 -3
  12. package/dist/commands/status.js.map +1 -1
  13. package/dist/generators/claude.d.ts +4 -2
  14. package/dist/generators/claude.d.ts.map +1 -1
  15. package/dist/generators/claude.js +17 -8
  16. package/dist/generators/claude.js.map +1 -1
  17. package/dist/generators/codebuddy.d.ts.map +1 -1
  18. package/dist/generators/codebuddy.js +15 -3
  19. package/dist/generators/codebuddy.js.map +1 -1
  20. package/dist/generators/codex.d.ts.map +1 -1
  21. package/dist/generators/codex.js +4 -4
  22. package/dist/generators/codex.js.map +1 -1
  23. package/dist/generators/continue.d.ts +17 -0
  24. package/dist/generators/continue.d.ts.map +1 -0
  25. package/dist/generators/continue.js +441 -0
  26. package/dist/generators/continue.js.map +1 -0
  27. package/dist/generators/copilot.d.ts.map +1 -1
  28. package/dist/generators/copilot.js +3 -2
  29. package/dist/generators/copilot.js.map +1 -1
  30. package/dist/generators/cursor.d.ts +4 -3
  31. package/dist/generators/cursor.d.ts.map +1 -1
  32. package/dist/generators/cursor.js +22 -11
  33. package/dist/generators/cursor.js.map +1 -1
  34. package/dist/generators/custom.d.ts +2 -2
  35. package/dist/generators/custom.d.ts.map +1 -1
  36. package/dist/generators/custom.js +9 -2
  37. package/dist/generators/custom.js.map +1 -1
  38. package/dist/generators/index.d.ts.map +1 -1
  39. package/dist/generators/index.js +11 -0
  40. package/dist/generators/index.js.map +1 -1
  41. package/dist/generators/modus.d.ts +12 -0
  42. package/dist/generators/modus.d.ts.map +1 -0
  43. package/dist/generators/modus.js +225 -0
  44. package/dist/generators/modus.js.map +1 -0
  45. package/dist/utils/config.d.ts +20 -1
  46. package/dist/utils/config.d.ts.map +1 -1
  47. package/dist/utils/config.js.map +1 -1
  48. package/dist/utils/file-system.d.ts +16 -0
  49. package/dist/utils/file-system.d.ts.map +1 -1
  50. package/dist/utils/file-system.js +40 -0
  51. package/dist/utils/file-system.js.map +1 -1
  52. package/package.json +1 -1
  53. package/schemas/harness-schema.yaml +13 -13
  54. package/templates/agents/modus-analyst.md +2 -2
  55. package/templates/agents/modus-deployer.md +1 -1
  56. package/templates/agents/modus-designer.md +1 -1
  57. package/templates/agents/modus-developer.md +1 -1
  58. package/templates/agents/modus-perf-auditor.md +1 -1
  59. package/templates/agents/modus-reviewer.md +1 -1
  60. package/templates/agents/modus-security-auditor.md +1 -1
  61. package/templates/agents/modus-skill-creator.md +1 -1
  62. package/templates/agents/modus-tester.md +1 -1
  63. package/templates/commands/auto.md +3 -1
  64. package/templates/commands/commit.md +11 -5
  65. package/templates/commands/cr.md +14 -10
  66. package/templates/commands/harness.md +27 -18
  67. package/templates/commands/init.md +56 -23
  68. package/templates/commands/modus.md +33 -11
  69. package/templates/commands/plan.md +23 -19
  70. package/templates/commands/spec.md +30 -17
  71. package/templates/commands/upgrade.md +50 -38
  72. package/templates/commands/vibe.md +30 -20
  73. package/templates/domain-business-readme.md +69 -0
  74. package/templates/domain-code/SKILL.md +94 -0
  75. package/templates/domain-code/apis.md +48 -0
  76. package/templates/domain-code/data-models.md +57 -0
  77. package/templates/domain-code/entities.md +45 -0
  78. package/templates/domain-code/services.md +51 -0
  79. package/templates/domain-history-readme.md +60 -0
  80. package/templates/domain-scenarios-readme.md +58 -0
  81. package/templates/knowledge-base-map.md +78 -0
  82. package/templates/knowledge-base-service-graph.md +100 -0
  83. package/templates/knowledge-catalog.md +38 -43
  84. package/templates/paths-v4.md +156 -0
  85. package/templates/rules/modus-workflow/RULE.mdc +45 -38
  86. package/templates/skills/modus-agents/analyst/SKILL.md +1 -1
  87. package/templates/skills/modus-agents/developer/SKILL.md +1 -1
  88. package/templates/skills/modus-agents/reviewer/SKILL.md +1 -1
  89. package/templates/skills/modus-agents/skill-creator/SKILL.md +3 -3
  90. package/templates/skills/modus-auto/SKILL.md +19 -19
  91. package/templates/skills/modus-cr/SKILL.md +1 -1
  92. package/templates/skills/modus-design-brief/SKILL.md +3 -3
  93. package/templates/skills/modus-harness/SKILL.md +5 -5
  94. package/templates/skills/modus-init/SKILL.md +330 -824
  95. package/templates/skills/modus-init/shared/frontmatter-spec.md +255 -0
  96. package/templates/skills/modus-init/shared/stack-detection.md +144 -0
  97. package/templates/skills/modus-init/shared/universal-skill-format.md +362 -0
  98. package/templates/skills/modus-init/strategies/fallback-init.md +150 -0
  99. package/templates/skills/modus-init/strategies/frontend-init.md +298 -0
  100. package/templates/skills/modus-init/strategies/java-init.md +278 -0
  101. package/templates/skills/modus-plan/SKILL.md +6 -6
  102. package/templates/skills/modus-platform/SKILL.md +1 -1
  103. package/templates/skills/modus-spec/SKILL.md +1 -1
  104. package/templates/skills/modus-vibe/SKILL.md +10 -10
  105. package/templates/template/analysis.md +83 -0
  106. package/templates/template/design.md +160 -0
  107. package/templates/template/pid.md +97 -0
  108. package/templates/template/plan.md +91 -0
  109. package/templates/template/spec.md +78 -0
  110. package/templates/template/sprint-contract.md +101 -0
@@ -2,6 +2,8 @@
2
2
 
3
3
  **用途:** 在 `/plan` 基础上增加行为规格(delta specs),用 GIVEN/WHEN/THEN 明确系统「WHAT」,规格可测试,归档时自动检测冲突并合并到主规格库(Source of Truth)。适用于有接口契约变更、需要可测试验收标准的场景。
4
4
 
5
+ > **路径范式版本:v4.0**(详见 `templates/paths-v4.md`)
6
+
5
7
  **借鉴自:** OpenSpec 规范 + Gherkin BDD(Cucumber)的 Feature/Scenario 格式
6
8
 
7
9
  ## 参数说明
@@ -36,11 +38,11 @@
36
38
  | 维度 | `/modus:plan` | `/modus:spec` |
37
39
  |------|--------------|----------------|
38
40
  | 产出物 | 单一 `plan.md` | `delta-specs.md` + `design.md` + `tasks.md` |
39
- | 目录 | `modus/plans/{name}/` | `modus/changes/{name}/` |
40
- | 行为规格 | 无 | 有(ADDED/MODIFIED/REMOVED + GIVEN/WHEN/THEN) |
41
- | 验收标准 | 无 | 有(可测试 Scenario) |
42
- | 冲突检测 | 无 | 有(MODIFIED/REMOVED 目标必须存在于主库) |
43
- | 归档目标 | `modus/plans/archive/` | 合并到 `modus/specs/{domain}/spec.md` |
41
+ | 目录 | `modus/artifacts/{story_id}/code/` 或 `modus/plans/{name}/` | `modus/artifacts/{story_id}/code/spec/` 或 `modus/changes/{name}/` |
42
+ | 行为规格 | 无 | 有(ADDED/MODIFIED/REMOVED + GIVEN/WHEN/THEN)|
43
+ | 验收标准 | 无 | 有(可测试 Scenario)|
44
+ | 冲突检测 | 无 | 有(MODIFIED/REMOVED 目标必须存在于主库)|
45
+ | 归档目标 | `modus/artifacts/{id}/archive/` 或 `modus/plans/archive/` | 合并到 `modus/knowledge_base/domain/{d}/scenarios/` 或 `modus/specs/{domain}/spec.md` |
44
46
 
45
47
  ## Delta Specs 格式(Gherkin 风格)
46
48
 
@@ -60,22 +62,33 @@ Feature: 批量审批订单
60
62
  Then 系统返回 400 错误:"批量操作上限 50 条"
61
63
  ```
62
64
 
63
- ## 产出物
65
+ ## 产出物(v4.0)
64
66
 
67
+ **Story 模式(含 --story):**
68
+ ```
69
+ modus/artifacts/{story_id}/
70
+ ├── design/design.md
71
+ └── code/
72
+ ├── spec/ — delta specs(ADDED/MODIFIED/REMOVED)
73
+ ├── spec-proposal.md — 意图与范围
74
+ ├── tasks.md — 实现清单(追踪到 Scenario)
75
+ └── testcases.md — QA 用例(--testcase 时生成)
76
+ ```
77
+
78
+ **独立模式(不含 --story):**
65
79
  ```
66
80
  modus/changes/{name}/
67
- ├── .modus-state.yaml — 状态文件(支持断点续跑)
68
- ├── proposal.md — 意图与范围
69
- ├── specs/{domain}/spec.md — delta specs(ADDED/MODIFIED/REMOVED)
70
- ├── design.md — 技术方案
71
- ├── design-brief.md — 精确实现指南(Full 模式)
72
- ├── tasks.md — 实现清单(追踪到 Scenario)
73
- └── testcases.md — QA 用例(--testcase 时生成)
74
-
75
- 归档后:modus/changes/archive/{date}-{name}/
76
- 主规格库:modus/specs/{domain}/spec.md(历次归档合并)
81
+ ├── .modus-state.yaml
82
+ ├── proposal.md
83
+ ├── specs/{domain}/spec.md
84
+ ├── design.md
85
+ ├── design-brief.md
86
+ ├── tasks.md
87
+ └── testcases.md
77
88
  ```
78
89
 
90
+ 归档后:Story 模式合并到 `modus/knowledge_base/domain/{domain}/scenarios/`;独立模式合并到 `modus/specs/{domain}/spec.md`。
91
+
79
92
  ## 执行此命令
80
93
 
81
- 读取并执行 `.codebuddy/skills/modus-spec/SKILL.md` 中的完整流程。
94
+ 读取并执行 `.modus/skills/modus-spec/SKILL.md` 中的完整流程(中性源;各平台目录为引用桩)。
@@ -33,8 +33,9 @@
33
33
 
34
34
  | 版本 | 主要变更 |
35
35
  |------|---------|
36
- | v4.0.0 | plan --design 设计评审节点;plan --continue + harness --from-plan 接力机制;HANDOFF protocol schema v1.3(plan 专用字段);Progress Event Protocol(events.jsonl);AGENTS.md 自动生成(modus update 驱动,不再手动维护) |
37
- | v3.2.0 | Skill 路径全面统一到 `modus/knowledge/biz-*/`;步骤编号规范化(禁止小数步骤);modus-analyst 产出路径更正到 `modus/stories/{id}/harness/`;modus-plan 双路径产出规则(Story 模式 vs 独立模式) |
36
+ | **v4.0.0** | 目录范式重构:`modus/knowledge/` `modus/knowledge_base/domain/<d>/code/` (拆分 5 文件) + `business/` + `scenarios/` + `history/`;`modus/stories/` → `modus/artifacts/<id>/` (pid/design/code/archive);`modus/knowledge-catalog.md` `modus/knowledge_base/map.md`;新增 `modus/template/` 产出模板;新增 `.modus/commands/` + `.modus/skills/` 中立命令与团队技能包;平台目录全部降为引用桩 |
37
+ | v3.3.0 | plan --design 设计评审节点;plan --continue + harness --from-plan 接力机制;HANDOFF protocol schema v1.3 (plan 专用字段);Progress Event Protocol (events.jsonl);AGENTS.md 自动生成 |
38
+ | v3.2.0 | 跨 Skill 路径全面统一到 `modus/knowledge/biz-*/`;步骤编号规范化(禁止小数步骤);modus-analyst 产出路径更正到 `modus/stories/{id}/harness/`;modus-plan 双路径产出规则 |
38
39
  | v3.1.0 | 知识库路径迁移:`.codebuddy/skills/modus-biz-*` → `modus/knowledge/biz-*`;新增工作区顶层路由 `modus/workspace-catalog.md`;HANDOFF 协议升级到 schema v1.1 |
39
40
  | v3.0.0 | 多项目工作区支持(modus-workspace.yaml);引用式适配(不复制知识) |
40
41
  | v2.x | 初始版本 |
@@ -57,32 +58,43 @@
57
58
  ```
58
59
  Step 1: 备份
59
60
  创建 modus/backup/{YYYYMMDD}-v3.x/ 目录
60
- 复制所有现有 Skill 文件和 config.yaml 到备份目录
61
-
62
- Step 2: HANDOFF 格式兼容检查
63
- 扫描 modus/stories/*/harness/*.md 中的旧版 HTML 注释块(<!--HANDOFF...-->)
64
- 自动转换为 YAML frontmatter 格式(schema v1.1 → v1.2/v1.3)
65
- 输出:「已迁移 N 个产物文件到 YAML frontmatter 格式」
66
-
67
- Step 3: plan 产物字段补全
68
- 扫描 modus/plans/*/plan.md
69
- 在 HANDOFF frontmatter 中补充新字段(design_mode/status/continue_token/risk_level/estimated_effort)
70
- 默认值:design_mode=false, status=complete, continue_token=""
71
-
72
- Step 4: harness 命令 Skill 更新
73
- 更新 modus-harness Skill:添加 --from-plan 处理逻辑
74
- 更新 modus-plan Skill:添加 --design 分支 + --continue 接力逻辑
75
- 输出:「已更新 modus-harness / modus-plan Skill 模板」
76
-
77
- Step 5: 初始化进度事件目录
78
- 创建 modus/sessions/ 目录(若不存在)
79
- 创建 modus/sessions/events.jsonl(若不存在,初始化为空文件)
80
- 输出:「已初始化 Progress Event 日志:modus/sessions/events.jsonl」
81
-
82
- Step 6: AGENTS.md 自动生成(Codex 平台)
83
- config.yaml platforms 含 codex,重新生成 AGENTS.md:
84
- 融合:workspace-catalog + constitution.hard_rules + 最新命令参数集
85
- 输出:「AGENTS.md 已重新生成(Codex 平台适配)」
61
+ 复制所有现有知识与产物文件到备份目录
62
+
63
+ Step 2: 知识库重构
64
+ modus/knowledge/biz-{d}/SKILL.md
65
+ → modus/knowledge_base/domain/{d}/code/SKILL.md (仅保留 frontmatter 与摘要)
66
+ 拆分原内容到 entities.md / apis.md / services.md / data-models.md
67
+ → 创建空的 business/ + scenarios/ + history/子目录
68
+ modus/knowledge/_conventions/SKILL.md
69
+ modus/knowledge_base/domain/_conventions/code/SKILL.md
70
+ modus/knowledge/_tech-wiki/SKILL.md
71
+ modus/knowledge_base/domain/_tech-wiki/code/SKILL.md
72
+ modus/knowledge-catalog.md
73
+ modus/knowledge_base/map.md (结构重生成)
74
+ 生成 modus/knowledge_base/service-graph.md (基于代码扫描)
75
+
76
+ Step 3: 产出区重构
77
+ modus/stories/{id}/
78
+ ├─ harness/01-analysis.md → modus/artifacts/{id}/pid/prd.md
79
+ ├─ harness/02-design-brief.md → modus/artifacts/{id}/design/design.md
80
+ ├─ plan.md → modus/artifacts/{id}/code/plan.md
81
+ ├─ spec/ → modus/artifacts/{id}/code/spec/
82
+ ├─ harness/03-sprint-contract → modus/artifacts/{id}/code/sprint-contract.md
83
+ ├─ harness/cr-report.md → modus/artifacts/{id}/code/cr-report.md
84
+ └─ harness/.harness-state.yaml modus/artifacts/{id}/code/.harness-state.yaml
85
+ 创建空的 archive/ 子目录
86
+
87
+ Step 4: 产出模板与中性命令源
88
+ 将 templates/template/ 复制到项目下 modus/template/
89
+ 将现有命令同步到 .modus/commands/ (中性源)
90
+ 将团队资源迁移到 .modus/skills/ (如某些所谓的「查日志」Skill)
91
+
92
+ Step 5: 平台目录降为引用桩
93
+ 重写 .codebuddy/skills/modus-*/SKILL.md 为仅 1 行 @import,指向 .modus/skills/
94
+ .claude/, .cursor/, .continue/ 同理
95
+
96
+ Step 6: HANDOFF schema 升级与路径调整
97
+ 扫描 modus/artifacts/*/code/*.md 中的旧 HANDOFF 块,路径字段调整为 v4 路径
86
98
 
87
99
  Step 7: 更新 modus/config.yaml
88
100
  将 modus_version 更新为 "4.0.0"
@@ -95,20 +107,20 @@ Step 7: 更新 modus/config.yaml
95
107
  ✅ Modus v4.0.0 升级完成
96
108
 
97
109
  迁移内容:
98
- HANDOFF 格式:N 个产物文件已转换为 YAML frontmatter
99
- plan 产物:M 个 plan.md 已补充 v4.0 专用字段
100
- Skill 更新:modus-harness / modus-plan 已更新
101
- 进度事件:modus/sessions/events.jsonl 已初始化
102
- AGENTS.md:已重新生成(若 codex 已启用)
110
+ 知识库:N 个业务域拆分为 code/{entities|apis|services|data-models}.md
111
+ 产出区:M 个 Story stories/ 迁移到 artifacts/<id>/{pid|design|code|archive}/
112
+ 中性命令源:.modus/commands/ + .modus/skills/ 已生成
113
+ 平台目录:.codebuddy / .claude / .cursor / .continue 已重写为引用桩
114
+ 模板:modus/template/ 生成(6 个产出模板)
103
115
 
104
116
  备份位置:modus/backup/{YYYYMMDD}-v3.x/
105
117
 
106
- 新功能使用方式:
107
- 设计评审模式:/modus:plan --design [story-url]
108
- 接力开发: /modus:plan --continue {name}
109
- 进度监控: /modus:harness ... --show-progress
118
+ 后续手动步骤:
119
+ 1. 人工检查 modus/knowledge_base/domain/<d>/business/ 并补充业务规则
120
+ 2. 人工检查 modus/knowledge_base/service-graph.md 并修正调用关系
121
+ 3. 运行 /modus:init --enhance-all 验证迁移后知识是否可重生成
110
122
  ```
111
123
 
112
124
  ## 执行此命令
113
125
 
114
- 读取并执行 `.codebuddy/skills/modus-upgrade/SKILL.md` 中的完整流程。
126
+ 读取并执行 `.modus/skills/modus-upgrade/SKILL.md` 中的完整流程(中性源;各平台目录为引用桩)。
@@ -1,8 +1,10 @@
1
1
  # /modus:vibe — 上下文感知编码(氛围编程)
2
2
 
3
- **用途:** 执行日常编码任务前,自动加载相关业务 Skill,让 AI 以「懂项目的开发者」身份工作,而非冷启动。适合 Bug 修复、小功能迭代、代码重构等日常任务。
3
+ **用途:** 执行日常编码任务前,自动加载相关业务知识,让 AI 以「懂项目的开发者」身份工作,而非冷启动。适合 Bug 修复、小功能迭代、代码重构等日常任务。
4
4
 
5
- > Context-aware vibe coding. Intelligently loads relevant business Skills, auto-syncs stale knowledge, and applies rule-driven clarification before coding so AI works as a knowledgeable project member.
5
+ > **路径范式版本:v4.0**(详见 `templates/paths-v4.md`)
6
+ >
7
+ > Context-aware vibe coding. Intelligently loads relevant domain knowledge, auto-syncs stale knowledge, and applies rule-driven clarification before coding so AI works as a knowledgeable project member.
6
8
 
7
9
  ## 参数说明
8
10
 
@@ -10,7 +12,7 @@
10
12
  /modus:vibe [需求描述] [参数]
11
13
 
12
14
  --help 显示完整帮助(中文)
13
- --domain <name> 强制加载指定业务域(跳过自动匹配,如 --domain biz-track)
15
+ --domain <name> 强制加载指定业务域(跳过自动匹配,如 --domain track)
14
16
  --project <name> 指定项目(多项目 workspace 使用)
15
17
  --context <file> 额外加载指定文件作为上下文(相对路径)
16
18
  --no-skill 跳过 Skill 加载,直接用原始代码上下文(不推荐)
@@ -21,15 +23,15 @@
21
23
  ## 执行流程(概览)
22
24
 
23
25
  1. Read `modus/config.yaml` for hard constraints (constitution)
24
- 2. Load `modus/knowledge-catalog.md` (Level 1, ~200 tokens)
26
+ 2. Load `modus/knowledge_base/map.md` (Level 1, ~200 tokens)
25
27
  3. **Smart Analysis Engine**: auto-match domains (confidence ≥ 85% → auto-confirm, no user input needed), assess task complexity (Simple / Medium / Complex), detect ambiguity
26
- 4. **Conditional Skill Pre-sync** (silent): check if matched Skills are stale via hash; update if needed; show one-line status `[已同步 {domain} 域知识]`
28
+ 4. **Conditional Skill Pre-sync** (silent): check if matched domain knowledge is stale via hash; update if needed; show one-line status `[已同步 {domain} 域知识]`
27
29
  5. **Rule-driven AskUserQuestion**: check 5 ambiguity rules (R1–R5); skip entirely for clear tasks; ask at most 2 questions when rules are hit
28
- 6. Load matched Skill files as context (Level 2, ~3000 tokens each)
30
+ 6. Load matched domain knowledge as context (Level 2, ~500 tokens entry / Level 3 ~800 tokens per sub-file as needed)
29
31
  7. **Adaptive Design Brief**: Simple tasks → 3-section inline brief; Medium/Complex → full 9-section brief
30
- 8. Execute the coding task with business context (Level 3 on-demand file reads)
31
- 9. **Buffer new knowledge** (silent): if new knowledge discovered (new enums, pitfalls, rule changes), append to `modus/sessions/pending-knowledge.yaml`; show one-line `[缓冲 {N} 条新知识 → 将在 /modus:commit 时沉淀到 Skill]`; if nothing new, stay silent. **Do NOT write to Skill files directly** — run `/modus:commit` to persist buffered knowledge.
32
- 10. Append session log to `modus/sessions/vibe-log.md`
32
+ 8. Execute the coding task with business context (Level 4 on-demand file reads)
33
+ 9. **Buffer new knowledge** (silent): if new knowledge discovered (new enums, pitfalls, rule changes), append to `modus/sessions/pending-knowledge.yaml`; show one-line `[缓冲 {N} 条新知识 → 将在 /modus:commit 时沉淀到 Skill]`; if nothing new, stay silent. **Do NOT write to knowledge files directly** — run `/modus:commit` to persist buffered knowledge.
34
+ 10. Append session log to `modus/sessions/vibe-log.md` (or `modus/artifacts/{story_id}/code/vibe-log.md` if story-bound)
33
35
 
34
36
  **Degraded mode** (no business Skills): proceed without domain context, note quality may be lower, show `[降级模式:无业务上下文,建议先运行 /modus:init]`.
35
37
 
@@ -38,35 +40,43 @@
38
40
  ```
39
41
  /modus:vibe 给歌曲列表接口加一个按状态筛选的功能
40
42
  /modus:vibe 订单支付回调逻辑有个 NPE,帮我排查
41
- /modus:vibe --domain biz-track 重构歌曲同步的重试机制
43
+ /modus:vibe --domain track 重构歌曲同步的重试机制
42
44
  /modus:vibe --verbose 分析专辑发行流程的性能瓶颈
43
45
  /modus:vibe --dry-run 优化版权审核的并发处理
44
46
  ```
45
47
 
46
- ## 知识加载策略(渐进三级)
48
+ ## 知识加载策略(v4.0 渐进四级)
47
49
 
48
50
  ```
49
51
  Level 1(必须,~200 tokens)
50
- 读 modus/knowledge-catalog.md
52
+ 读 modus/knowledge_base/map.md
51
53
  → 了解可用知识域,匹配当前任务相关域
52
54
 
53
- Level 2(按需,~3000 tokens/个)
54
- 仅读与任务语义匹配的 modus/knowledge/biz-*/SKILL.md
55
- 不相关的域不加载,节省 ~59% token
55
+ Level 2(按需,~500 tokens/域)
56
+ 仅读匹配域的入口:modus/knowledge_base/domain/{d}/code/SKILL.md
57
+ 含子文件索引,不预读子文件
56
58
 
57
- Level 3(执行时,无上限)
58
- Skill key_files 索引按需读取实际代码文件
59
+ Level 3(按需,~800 tokens/文件)
60
+ SKILL.md 索引读取 entities.md / apis.md / services.md / data-models.md
61
+ → 任务不涉及的子文件不加载
62
+
63
+ Level 4(执行时,无上限)
64
+ 从知识中的 key_files 索引按需读取实际代码文件
59
65
  → 绝不预先全量读取
66
+
67
+ # 业务规则与场景的特殊加载(按需)
68
+ modus/knowledge_base/domain/{d}/business/ ← 仅业务约束相关任务
69
+ modus/knowledge_base/domain/{d}/scenarios/ ← 仅 spec 阶段或测试视角
60
70
  ```
61
71
 
62
- ## 无业务 Skill 时的兜底
72
+ ## 无业务知识时的兜底
63
73
 
64
74
  ```
65
- ⚠️ 未找到业务知识库!建议先运行:/modus:init
75
+ ⚠️ 未找到业务知识库(modus/knowledge_base/)!建议先运行:/modus:init
66
76
  A. 现在运行快速初始化
67
77
  B. 继续(无业务上下文,结果质量可能降低)
68
78
  ```
69
79
 
70
80
  ## 执行此命令
71
81
 
72
- 读取并执行 `.codebuddy/skills/modus-vibe/SKILL.md` 中的完整流程。
82
+ 读取并执行 `.modus/skills/modus-vibe/SKILL.md` 中的完整流程(中性源;平台目录如 `.codebuddy/skills/modus-vibe/SKILL.md` 为引用桩)。
@@ -0,0 +1,69 @@
1
+ # {Domain} — 业务规则(人工维护层)
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/business/`
4
+ > **作用**:存放**强业务约束**与**领域知识**——这些内容**不能从代码自动提取**,必须由产品/业务/工程师人工沉淀。
5
+ > **特性**:`/modus:init` 不会覆盖本目录;强刷只更新 `code/`。
6
+
7
+ ---
8
+
9
+ ## 文件组织建议
10
+
11
+ ```
12
+ business/
13
+ ├── README.md # 本文件(入口与索引)
14
+ ├── rules-{topic}.md # 业务规则(如 rules-pricing.md, rules-permission.md)
15
+ ├── glossary.md # 业务术语表
16
+ ├── policies.md # 业务策略(运营规则、风控规则等)
17
+ └── decisions/ # 关键设计决策记录(ADR)
18
+ └── ADR-001-xxx.md
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 维护规范
24
+
25
+ 1. **谁维护**:业务专家 + 资深工程师,每月至少 review 一次
26
+ 2. **何时更新**:
27
+ - 新需求落地后,提炼出"代码无法表达的业务规则"
28
+ - 出现一次故障/客诉,且根因是"业务理解不一致"时
29
+ 3. **格式要求**:
30
+ - 每条规则有唯一 ID(如 `R-001`)
31
+ - 必须给出"为什么",而不只是"是什么"
32
+ - 关联 PID/Story ID(便于追溯)
33
+
34
+ ---
35
+
36
+ ## 与其他目录的关系
37
+
38
+ | 目录 | 关系 |
39
+ |------|------|
40
+ | `../code/` | 代码事实层;本目录是业务理解层 |
41
+ | `../scenarios/` | 测试场景;规则用于校验场景的正确性 |
42
+ | `../history/` | 历史变更;本目录的规则演变会写入 history |
43
+
44
+ ---
45
+
46
+ ## 示例:规则模板
47
+
48
+ ```markdown
49
+ # R-001:合同到期自动失效规则
50
+
51
+ **业务描述**:合同到期后,关联的所有授权场景自动失效,但已发生的结算保留。
52
+
53
+ **触发条件**:合同到期日 ≤ 当前日期
54
+
55
+ **影响范围**:
56
+ - 授权场景:标记 `disabled`
57
+ - 结算流水:保留历史,不再产生新流水
58
+ - 通知:到期前 7 天发送 alert
59
+
60
+ **业务依据**:合规要求(来自合同法 §X 条)
61
+
62
+ **关联 Story**:S-12345, S-23456
63
+
64
+ **最后更新**:2026-05-22 / 张三
65
+ ```
66
+
67
+ ---
68
+
69
+ > **维护提示**:本目录文件由人工创建/维护;`/modus:init` 仅在首次创建 README.md,后续不会覆盖本目录任何内容。
@@ -0,0 +1,94 @@
1
+ ---
2
+ schema_version: "4.0"
3
+ name: "biz-{domain}"
4
+ domain: "{domain}"
5
+ domain_zh: ""
6
+ stack: "" # java | frontend | go | python
7
+ generated_by: "/modus:init"
8
+ generated_at: ""
9
+ last_updated: ""
10
+ content_hash: "" # 用于防腐校验
11
+ usage_count: 0
12
+ decay_score: 0
13
+ ---
14
+
15
+ # {domain_zh}({domain})— 业务域知识入口
16
+
17
+ > **作用**:本业务域的知识入口,提供摘要 + 索引;详细知识在同目录的 `entities.md` / `apis.md` / `services.md` / `data-models.md`。
18
+ > **维护**:由 `/modus:init` 自动生成;如需手工增强,请在 `business/` 目录维护,**禁止直接编辑本目录**。
19
+
20
+ ---
21
+
22
+ ## 1. 一句话定位
23
+
24
+ (业务域是干什么的,为谁服务,核心价值)
25
+
26
+ ---
27
+
28
+ ## 2. 子文件索引
29
+
30
+ | 文件 | 内容 | 何时加载 |
31
+ |------|------|---------|
32
+ | `entities.md` | 核心业务实体(如:合同、艺人、专辑) | 涉及实体 CRUD |
33
+ | `apis.md` | 对外接口清单 | 涉及接口设计/调用 |
34
+ | `services.md` | 内部服务调用 + 跨域调用 | 涉及调用链分析 |
35
+ | `data-models.md` | 数据库表结构 + 主要字段 | 涉及数据迁移/查询 |
36
+
37
+ ---
38
+
39
+ ## 3. 关键实体快览(来自 entities.md)
40
+
41
+ | 实体 | 中文 | 关键字段 |
42
+ |------|------|---------|
43
+ | | | |
44
+
45
+ ---
46
+
47
+ ## 4. 关键接口快览(来自 apis.md)
48
+
49
+ | 接口 | 类型 | 用途 |
50
+ |------|------|------|
51
+ | | | |
52
+
53
+ ---
54
+
55
+ ## 5. 与其他域的关系
56
+
57
+ | 关联域 | 关系 | 接口 |
58
+ |-------|------|------|
59
+ | | 上游/下游/兄弟 | |
60
+
61
+ ---
62
+
63
+ ## 6. 业务规则入口(人工维护层)
64
+
65
+ > 详见 `../business/`。本节只列**最关键的 3-5 条**业务约束。
66
+
67
+ - ...
68
+
69
+ ---
70
+
71
+ ## 7. 测试场景入口
72
+
73
+ > 详见 `../scenarios/`。
74
+
75
+ ---
76
+
77
+ ## 8. 历史变更入口
78
+
79
+ > 详见 `../history/`。
80
+
81
+ ---
82
+
83
+ ## 9. 防腐元信息
84
+
85
+ ```yaml
86
+ content_hash: "" # 由 init 计算
87
+ last_full_refresh: ""
88
+ last_incremental_update: ""
89
+ related_stories_count: 0 # 关联过的 Story 数
90
+ ```
91
+
92
+ ---
93
+
94
+ > **维护规则**:本文件由 `/modus:init` 强刷重写;手工维护内容请放到 `../business/`。
@@ -0,0 +1,48 @@
1
+ # APIs — {domain} 接口清单
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/code/apis.md`
4
+ > **加载时机**:涉及接口设计/调用/契约对齐时
5
+
6
+ ---
7
+
8
+ ## 1. 对外接口(Inbound)
9
+
10
+ | 接口名 | 类型 | 路径/Topic | 调用方 | 关键参数 | 关键返回 | 关联场景 |
11
+ |-------|------|-----------|-------|---------|---------|---------|
12
+ | | HTTP/MQ/RPC | | | | | `../scenarios/` |
13
+
14
+ ---
15
+
16
+ ## 2. 调用下游接口(Outbound)
17
+
18
+ | 服务 | 接口 | 用途 | 超时 | 重试 | 降级 |
19
+ |------|------|------|------|------|------|
20
+ | | | | | | |
21
+
22
+ ---
23
+
24
+ ## 3. 接口详情
25
+
26
+ ### {APIName}
27
+
28
+ **契约**:
29
+
30
+ ```yaml
31
+ method: POST
32
+ path: /api/v1/...
33
+ request:
34
+ body:
35
+ field1: type
36
+ response:
37
+ code: int
38
+ data: object
39
+ msg: string
40
+ ```
41
+
42
+ **业务规则**:(参见 `../business/{rule}.md`)
43
+
44
+ **典型场景**:(参见 `../scenarios/{scenario}.md`)
45
+
46
+ ---
47
+
48
+ > 模板说明:接口数量过多时按"前台接口/后台接口/内部接口/批处理"拆分多文件。
@@ -0,0 +1,57 @@
1
+ # Data Models — {domain} 数据模型
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/code/data-models.md`
4
+ > **加载时机**:涉及数据迁移、复杂查询、字段含义对齐时
5
+
6
+ ---
7
+
8
+ ## 1. 数据库表清单
9
+
10
+ | 表名 | 用途 | 主键 | 关键索引 | 数据量级 |
11
+ |------|------|------|---------|---------|
12
+ | | | | | |
13
+
14
+ ---
15
+
16
+ ## 2. 表详情
17
+
18
+ ### {TableName}
19
+
20
+ **用途**:
21
+
22
+ **字段**:
23
+
24
+ | 字段名 | 类型 | 是否非空 | 含义 | 备注 |
25
+ |-------|------|---------|------|------|
26
+ | | | | | |
27
+
28
+ **索引**:
29
+
30
+ | 索引名 | 字段 | 类型 | 用途 |
31
+ |-------|------|------|------|
32
+ | | | unique/normal | |
33
+
34
+ **与实体的映射**:参见 `entities.md` 中的 `{EntityName}`
35
+
36
+ ---
37
+
38
+ ## 3. 数据生命周期
39
+
40
+ | 表 | 写入触发 | 更新规则 | 归档/删除策略 |
41
+ |----|---------|---------|--------------|
42
+ | | | | |
43
+
44
+ ---
45
+
46
+ ## 4. 跨表查询关键 SQL
47
+
48
+ > 仅记录"频繁出现且复杂"的关键查询,方便排障时直接复用。
49
+
50
+ ```sql
51
+ -- 查询说明
52
+ SELECT ...
53
+ ```
54
+
55
+ ---
56
+
57
+ > 模板说明:表数量过多时按"主业务表/扩展表/审计表"拆分多文件。
@@ -0,0 +1,45 @@
1
+ # Entities — {domain} 业务实体
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/code/entities.md`
4
+ > **加载时机**:涉及实体 CRUD、字段映射、状态流转时
5
+ > **维护**:`/modus:init` 自动扫描代码生成
6
+
7
+ ---
8
+
9
+ ## 实体清单
10
+
11
+ | 实体 ID | 中文 | 英文类名 | 数据表 | 所属包/模块 |
12
+ |---------|------|---------|-------|------------|
13
+ | | | | | |
14
+
15
+ ---
16
+
17
+ ## 实体详情
18
+
19
+ ### {EntityName}
20
+
21
+ **用途**:(一句话描述)
22
+
23
+ **关键字段**:
24
+
25
+ | 字段 | 类型 | 含义 | 是否必填 | 示例 |
26
+ |------|------|------|---------|------|
27
+ | | | | | |
28
+
29
+ **状态机**(如适用):
30
+
31
+ ```mermaid
32
+ stateDiagram-v2
33
+ [*] --> 初始
34
+ 初始 --> 处理中
35
+ 处理中 --> 已完成
36
+ ```
37
+
38
+ **关联关系**:
39
+
40
+ - 关联实体:(如 1:N、N:N)
41
+ - 外键:
42
+
43
+ ---
44
+
45
+ > 模板说明:每个实体一个二级标题;如实体过多(>10),考虑按子域拆为多个文件 `entities-<sub>.md`。
@@ -0,0 +1,51 @@
1
+ # Services — {domain} 服务调用图
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/code/services.md`
4
+ > **加载时机**:涉及调用链分析、跨域协作、依赖梳理时
5
+ > **关联**:与全局 `modus/knowledge_base/service-graph.md` 保持一致
6
+
7
+ ---
8
+
9
+ ## 1. 本域服务清单
10
+
11
+ | 服务名 | 类型 | 入口 | 主要职责 |
12
+ |-------|------|------|---------|
13
+ | | Controller/Provider/Job/Listener | | |
14
+
15
+ ---
16
+
17
+ ## 2. 域内调用关系
18
+
19
+ ```mermaid
20
+ graph LR
21
+ S1[ServiceA] --> S2[ServiceB]
22
+ S1 --> S3[ServiceC]
23
+ ```
24
+
25
+ ---
26
+
27
+ ## 3. 跨域调用
28
+
29
+ | 本域调用方 | 目标域 | 接口 | 用途 |
30
+ |-----------|-------|------|------|
31
+ | | | | |
32
+
33
+ ---
34
+
35
+ ## 4. 异步调用与事件
36
+
37
+ | 事件名 | 生产者 | 消费者 | 主题/队列 |
38
+ |-------|-------|-------|----------|
39
+ | | | | |
40
+
41
+ ---
42
+
43
+ ## 5. 调用约束
44
+
45
+ - 同步超时:默认 X ms
46
+ - 重试策略:
47
+ - 熔断阈值:
48
+
49
+ ---
50
+
51
+ > 模板说明:服务调用关系若超过 30 个节点,可拆分为子域文件。