@modus-ai/modus 0.2.11 → 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 (98) 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 +37 -0
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +215 -0
  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 +5 -1
  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 +3 -2
  24. package/dist/generators/continue.d.ts.map +1 -1
  25. package/dist/generators/continue.js +11 -5
  26. package/dist/generators/continue.js.map +1 -1
  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 +15 -10
  33. package/dist/generators/cursor.js.map +1 -1
  34. package/dist/generators/custom.d.ts +2 -2
  35. package/dist/generators/custom.js +1 -1
  36. package/dist/generators/index.d.ts.map +1 -1
  37. package/dist/generators/index.js +7 -0
  38. package/dist/generators/index.js.map +1 -1
  39. package/dist/generators/modus.d.ts +12 -0
  40. package/dist/generators/modus.d.ts.map +1 -0
  41. package/dist/generators/modus.js +225 -0
  42. package/dist/generators/modus.js.map +1 -0
  43. package/package.json +1 -1
  44. package/schemas/harness-schema.yaml +13 -13
  45. package/templates/agents/modus-analyst.md +2 -2
  46. package/templates/agents/modus-deployer.md +1 -1
  47. package/templates/agents/modus-designer.md +1 -1
  48. package/templates/agents/modus-developer.md +1 -1
  49. package/templates/agents/modus-perf-auditor.md +1 -1
  50. package/templates/agents/modus-reviewer.md +1 -1
  51. package/templates/agents/modus-security-auditor.md +1 -1
  52. package/templates/agents/modus-skill-creator.md +1 -1
  53. package/templates/agents/modus-tester.md +1 -1
  54. package/templates/commands/auto.md +3 -1
  55. package/templates/commands/commit.md +11 -5
  56. package/templates/commands/cr.md +14 -10
  57. package/templates/commands/harness.md +27 -18
  58. package/templates/commands/init.md +56 -23
  59. package/templates/commands/modus.md +33 -11
  60. package/templates/commands/plan.md +23 -19
  61. package/templates/commands/spec.md +30 -17
  62. package/templates/commands/upgrade.md +50 -38
  63. package/templates/commands/vibe.md +30 -20
  64. package/templates/domain-business-readme.md +69 -0
  65. package/templates/domain-code/SKILL.md +94 -0
  66. package/templates/domain-code/apis.md +48 -0
  67. package/templates/domain-code/data-models.md +57 -0
  68. package/templates/domain-code/entities.md +45 -0
  69. package/templates/domain-code/services.md +51 -0
  70. package/templates/domain-history-readme.md +60 -0
  71. package/templates/domain-scenarios-readme.md +58 -0
  72. package/templates/knowledge-base-map.md +78 -0
  73. package/templates/knowledge-base-service-graph.md +100 -0
  74. package/templates/knowledge-catalog.md +38 -43
  75. package/templates/paths-v4.md +156 -0
  76. package/templates/rules/modus-workflow/RULE.mdc +45 -38
  77. package/templates/skills/modus-agents/analyst/SKILL.md +1 -1
  78. package/templates/skills/modus-agents/developer/SKILL.md +1 -1
  79. package/templates/skills/modus-agents/reviewer/SKILL.md +1 -1
  80. package/templates/skills/modus-agents/skill-creator/SKILL.md +3 -3
  81. package/templates/skills/modus-auto/SKILL.md +19 -19
  82. package/templates/skills/modus-cr/SKILL.md +1 -1
  83. package/templates/skills/modus-design-brief/SKILL.md +3 -3
  84. package/templates/skills/modus-harness/SKILL.md +5 -5
  85. package/templates/skills/modus-init/SKILL.md +64 -64
  86. package/templates/skills/modus-init/shared/frontmatter-spec.md +2 -2
  87. package/templates/skills/modus-init/shared/stack-detection.md +1 -1
  88. package/templates/skills/modus-init/strategies/fallback-init.md +1 -1
  89. package/templates/skills/modus-plan/SKILL.md +6 -6
  90. package/templates/skills/modus-platform/SKILL.md +1 -1
  91. package/templates/skills/modus-spec/SKILL.md +1 -1
  92. package/templates/skills/modus-vibe/SKILL.md +10 -10
  93. package/templates/template/analysis.md +83 -0
  94. package/templates/template/design.md +160 -0
  95. package/templates/template/pid.md +97 -0
  96. package/templates/template/plan.md +91 -0
  97. package/templates/template/spec.md +78 -0
  98. package/templates/template/sprint-contract.md +101 -0
@@ -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 个节点,可拆分为子域文件。
@@ -0,0 +1,60 @@
1
+ # {Domain} — 知识演变历史(History)
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/history/`
4
+ > **作用**:增量变更历史。**最新版本写入 `code/`**,旧版本归档于此,形成可追溯的演变链。
5
+ > **维护**:`/modus:init` 强刷时自动归档旧版本;命令归档(`/modus:auto --archive`)时按 Story 写入。
6
+
7
+ ---
8
+
9
+ ## 文件命名规范
10
+
11
+ ```
12
+ history/
13
+ ├── README.md
14
+ ├── 2026-05-22-init.md # 首次初始化快照
15
+ ├── 2026-06-10-S12345.md # 关联 Story 的变更
16
+ ├── 2026-07-01-refactor.md # 重构变更
17
+ └── snapshots/ # 整目录快照(重大重构前)
18
+ └── 2026-08-15-pre-refactor/
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 文件内容模板
24
+
25
+ ```markdown
26
+ # {YYYY-MM-DD} — {Change Title}
27
+
28
+ ## 元信息
29
+ - 触发:(init / story / refactor / manual)
30
+ - 关联 Story:S-12345
31
+ - 涉及文件:code/entities.md, code/apis.md
32
+ - 变更摘要:
33
+
34
+ ## 关键 Diff(人类可读)
35
+ - 新增:实体 `XxxBO`,字段 `yyy`
36
+ - 修改:接口 `/api/v1/foo` 入参从 `bar` 改为 `baz`
37
+ - 删除:废弃的 `OldService.process`
38
+
39
+ ## 业务影响
40
+ (变更是否破坏向后兼容?是否需要灰度?)
41
+
42
+ ## 评审记录
43
+ | 评审人 | 意见 |
44
+ |-------|------|
45
+ | | |
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 检索方式
51
+
52
+ | 场景 | 检索路径 |
53
+ |------|---------|
54
+ | 历史相似 Story | grep `S-XXXXX` history/*.md |
55
+ | 某个实体的演变 | grep `EntityName` history/*.md |
56
+ | 某段时间的所有变更 | ls history/2026-Q2-*.md |
57
+
58
+ ---
59
+
60
+ > **维护提示**:本目录**只追加,不删除**(除非显式手工清理 snapshots/)。
@@ -0,0 +1,58 @@
1
+ # {Domain} — 测试场景(Test Scenarios)
2
+
3
+ > **路径**:`modus/knowledge_base/domain/{domain}/scenarios/`
4
+ > **作用**:场景化接口调用链 + 端到端用例,供**测试团队消费**与**spec 阶段引用**。
5
+ > **特性**:人工维护为主;命令也可写入(如 `/modus:spec` 完成时回写)。
6
+
7
+ ---
8
+
9
+ ## 文件组织
10
+
11
+ ```
12
+ scenarios/
13
+ ├── README.md # 本文件
14
+ ├── e2e-{flow}.md # 端到端流程(如 e2e-purchase.md)
15
+ ├── api-chain-{topic}.md # 接口调用链(如 api-chain-checkout.md)
16
+ ├── data-prep.md # 测试数据准备
17
+ └── matrix.md # 兼容性/参数矩阵
18
+ ```
19
+
20
+ ---
21
+
22
+ ## 场景模板
23
+
24
+ ```markdown
25
+ # Scenario: 新增专辑分发主流程
26
+
27
+ ## 前置数据
28
+ - 用户:`uid=10086`,类型=个人
29
+ - 专辑:`album_id=A001`,状态=待审核
30
+
31
+ ## 调用链
32
+
33
+ | 步骤 | 接口 | 参数 | 预期返回 |
34
+ |------|------|------|---------|
35
+ | 1 | POST /api/album/submit | {...} | 200, status=pending |
36
+ | 2 | GET /api/album/A001 | — | status=pending |
37
+ | 3 | POST /admin/album/approve | {id: A001} | 200 |
38
+ | 4 | GET /api/album/A001 | — | status=approved |
39
+
40
+ ## 验收点
41
+ - [ ] 状态机正确流转
42
+ - [ ] 审核日志写入
43
+ - [ ] 通知发送
44
+ ```
45
+
46
+ ---
47
+
48
+ ## 与其他资产的关联
49
+
50
+ | 关联 | 说明 |
51
+ |------|------|
52
+ | `../code/apis.md` | 场景使用的接口定义 |
53
+ | `../business/` | 场景背后的业务规则 |
54
+ | `modus/artifacts/<id>/code/spec/` | spec 命令产出的 Gherkin 场景 |
55
+
56
+ ---
57
+
58
+ > **维护提示**:本目录优先服务于"测试团队、spec 阶段、回归测试";命令侧仅在用户显式触发时写入。
@@ -0,0 +1,78 @@
1
+ # Knowledge Base Map — 知识库地图(v4.0)
2
+
3
+ > **路径**:`modus/knowledge_base/map.md`
4
+ > **作用**:所有 Modus 命令的 Level 1 入口(~200 tokens 加载);提供"部门 → 团队 → 项目 → 业务域"四层索引。
5
+ > **维护**:由 `/modus:init` 自动生成与刷新;用户可手工补充团队/项目元信息。
6
+
7
+ ---
8
+
9
+ ## 1. 项目元信息
10
+
11
+ ```yaml
12
+ project: "" # 项目英文名
13
+ project_zh: "" # 项目中文名
14
+ department: "" # 所属部门
15
+ team: "" # 所属团队
16
+ primary_stack: "" # java | frontend | go | python | mixed
17
+ modus_version: "4.0"
18
+ last_init_at: ""
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 2. 业务域索引(Domain Catalog)
24
+
25
+ > 每个 domain 对应 `modus/knowledge_base/domain/<domain>/`。
26
+
27
+ | Domain | 名称 | 入口 Skill | 业务规则 | 测试场景 | 历史 |
28
+ |--------|------|-----------|---------|---------|------|
29
+ | `_conventions` | 团队约定 | `domain/_conventions/code/SKILL.md` | — | — | — |
30
+ | `_tech-wiki` | 技术 Wiki | `domain/_tech-wiki/code/SKILL.md` | — | — | — |
31
+ | `<domain>` | (示例:合同域) | `domain/<domain>/code/SKILL.md` | `domain/<domain>/business/` | `domain/<domain>/scenarios/` | `domain/<domain>/history/` |
32
+
33
+ ---
34
+
35
+ ## 3. 服务调用全图
36
+
37
+ > 详见 `modus/knowledge_base/service-graph.md`。本节仅作快速索引。
38
+
39
+ - 当前注册服务数:N
40
+ - 跨域调用关系:见 service-graph.md §2
41
+ - 外部依赖:见 service-graph.md §3
42
+
43
+ ---
44
+
45
+ ## 4. 加载策略(命令执行时按需读取)
46
+
47
+ ```
48
+ L0 modus/knowledge_base/map.md # ~200 tokens(必读)
49
+ L1 modus/knowledge_base/domain/<d>/code/SKILL.md # ~500 tokens(按域)
50
+ L2 modus/knowledge_base/domain/<d>/code/{entities|apis|services|data-models}.md # ~800 tokens/个(按需)
51
+ L3 modus/knowledge_base/domain/<d>/business/ # 业务规则(仅业务约束相关任务)
52
+ L4 modus/knowledge_base/domain/<d>/scenarios/ # 测试场景(仅 spec 阶段或测试)
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 5. 与产物的关联
58
+
59
+ | 阶段 | 产物路径 | 引用知识 |
60
+ |------|---------|---------|
61
+ | 需求澄清 | `modus/artifacts/<id>/pid/` | `domain/<d>/business/` |
62
+ | 评估设计 | `modus/artifacts/<id>/design/` | `domain/<d>/code/`, `service-graph.md` |
63
+ | 编码实施 | `modus/artifacts/<id>/code/` | 全部 |
64
+ | 上线归档 | `modus/artifacts/<id>/archive/` | 反向写入 `domain/<d>/history/` |
65
+
66
+ ---
67
+
68
+ ## 6. 跨项目工作区路由(如适用)
69
+
70
+ > 多项目工作区在仓库根有 `workspace-catalog.md`,列出每个子项目的 `modus/knowledge_base/map.md` 路径。
71
+
72
+ | 子项目 | 路径 |
73
+ |--------|------|
74
+ | | `<sub>/modus/knowledge_base/map.md` |
75
+
76
+ ---
77
+
78
+ > **维护提示**:本文件由 `/modus:init` 强刷生成;如需手工补充,请使用 `> [人工补充]` 注释段落,避免被覆盖。