add-coder 0.1.12 → 0.1.13

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 (30) hide show
  1. package/dist/index.js +25 -5
  2. package/package.json +1 -1
  3. package/templates/core/agents/add-flow-guardian.md +6 -6
  4. package/templates/core/agents/add-orchestrator.md +2 -2
  5. package/templates/core/plans/2026-07/08/{farm-agent-add-coder-npm-package-add-route-v1.md → add-coder-npm-package-add-route-v1.md} +9 -9
  6. package/templates/core/plans/2026-07/08/{farm-agent-add-coder-npm-package-handoff-v1.md → add-coder-npm-package-handoff-v1.md} +43 -43
  7. package/templates/core/plans/2026-07/08/{farm-agent-add-coder-npm-package-plan-v1.md → add-coder-npm-package-plan-v1.md} +47 -47
  8. package/templates/core/reports/REPORT-WORKFLOW.md +2 -2
  9. package/templates/core/reports/index.md +1 -1
  10. package/templates/core/rules/project_rules.md +29 -29
  11. package/templates/core/scripts/mcp-server.ts +17 -17
  12. package/templates/core/skills/add-paradigm/SKILL.md +18 -16
  13. package/templates/core/skills/session-init/SKILL.md +3 -3
  14. package/templates/core/specs/{farm-agent-add-coder-npm-package → add-coder-npm-package}/checklist.md +7 -7
  15. package/templates/core/specs/{farm-agent-add-coder-npm-package → add-coder-npm-package}/spec.md +12 -12
  16. package/templates/core/specs/{farm-agent-add-coder-npm-package → add-coder-npm-package}/tasks.md +17 -17
  17. package/templates/core/templates/01-/346/236/266/346/236/204//343/200/212ADD/345/274/200/345/217/221/345/267/245/344/275/234/350/267/257/345/276/204/344/270/216/346/226/207/346/241/243/345/215/217/345/220/214/350/247/204/350/214/203/343/200/213.md +25 -25
  18. package/templates/core/templates/TERMINOLOGY.md +1 -1
  19. package/templates/core/templates/checklist-template.md +1 -1
  20. package/templates/core/templates/handoff-multi-round-template.md +10 -10
  21. package/templates/core/templates/handoff-single-round-template.md +1 -1
  22. package/templates/core/templates/index.md +5 -1
  23. package/templates/core/templates/prd-incremental-template.md +103 -0
  24. package/templates/core/templates/prd-incremental-template.schema.json +32 -0
  25. package/templates/core/templates/prd-standard-template.md +219 -0
  26. package/templates/core/templates/prd-standard-template.schema.json +27 -0
  27. package/templates/core/templates/simple-plan-template.md +2 -2
  28. package/templates/core/templates/standard-plan-template.md +9 -9
  29. package/templates/core/tools/README.md +2 -2
  30. package/templates/core/vocabulary/add-governance-vocabulary.md +28 -26
@@ -0,0 +1,103 @@
1
+ # {需求名称} PRD 增量更新 v{版本号}
2
+
3
+ > PRD 增量模板:用于在已有 PRD 基础上追加/修改/删除需求。不是独立文档,是 PRD 的变更记录。
4
+ > 新建 PRD 请使用 `prd-standard-template.md`。
5
+
6
+ **创建时间**: {ISO 时间戳}
7
+ **作者**: {作者标识}
8
+ **状态**: 草稿 / 评审中 / 已确认
9
+ **基于 PRD**: `docs/{项目}/knowledge/00-需求/{原PRD文件名}.md` v{原版本号}
10
+
11
+ ---
12
+
13
+ ## 变更摘要
14
+
15
+ | 类型 | 数量 | 说明 |
16
+ |------|:--:|------|
17
+ | 新增 | N | {一句话} |
18
+ | 修改 | N | {一句话} |
19
+ | 删除 | N | {一句话} |
20
+
21
+ ---
22
+
23
+ ## 一、新增内容
24
+
25
+ ### 1.1 {新增项1标题}
26
+
27
+ {新增的功能描述、用户场景、验收标准等,格式与标准 PRD 对应章节一致}
28
+
29
+ ### 1.2 {新增项2标题}
30
+
31
+ {内容}
32
+
33
+ ---
34
+
35
+ ## 二、修改内容
36
+
37
+ ### 2.1 {修改项1标题}
38
+
39
+ > 原 PRD §{章节号} "{原章节标题}"
40
+
41
+ **变更前**:
42
+ {原有内容摘要}
43
+
44
+ **变更后**:
45
+ {修改后内容}
46
+
47
+ **变更原因**:{一句话}
48
+
49
+ ### 2.2 {修改项2标题}
50
+
51
+ > 原 PRD §{章节号} "{原章节标题}"
52
+
53
+ **变更前**:
54
+ {原有内容摘要}
55
+
56
+ **变更后**:
57
+ {修改后内容}
58
+
59
+ **变更原因**:{一句话}
60
+
61
+ ---
62
+
63
+ ## 三、删除内容
64
+
65
+ ### 3.1 {删除项1标题}
66
+
67
+ > 原 PRD §{章节号} "{原章节标题}"
68
+
69
+ **删除内容**:{被删除的内容摘要}
70
+
71
+ **删除原因**:{一句话}
72
+
73
+ ---
74
+
75
+ ## 四、Plan 拆分影响
76
+
77
+ > 本次变更是否影响了原 PRD 的 Plan 拆分建议?必填——增量改动可能改变 Plan 链路。
78
+
79
+ **影响判定**:无影响 / 新增 Plan / 调整 Plan 依赖 / 废弃 Plan
80
+
81
+ **变更后的 Plan 链路**:
82
+
83
+ ```text
84
+ {更新后的 Plan 链路,格式与标准 PRD §10.1 一致}
85
+ ```
86
+
87
+ ---
88
+
89
+ ## 五、裁决层影响
90
+
91
+ > 本次变更涉及哪些裁决规则的增删改?必填。
92
+
93
+ | 操作 | 规则 | 裁决条目 | 说明 |
94
+ |------|------|------|------|
95
+ | 新增 / 修改 / 删除 | {规则描述} | `[[caijue]] id="{entry-id}"` | {一句话} |
96
+
97
+ ---
98
+
99
+ ## 六、关联文档
100
+
101
+ | 类型 | 路径 | 说明 |
102
+ |------|------|------|
103
+ | 原 PRD | `docs/{项目}/knowledge/00-需求/{原PRD文件名}.md` | 本次更新基于的 PRD |
@@ -0,0 +1,32 @@
1
+ {
2
+ "template": "prd-incremental-template.md",
3
+ "description": "增量 PRD 校验只验证 ADD 交互接口——Plan 拆分影响 + 裁决层影响。变更内容本身是人工写作,不做结构校验。",
4
+ "sections": [
5
+ {
6
+ "id": "plan-impact",
7
+ "heading": "## 四、Plan 拆分影响",
8
+ "required": true,
9
+ "description": "增量改动必须声明是否影响原 PRD 的 Plan 拆分链路。"
10
+ },
11
+ {
12
+ "id": "caijuehub-impact",
13
+ "heading": "## 五、裁决层影响",
14
+ "required": true,
15
+ "description": "增量改动必须声明涉及哪些裁决规则的增删改。"
16
+ }
17
+ ],
18
+ "placeholders": [
19
+ "{需求名称}",
20
+ "{版本号}",
21
+ "{ISO 时间戳}",
22
+ "{作者标识}",
23
+ "{原PRD文件名}",
24
+ "{原版本号}"
25
+ ],
26
+ "forbidden_terms": [
27
+ "TBD",
28
+ "Phase",
29
+ "Step",
30
+ "Task"
31
+ ]
32
+ }
@@ -0,0 +1,219 @@
1
+ # {需求名称} PRD v{版本号}
2
+
3
+ > PRD 标准模板:用于新建产品需求文档。定义"做什么、为谁做、做到什么程度"。向下游 Plan/Review/Spec 提供唯一真值输入。
4
+ > 适用场景:系统级规划 | 功能/模块级需求 | AI 智能体能力定义。
5
+ > 修改已有 PRD 请使用 `prd-incremental-template.md`。
6
+ > 可选章节(§五 §六 §七 §九)按场景选用,不适用则删除。
7
+
8
+ **创建时间**: {ISO 时间戳}
9
+ **作者**: {作者标识}
10
+ **状态**: 草稿 / 评审中 / 已确认
11
+
12
+ ---
13
+
14
+ ## 一、背景与目标
15
+
16
+ ### 1.1 背景
17
+
18
+ {一句话描述当前面临的问题或机会}
19
+
20
+ ### 1.2 目标
21
+
22
+ - {目标1}
23
+ - {目标2}
24
+
25
+ ### 1.3 范围
26
+
27
+ | 维度 | 本次范围 | 明确不做 |
28
+ |------|---------|---------|
29
+ | {维度1} | {做} | {不做} |
30
+ | {维度2} | {做} | {不做} |
31
+
32
+ ---
33
+
34
+ ## 二、目标用户与场景
35
+
36
+ ### 2.1 用户角色
37
+
38
+ | 角色 | 描述 | 核心诉求 |
39
+ |------|------|---------|
40
+ | {角色1} | {一句话} | {诉求} |
41
+ | {角色2} | {一句话} | {诉求} |
42
+
43
+ ### 2.2 核心场景
44
+
45
+ | 场景 | 触发条件 | 预期行为 | 优先级 |
46
+ |------|---------|---------|:--:|
47
+ | {场景1} | {条件} | {行为} | P0 |
48
+ | {场景2} | {条件} | {行为} | P1 |
49
+
50
+ ---
51
+
52
+ ## 三、功能需求
53
+
54
+ ### 3.1 功能清单
55
+
56
+ | 编号 | 功能 | 描述 | 优先级 |
57
+ |:----|------|------|:--:|
58
+ | F1 | {功能名} | {一句话描述} | P0 |
59
+ | F2 | {功能名} | {一句话描述} | P1 |
60
+
61
+ ### 3.2 功能详述
62
+
63
+ #### F1: {功能名称}
64
+
65
+ - **输入**: {用户输入/系统输入}
66
+ - **处理逻辑**: {核心流程}
67
+ - **输出**: {预期产出}
68
+ - **交互说明**: {UI 交互要点,无 UI 则写"无"}
69
+
70
+ #### F2: {功能名称}
71
+
72
+ - **输入**: {用户输入/系统输入}
73
+ - **处理逻辑**: {核心流程}
74
+ - **输出**: {预期产出}
75
+ - **交互说明**: {UI 交互要点}
76
+
77
+ ---
78
+
79
+ ## 四、非功能需求
80
+
81
+ | 类别 | 要求 |
82
+ |------|------|
83
+ | 性能 | {如:页面加载 < 2s} |
84
+ | 安全 | {如:所有 API 需认证} |
85
+ | 可用性 | {如:支持主流浏览器} |
86
+ | 数据 | {如:操作日志保留 90 天} |
87
+
88
+ ---
89
+
90
+ ## 五、智能体能力契约(仅 AI 智能体 PRD 时使用)
91
+
92
+ > 本章节定义智能体的能力边界和裁决逻辑。非智能体需求可删除。
93
+
94
+ ### 5.1 能力清单
95
+
96
+ | 能力 | 描述 | 触发条件 | 输出格式 |
97
+ |------|------|---------|---------|
98
+ | {能力1} | {描述} | {何时触发} | {输出 schema} |
99
+
100
+ ### 5.2 裁决规则
101
+
102
+ 当多个能力冲突时,按以下优先级裁决:
103
+
104
+ 1. {规则1}
105
+ 2. {规则2}
106
+
107
+ ### 5.3 能力边界
108
+
109
+ - **能做**: {范围}
110
+ - **不能做**: {边界约束}
111
+ - **降级策略**: {能力不可用时的 fallback}
112
+
113
+ ---
114
+
115
+ ## 六、系统架构约束(仅系统级规划时使用)
116
+
117
+ > 本章节定义顶层架构的硬约束。功能级需求可删除。
118
+
119
+ ### 6.1 子系统划分
120
+
121
+ | 子系统 | 职责 | 边界 |
122
+ |--------|------|------|
123
+ | {子系统1} | {职责} | {边界} |
124
+
125
+ ### 6.2 技术选型约束
126
+
127
+ | 层级 | 选型 | 约束条件 |
128
+ |------|------|---------|
129
+ | {前端/后端/数据} | {技术} | {条件} |
130
+
131
+ ---
132
+
133
+ ## 七、接口与数据(涉及 API / 数据模型时使用)
134
+
135
+ > 本章节定义关键接口契约和数据模型。不涉及可删除。
136
+
137
+ ### 7.1 关键接口
138
+
139
+ | 接口 | 方法 | 路径 | 说明 |
140
+ |------|:--:|------|------|
141
+ | {接口名} | GET/POST | `/api/...` | {说明} |
142
+
143
+ ### 7.2 核心数据实体
144
+
145
+ | 实体 | 核心字段 | 关系 |
146
+ |------|---------|------|
147
+ | {实体1} | {字段列表} | {关联} |
148
+
149
+ ---
150
+
151
+ ## 八、验收标准
152
+
153
+ - [ ] {验收条件1}
154
+ - [ ] {验收条件2}
155
+ - [ ] {验收条件3}
156
+
157
+ ---
158
+
159
+ ## 九、MVP 范围与迭代计划
160
+
161
+ > 单次交付无需拆分时,写"本次全部交付"即可。需分阶段时填写。
162
+
163
+ | 阶段 | 范围 | 交付物 | 预计工期 |
164
+ |:----|------|------|------|
165
+ | Phase 1 核心 | {核心功能集合} | {交付物} | {周数} |
166
+ | Phase 2 增强 | {增强功能} | {交付物} | {周数} |
167
+
168
+ ---
169
+
170
+ ## 十、Plan 拆分建议
171
+
172
+ > 本章节指导下游 AI 如何将本 PRD 拆分为 Plan。必填——没有这条,AI 拿到 PRD 不知道从哪下手。
173
+
174
+ ### 10.1 推荐 Plan 链路
175
+
176
+ ```text
177
+ Plan 1: {plan名称} ── 聚焦: {子功能描述}
178
+ │ 依赖: 无
179
+
180
+ Plan 2: {plan名称} ── 聚焦: {子功能描述}
181
+ │ 依赖: Plan 1 完成的 {产出物}
182
+
183
+ Plan 3: {plan名称} ── 聚焦: {子功能描述}
184
+ 依赖: Plan 2 完成的 {产出物}
185
+ ```
186
+
187
+ ### 10.2 Plan 间依赖说明
188
+
189
+ | 依赖关系 | 原因 |
190
+ |---------|------|
191
+ | Plan 2 依赖 Plan 1 | {为什么必须先做 Plan 1} |
192
+ | Plan 3 依赖 Plan 2 | {为什么必须先做 Plan 2} |
193
+
194
+ ---
195
+
196
+ ## 十一、裁决层关联
197
+
198
+ > 本章节列出本 PRD 涉及的规则和边界,哪些建议集中到 `caijue.toml` 管理。必填——PRD 中的约束不进入裁决层,等于没有被强制执行。
199
+
200
+ ### 11.1 建议集中裁决的规则
201
+
202
+ | 规则 | 类型 | 建议裁决条目 | 说明 |
203
+ |------|------|------|------|
204
+ | {规则描述} | edge / strategy / contract | `[[caijue]] id="{entry-id}"` | {一句话} |
205
+
206
+ ### 11.2 边界约束
207
+
208
+ | 约束 | 说明 |
209
+ |------|------|
210
+ | {边界1} | {如:禁止跨 Expert 共享 Collection} |
211
+ | {边界2} | {如:单次检索 topK 上限 20} |
212
+
213
+ ---
214
+
215
+ ## 十二、关联文档
216
+
217
+ | 类型 | 路径 | 说明 |
218
+ |------|------|------|
219
+ | 相关需求 | `docs/{项目}/knowledge/00-需求/{关联PRD}.md` | {与本文档的关系} |
@@ -0,0 +1,27 @@
1
+ {
2
+ "template": "prd-standard-template.md",
3
+ "description": "PRD 校验只验证与 ADD 体系的交互接口——Plan 拆分建议 + 裁决层关联。内部需求章节是人工写作内容,不做结构校验。",
4
+ "sections": [
5
+ {
6
+ "id": "plan-split",
7
+ "heading": "## 十、Plan 拆分建议",
8
+ "required": true,
9
+ "description": "PRD 必须给出推荐 Plan 拆分链路和 Plan 间依赖关系。没有这个,AI 拿到 PRD 不知道如何落地为 Plan。"
10
+ },
11
+ {
12
+ "id": "caijuehub-link",
13
+ "heading": "## 十一、裁决层关联",
14
+ "required": true,
15
+ "description": "PRD 必须列出建议集中到 caijue.toml 管理的规则和边界约束。约束不进裁决层等于没有被强制执行。"
16
+ }
17
+ ],
18
+ "placeholders": [
19
+ "{需求名称}",
20
+ "{版本号}",
21
+ "{ISO 时间戳}",
22
+ "{作者标识}"
23
+ ],
24
+ "forbidden_terms": [
25
+ "TBD"
26
+ ]
27
+ }
@@ -130,7 +130,7 @@ ORDER BY "createdAt" DESC;
130
130
  - grep 验证命令:
131
131
 
132
132
  ```bash
133
- grep -R "{关键字}" .qoder/
133
+ grep -R "{关键字}" {{magicDir}}/
134
134
  ```
135
135
 
136
136
  ### 4.9 后置确认
@@ -163,4 +163,4 @@ Handoff 文档中 **禁止出现** 以下硬编码值:
163
163
  | 类型 | 路径 |
164
164
  |------|------|
165
165
  | Handoff | 见本文第四部分 |
166
- | Review | `.qoder/reviews/{name}-review-v{版本}.md` |
166
+ | Review | `{{magicDir}}/reviews/{name}-review-v{版本}.md` |
@@ -8,9 +8,9 @@
8
8
  - **启动时间**: {ISO 时间戳}
9
9
  - **主导 AI**: {AI 助手标识}
10
10
  - **关联文档**:
11
- - ADD Route: `.qoder/plans/{YYYY-MM}/{DD}/{需求域名}-{核心内容}-add-route-v{版本}.md`
12
- - Handoff: `.qoder/plans/{YYYY-MM}/{DD}/{需求域名}-{核心内容}-handoff-v{版本}.md`
13
- - Review: `.qoder/reviews/{需求域名}-review-v{版本}.md`
11
+ - ADD Route: `{{magicDir}}/plans/{YYYY-MM}/{DD}/{需求域名}-{核心内容}-add-route-v{版本}.md`
12
+ - Handoff: `{{magicDir}}/plans/{YYYY-MM}/{DD}/{需求域名}-{核心内容}-handoff-v{版本}.md`
13
+ - Review: `{{magicDir}}/reviews/{需求域名}-review-v{版本}.md`
14
14
  - **ADD-7 审计策略**:
15
15
 
16
16
  | 文件 | targetType | action | beforeState | afterState | 状态 |
@@ -88,9 +88,9 @@ Task 6 (编译/测试)
88
88
 
89
89
  | 文档 | 路径 |
90
90
  |------|------|
91
- | ADD Route | `.qoder/plans/...` |
92
- | Handoff | `.qoder/plans/...` |
93
- | Review | `.qoder/reviews/...` |
94
- | Spec | `.qoder/specs/{name}/spec.md` |
95
- | Tasks | `.qoder/specs/{name}/tasks.md` |
96
- | Checklist | `.qoder/specs/{name}/checklist.md` |
91
+ | ADD Route | `{{magicDir}}/plans/...` |
92
+ | Handoff | `{{magicDir}}/plans/...` |
93
+ | Review | `{{magicDir}}/reviews/...` |
94
+ | Spec | `{{magicDir}}/specs/{name}/spec.md` |
95
+ | Tasks | `{{magicDir}}/specs/{name}/tasks.md` |
96
+ | Checklist | `{{magicDir}}/specs/{name}/checklist.md` |
@@ -207,7 +207,7 @@ class AddToolProvider {
207
207
 
208
208
  **实现方式**:
209
209
  ```typescript
210
- // .qoder/tools/index.ts - 工具注册中心
210
+ // {{magicDir}}/tools/index.ts - 工具注册中心
211
211
  export interface ToolDefinition {
212
212
  name: string
213
213
  description: string
@@ -358,4 +358,4 @@ export function integrateWithCopilot(executor: ToolExecutor) {
358
358
  - **互补关系**:Skill 定义"应该怎么做",Tools 提供"怎么执行"
359
359
 
360
360
  通过 Tools 机制,可以让 AI 助手从"只能建议代码"升级为"可以直接执行开发操作",形成真正的 AI 编程助手生态。</content>
361
- <parameter name="filePath">{{projectRoot}}/.qoder/tools/README.md
361
+ <parameter name="filePath">{{projectRoot}}/{{magicDir}}/tools/README.md
@@ -16,19 +16,20 @@
16
16
 
17
17
  | 触发词 | LLM 默认操作 | 优先级 |
18
18
  |--------|-------------|--------|
19
- | `Plan` / `plan` | **二段式**: ①先读 `.qoder/plans/index.md` planName 匹配路径(P0 优先);②无匹配才全局 glob 搜索 `*-plan-v*.md`。**禁止跳过 index.md 直接 glob** | 🔴 P0 |
20
- | `Spec` / `spec` | `.qoder/specs/{name}/spec.md` | 🔴 P0 |
21
- | `Tasks` / `tasks` | 查 `.qoder/specs/{name}/tasks.md` | 🟡 P1 |
22
- | `Checklist` / `checklist` | 查 `.qoder/specs/{name}/checklist.md` | 🟡 P1 |
23
- | `Review` / `review` | **二段式**: ①先读 `.qoder/plans/index.md` 定位 plan → 查其关联 Review;②无匹配才全局 glob `*-review*.md` | 🔴 P0 |
24
- | `review-implementation` | `.qoder/reviews/` `*-review-implementation*.md` | 🟡 P1 |
25
- | `review-runtime` | 查 `.qoder/reviews/` 下 `*-review-runtime*.md` | 🟡 P1 |
26
- | `Handoff` / `handoff` / `交接` | **二段式**: ①先读 `.qoder/plans/index.md` planName 匹配路径 → 定位 handoff;②无匹配才全局 glob `*-handoff*.md` | 🔴 P0 |
27
- | `add-route` / `执行路线图` | **二段式**: ①先读 `.qoder/plans/index.md` 定位 plan查其 add-route;②调 `check_add_route_status`;③无匹配才全局 glob | 🔴 P0 |
19
+ | `PRD` / `prd` / `需求文档` / `产品需求` | ①新建:读 `prd-standard-template.md` `docs/*/knowledge/00-需求/`;②增量:读 `prd-incremental-template.md` 在已有PRD基础上追加/修改 | 🟡 P1 |
20
+ | `Plan` / `plan` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 按 planName 匹配路径(P0 优先);②无匹配才全局 glob 搜索 `*-plan-v*.md`。**禁止跳过 index.md 直接 glob** | 🔴 P0 |
21
+ | `Spec` / `spec` | 查 `{{magicDir}}/specs/{name}/spec.md` | 🔴 P0 |
22
+ | `Tasks` / `tasks` | 查 `{{magicDir}}/specs/{name}/tasks.md` | 🟡 P1 |
23
+ | `Checklist` / `checklist` | `{{magicDir}}/specs/{name}/checklist.md` | 🟡 P1 |
24
+ | `Review` / `review` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 定位 plan → 查其关联 Review;②无匹配才全局 glob `*-review*.md` | 🔴 P0 |
25
+ | `review-implementation` | 查 `{{magicDir}}/reviews/` 下 `*-review-implementation*.md` | 🟡 P1 |
26
+ | `review-runtime` | `{{magicDir}}/reviews/` `*-review-runtime*.md` | 🟡 P1 |
27
+ | `Handoff` / `handoff` / `交接` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` planName 匹配路径 定位 handoff;②无匹配才全局 glob `*-handoff*.md` | 🔴 P0 |
28
+ | `add-route` / `执行路线图` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 定位 plan → 查其 add-route;②调 `check_add_route_status`;③无匹配才全局 glob | 🔴 P0 |
28
29
  | `devlog` / `开发日志` | **双触发**: ①用户说"devlog 记录下"→ 立即写;②Step 8 收敛通过 → 自动写(无需提醒)| 🔴 P0 |
29
- | `index.md` / `Plan索引` | 读 `.qoder/plans/index.md`(匹配依赖优先)。**当用户问及任何 doc 类型(Plan/Review/Handoff/add-route)但未给明确路径时,此条优先于上述所有 doc 类型触发词执行** | 🔴 P0 |
30
- | `gateway.md` / `gateway报告` / `运行时报告` | 读 `.qoder/reports/{{projectName}}-runtime-report/gateway.md` | 🟡 P1 |
31
- | `report-handoff` / `report交接` | 读 `.qoder/templates/report-handoff-template.md` | 🟡 P1 |
30
+ | `index.md` / `Plan索引` | 读 `{{magicDir}}/plans/index.md`(匹配依赖优先)。**当用户问及任何 doc 类型(Plan/Review/Handoff/add-route)但未给明确路径时,此条优先于上述所有 doc 类型触发词执行** | 🔴 P0 |
31
+ | `gateway.md` / `gateway报告` / `运行时报告` | 读 `{{magicDir}}/reports/{{projectName}}-runtime-report/gateway.md` | 🟡 P1 |
32
+ | `report-handoff` / `report交接` | 读 `{{magicDir}}/templates/report-handoff-template.md` | 🟡 P1 |
32
33
 
33
34
  ---
34
35
 
@@ -132,7 +133,7 @@ LLM: "所有 checklist 项 [x],RAHS ≥ 90,add-route 闭环。验收通过
132
133
  LLM: "所有 checklist 项 [x],RAHS ≥ 90,add-route 闭环。验收通过!"
133
134
 
134
135
  ① 写 devlog日志(走mcp) → Edit handoff 写入验收记录(本轮改了什么 + 验收结果 + 遗留项)
135
- ② 更新 handoff → Write(".qoder/plans/{date}/xxx-handoff-v1.md", "handoff 模板内容")
136
+ ② 更新 handoff → Write("{{magicDir}}/plans/{date}/xxx-handoff-v1.md", "handoff 模板内容")
136
137
  ③ 架构文档回看 → Read 相关 specs,确认文档不落后于代码
137
138
 
138
139
  [LLM 执行完以上三步后才算真正结束]
@@ -147,7 +148,7 @@ LLM: "让我搜索所有 plan 文件..." [全局 Grep 所有 *.md,慢且可能
147
148
 
148
149
  **正确输出**:
149
150
  ```
150
- LLM: "先查索引 → Read('.qoder/plans/index.md') 查找相关 Plan 条目"
151
+ LLM: "先查索引 → Read('{{magicDir}}/plans/index.md') 查找相关 Plan 条目"
151
152
  [如有匹配 → 直接定位文件;无匹配 → 再用 Grep 全局搜索]
152
153
  ```
153
154
 
@@ -163,7 +164,7 @@ LLM 词汇匹配: "plan" 命中 → 第 19 行 → Glob("**/*-plan-v*.md") / fin
163
164
  **正确输出**:
164
165
  ```
165
166
  LLM 词汇匹配: "plan" 命中 → 第 19 行二段式:
166
- ① Read('.qoder/plans/index.md') — 搜索 "three-tier-reasoning-graph"
167
+ ① Read('{{magicDir}}/plans/index.md') — 搜索 "three-tier-reasoning-graph"
167
168
  → 命中 06/29/{{projectName}}-three-tier-reasoning-graph-plan-v3.md
168
169
  → 命中 06/29/{{projectName}}-three-tier-reasoning-graph-handoff-v3.md
169
170
  → 命中 06/29/{{projectName}}-three-tier-reasoning-graph-add-route-v3.md
@@ -244,7 +245,7 @@ LLM: "验收通过 → 自动写 devlog日志(走mcp)(无需用户提醒)→
244
245
  > **消费者**: IDE 侧 LLM + 未来治理 AI
245
246
  > **设计意图**: 将 ADD 范式专有词汇和操作惯例预埋到 always-on 上下文中,使 LLM 听到触发词时零额外 prompt 执行正确操作。
246
247
  > **优先级**: P0 = 日常高频,LLM 必须本能响应;P1 = 开发流程频繁涉及,应预埋;P2 = 低频但易误解,可选预埋。
247
- > **维护**: 单一真值源,被 `.qoder/rules/project_rules.md` 和 `AGENTS.md` 引用。
248
+ > **维护**: 单一真值源,被 `{{magicDir}}/rules/project_rules.md` 和 `AGENTS.md` 引用。
248
249
 
249
250
  ---
250
251
 
@@ -252,18 +253,19 @@ LLM: "验收通过 → 自动写 devlog日志(走mcp)(无需用户提醒)→
252
253
 
253
254
  | 优先级 | 触发词 | LLM 默认操作 |
254
255
  |:--:|------|-------------|
255
- | P0 | `index.md` / `Plan索引` / `看依赖` / `依赖哪个plan` / `看下计划` / `相关计划` / `某个plan` | **Plan 查询入口** 先读 `.qoder/plans/index.md` planName/主题精确匹配 plan 路径,无结果再全局搜索 |
256
- | P0 | `Plan` / `plan` | **二段式**: ①先读 `.qoder/plans/index.md` planName 匹配路径;②无匹配才全局 glob。**index.md 优先** |
257
- | P0 | `Spec` / `spec` | `.qoder/specs/{name}/spec.md` |
258
- | P1 | `Tasks` / `tasks` | 查 `.qoder/specs/{name}/tasks.md` |
259
- | P1 | `Checklist` / `checklist` | 查 `.qoder/specs/{name}/checklist.md` |
260
- | P0 | `Review` / `review` | **二段式**: ①先读 `.qoder/plans/index.md` 定位 plan → 读关联 Review;②无匹配才全局 glob |
261
- | P0 | `Handoff` / `handoff` / `交接` | **二段式**: ①先读 `.qoder/plans/index.md` 定位 plan → handoff;②无匹配才全局 glob |
262
- | P0 | `add-route` / `执行路线图` | **二段式**: ①先读 `.qoder/plans/index.md` 定位 plan → 读 add-route;②调 `check_add_route_status`;③无匹配才全局 glob |
256
+ | P0 | `PRD` / `prd` / `需求文档` / `产品需求` | ①新建:读 `prd-standard-template.md` `docs/*/knowledge/00-需求/`;②增量:读 `prd-incremental-template.md` 在已有PRD基础上追加/修改 |
257
+ | P1 | `增量更新 PRD` / `修改PRD` / `PRD变更` | `prd-incremental-template.md` 在原 PRD 上追加/修改/删除 |
258
+ | P0 | `Plan` / `plan` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 按 planName 匹配路径;②无匹配才全局 glob。**index.md 优先** |
259
+ | P0 | `Spec` / `spec` | 查 `{{magicDir}}/specs/{name}/spec.md` |
260
+ | P1 | `Tasks` / `tasks` | 查 `{{magicDir}}/specs/{name}/tasks.md` |
261
+ | P1 | `Checklist` / `checklist` | `{{magicDir}}/specs/{name}/checklist.md` |
262
+ | P0 | `Review` / `review` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 定位 plan → 读关联 Review;②无匹配才全局 glob |
263
+ | P0 | `Handoff` / `handoff` / `交接` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 定位 plan → 读 handoff;②无匹配才全局 glob |
264
+ | P0 | `add-route` / `执行路线图` | **二段式**: ①先读 `{{magicDir}}/plans/index.md` 定位 plan → 读 add-route;②调 `check_add_route_status`;③无匹配才全局 glob |
263
265
  | P0 | `devlog` / `开发日志` / `devlog记录` | **两种触发**: ①用户说即写 → 调用 `record_dev_operation` 落库审计 + 更新 handoff 的验收记录(本轮改了什么/验收结果/devlog查询语句/遗留项);②Step 8 收敛通过后 → **必须自动写**(无需用户提醒) |
264
266
  | P0 | `增量更新` / `增量` / `incremental` / `修改文档` / `调整文档` | 修改已有 Plan/Spec/Review/handoff/task/checklist 文档时,**必须在原有内容基础上插入或扩展**,禁止删除已有内容后全量重写。具体:保留原文结构 → 插入新段落 → 更新修订时间 → 变更对照表标注增量范围 |
265
- | P1 | `review-implementation` | 查 `.qoder/reviews/` 下 `*-review-implementation*.md` |
266
- | P1 | `review-runtime` | 查 `.qoder/reviews/` 下 `*-review-runtime*.md` |
267
+ | P1 | `review-implementation` | 查 `{{magicDir}}/reviews/` 下 `*-review-implementation*.md` |
268
+ | P1 | `review-runtime` | 查 `{{magicDir}}/reviews/` 下 `*-review-runtime*.md` |
267
269
  | P1 | `计划` / `规划` | 同 `Plan`——二段式查 index.md → Plan 文件 |
268
270
  | P1 | `规格书` / `spec文档` | 同 `Spec`——查 specs/{name}/spec.md |
269
271
  | P1 | `任务清单` / `task列表` | 同 `Tasks`——查 specs/{name}/tasks.md |