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
@@ -7,12 +7,12 @@ description: "Audit-Driven Development paradigm workflow. Invoke when starting a
7
7
 
8
8
  本 Skill 引导你按照 ADD 范式完成功能开发。每次开始新功能、修复 Bug、或修改系统行为时,必须按此工作流执行。
9
9
 
10
- **范式边界**(定义在 `.qoder/rules/project_rules.md` ADD-0):
10
+ **范式边界**(定义在 `{{magicDir}}/rules/project_rules.md` ADD-0):
11
11
  - ADD 是开发阶段编程范式,不是运行时范式
12
12
  - 反馈闭环消费者:IDE 中的 AI 助手 + 编程人员
13
13
  - 运行时范式(裁决层/能力模型)是独立的下一步演化
14
14
 
15
- **核心原则**(始终生效,定义在 `.qoder/rules/project_rules.md`):
15
+ **核心原则**(始终生效,定义在 `{{magicDir}}/rules/project_rules.md`):
16
16
  - ADD-0:范式边界与消费者定义
17
17
  - ADD-0.1:广义文档先行(Documentation First)— Plan → Review → Spec → Code → Checklist → runtime-review → 回归校准。详细流程约束见 ADD-9~ADD-12
18
18
  - ADD-1:可观测性优先于功能实现
@@ -47,7 +47,7 @@ description: "Audit-Driven Development paradigm workflow. Invoke when starting a
47
47
  > **Plan 是后续 ADD 工作流的输入。** 生成 plan 后如需执行,才启动下方 Step 0。
48
48
 
49
49
  1. **读取模板**:读 `plan-template.md`,禁止凭记忆
50
- 2. **命名规范**:`{项目名}-{功能名}-plan-v1.md` → `.qoder/plans/{YYYY-MM}/{DD}/`(按当天日期创建子目录)
50
+ 2. **命名规范**:`{项目名}-{功能名}-plan-v1.md` → `{{magicDir}}/plans/{YYYY-MM}/{DD}/`(按当天日期创建子目录)
51
51
  3. **必含章节**:
52
52
  - 元信息(名称/时间/关联文档/ADD-7审计策略表)
53
53
  - 一、背景与目标
@@ -84,10 +84,12 @@ description: "Audit-Driven Development paradigm workflow. Invoke when starting a
84
84
  | 规范文档 | `docs/*/knowledge/02-规范/` 或 `03-规范/` | 开发规范、状态机规范、核心规范 |
85
85
  | AI 核心文档 | `docs/*/knowledge/03-规范/` | AI 智能体核心规范 |
86
86
 
87
- **此外,ADD 工作流的核心产物由 `.qoder/templates/` 下的 11 个模板定义**,这些模板不是参考资料,而是每次变更必须产出的文档骨架。分析变更影响范围时,必须同步确认需要创建/更新哪些模板产物:
87
+ **此外,ADD 工作流的核心产物由 `{{magicDir}}/templates/` 下的 13 个模板定义**,这些模板不是参考资料,而是每次变更必须产出的文档骨架。分析变更影响范围时,必须同步确认需要创建/更新哪些模板产物:
88
88
 
89
89
  | 模板 | 用途 | 对应阶段 |
90
90
  |------|------|---------|
91
+ | `prd-standard-template.md` | 产品/系统需求文档(新建):背景目标 + 用户场景 + 功能需求 + 非功能需求 + 验收标准 | 需求定义 |
92
+ | `prd-incremental-template.md` | 产品/系统需求文档(增量):在已有 PRD 基础上追加/修改/删除 | 需求变更 |
91
93
  | `plan-template.md` | 需求方案:元信息 + 背景目标 + 方案选型 + 架构设计 + 实施步骤 + 验收标准 + ADD-7审计策略 | 需求理解 |
92
94
  | `add-route-template.md` | Plan→ADD 十阶段执行映射:Step 0-9 具体动作 + Task 映射表 + 审计阶段清单 + 依赖拓扑 | Step 0 |
93
95
  | `spec-template.md` | 功能规格:Why / What Changes / Impact / WHEN-THEN Requirements | Step 0~1 |
@@ -100,7 +102,7 @@ description: "Audit-Driven Development paradigm workflow. Invoke when starting a
100
102
  | `handoff-single-round-template.md` | 单轮交接:9 章节(含恢复上下文审计查询) | 单轮变更完成后 |
101
103
  | `handoff-multi-round-template.md` | 多轮交接:全局拓扑 + 每轮 13 子章节 + 收敛规则 + 启动模板 | 多轮原子事务完成后 |
102
104
 
103
- > **AI 首次学习 ADD 范式时,必须读取上述全部 11 个模板文件。遗漏模板 = 遗漏范式全貌。**
105
+ > **AI 首次学习 ADD 范式时,必须读取上述全部 13 个模板文件。遗漏模板 = 遗漏范式全貌。**
104
106
  >
105
107
  > **每次根据模板生成文档时(plan/spec/review/handoff),MUST 先重新读取对应的模板文件,再填充内容。禁止凭记忆生成——模板可能已在迭代中更新,记忆中的版本可能不完整。**
106
108
 
@@ -147,7 +149,7 @@ find_related_docs({ query: "功能关键词" })
147
149
  4. **ADD-7 审计策略**:从 Plan 元信息 ADD-7 策略表复制,逐文件填写 targetType/action/beforeState/afterState
148
150
  5. **文件清单**:汇总所有涉及文件的 targetType 和操作类型
149
151
 
150
- **命名**:`{需求域名}-{核心内容}-add-route-v1.md` → `.qoder/plans/{YYYY-MM}/{DD}/`(与 Plan 同目录)
152
+ **命名**:`{需求域名}-{核心内容}-add-route-v1.md` → `{{magicDir}}/plans/{YYYY-MM}/{DD}/`(与 Plan 同目录)
151
153
 
152
154
  **关键约束**:
153
155
  - [ ] add-route 必须先于任何代码变更生成(Step 1 依赖 add-route 中的审计阶段清单)
@@ -173,7 +175,7 @@ find_related_docs({ query: "功能关键词" })
173
175
  > **核心原则**:Review 是诊断报告,Plan 是治疗方案。诊断报告的结论必须写进治疗方案,病人才能按修正后的方案治疗。
174
176
 
175
177
  **什么时候触发**:
176
- - Plan Review 已生成(`.qoder/reviews/{需求域名}-*review-v{n}.md` 存在)
178
+ - Plan Review 已生成(`{{magicDir}}/reviews/{需求域名}-*review-v{n}.md` 存在)
177
179
  - Review 中有 P0/P1/P2 问题清单
178
180
  - 人类已确认 Review 结论(通过评审)
179
181
 
@@ -332,7 +334,7 @@ Plan 级闭包: {业务功能描述}
332
334
 
333
335
  ## 附录 A:协作文档规范(命名、格式与交互规则)
334
336
 
335
- > **目标**:确保 `.qoder/specs/`、`.qoder/reviews/` 下的 spec/review/handoff 文件遵循统一的命名和格式约定,使后续 AI Session 能快速定位和恢复上下文。
337
+ > **目标**:确保 `{{magicDir}}/specs/`、`{{magicDir}}/reviews/` 下的 spec/review/handoff 文件遵循统一的命名和格式约定,使后续 AI Session 能快速定位和恢复上下文。
336
338
 
337
339
  **在编写任何代码之前,必须先确认本附录中的文件结构已就位。**
338
340
 
@@ -340,9 +342,9 @@ Plan 级闭包: {业务功能描述}
340
342
 
341
343
  | 文档类型 | 命名规则 | 示例 | 存放位置 |
342
344
  |---------|---------|------|---------|
343
- | 开发任务(specs 三元组) | `项目名-任务名/` | `{{projectName}}-response-strategy/` | `.qoder/specs/` |
344
- | review 文件 | `项目名-任务名-round{N}-review.md` | `{{projectName}}-response-strategy-round2-review.md` | `.qoder/reviews/` |
345
- | handoff 文件 | `项目名-需求名-handoff.md` | `{{projectName}}-co-agent-handoff.md` | `.qoder/plans/{YYYY-MM}/{DD}/`(与 Plan 同目录) |
345
+ | 开发任务(specs 三元组) | `项目名-任务名/` | `{{projectName}}-response-strategy/` | `{{magicDir}}/specs/` |
346
+ | review 文件 | `项目名-任务名-round{N}-review.md` | `{{projectName}}-response-strategy-round2-review.md` | `{{magicDir}}/reviews/` |
347
+ | handoff 文件 | `项目名-需求名-handoff.md` | `{{projectName}}-co-agent-handoff.md` | `{{magicDir}}/plans/{YYYY-MM}/{DD}/`(与 Plan 同目录) |
346
348
 
347
349
  **命名规则说明**:
348
350
 
@@ -357,7 +359,7 @@ Plan 级闭包: {业务功能描述}
357
359
  每个 spec 目录 MUST 包含三个文件,形成"需求→执行→验收"闭环:
358
360
 
359
361
  ```
360
- .qoder/specs/{任务名}/
362
+ {{magicDir}}/specs/{任务名}/
361
363
  ├── spec.md # 需求定义:Why / What Changes / Impact / Boundaries / Requirements
362
364
  ├── tasks.md # 执行拆分:Preconditions / Forbidden / Tasks / Dependencies / Verification
363
365
  └── checklist.md # 验收清单:编号验证项,每条可追溯到 tasks.md 的 Task
@@ -747,7 +749,7 @@ check_add_route_completeness({ planKeyword: "<Plan 核心关键词>" })
747
749
 
748
750
  ### 3.5.1 运行 spec checklist
749
751
 
750
- 检查 `.qoder/specs/{task}/checklist.md` 中的所有检查项:
752
+ 检查 `{{magicDir}}/specs/{task}/checklist.md` 中的所有检查项:
751
753
 
752
754
  - `[T]` 编译期验证项:逐项执行并勾选
753
755
  - `[R]` 运行时验证项:保持 `[ ]`,将自动流转到 review-runtime.md
@@ -774,7 +776,7 @@ check_add_route_completeness({ planKeyword: "<Plan 核心关键词>" })
774
776
  当所有 `[T]` 项均通过后:
775
777
 
776
778
  1. 读取 `review-runtime-template.md`
777
- 2. 复制为 `.qoder/reviews/{project}-review-runtime.md`
779
+ 2. 复制为 `{{magicDir}}/reviews/{project}-review-runtime.md`
778
780
  3. 替换占位符(标题、关联文档路径)
779
781
  4. §1 发现列表初始化为"尚无运行时发现"
780
782
  5. §1 末尾自动插入所有 `[R]` 项的"待运行时验证"清单
@@ -1019,7 +1021,7 @@ LIMIT 10;
1019
1021
  - **§9 后置确认**:逐项确认 tsc/ADD 合规/审计落库
1020
1022
  3. **审计查询语句必须可执行**:`query_audit_logs({ targetId: "..." })` 调用参数来自 `record_dev_operation` 落库的 targetId
1021
1023
  4. **双向链接**:handoff 文件内必须包含指向对应 plan + review 的链接;review 文件内必须包含指向 handoff 的链接
1022
- 5. **写入位置**:`{项目名}-{需求名}-handoff.md` → `.qoder/plans/`
1024
+ 5. **写入位置**:`{项目名}-{需求名}-handoff.md` → `{{magicDir}}/plans/`
1023
1025
 
1024
1026
  ### 未收敛
1025
1027
 
@@ -1038,7 +1040,7 @@ LIMIT 10;
1038
1040
 
1039
1041
  ### 9.1 读取 report-handoff 模板
1040
1042
 
1041
- 读取 `.qoder/templates/report-handoff-template.md`,按模板格式在 handoff 中追加 Report Closure 章节。
1043
+ 读取 `{{magicDir}}/templates/report-handoff-template.md`,按模板格式在 handoff 中追加 Report Closure 章节。
1042
1044
 
1043
1045
  ### 9.2 在 handoff 中追加 Report Closure 章节
1044
1046
 
@@ -39,7 +39,7 @@ description: "会话上下文恢复(稀疏推理)。每次新对话启动时
39
39
  ### 1.1 搜索 review-runtime.md 文件
40
40
 
41
41
  ```bash
42
- find .qoder/reviews/ -name "*review-runtime*" -type f 2>/dev/null
42
+ find {{magicDir}}/reviews/ -name "*review-runtime*" -type f 2>/dev/null
43
43
  ```
44
44
 
45
45
  ### 1.2 逐文件检查未关闭发现
@@ -100,7 +100,7 @@ query_audit_logs({ action: "RUNTIME_ERROR" }) // ADD-11: 运行时异
100
100
  ### 2.4 加载 Plan 索引(L2 操作惯性 — index.md 预载)
101
101
 
102
102
  ```
103
- 读取 .qoder/plans/index.md
103
+ 读取 {{magicDir}}/plans/index.md
104
104
  ```
105
105
 
106
106
  **预期产出**:
@@ -208,7 +208,7 @@ get_project_context({ scope: "add-state" })
208
208
 
209
209
  ## 本 SKILL 的执行检查清单
210
210
 
211
- - [ ] Step 1: 已扫描 `.qoder/reviews/*review-runtime*` 并汇总未关闭发现
211
+ - [ ] Step 1: 已扫描 `{{magicDir}}/reviews/*review-runtime*` 并汇总未关闭发现
212
212
  - [ ] Step 2: 已调用 `query_audit_logs({})`(含 `RUNTIME_ERROR` 查询)
213
213
  - [ ] Step 3: 已分析审计日志推断上下文
214
214
  - [ ] Step 4: 已构建上下文摘要
@@ -35,9 +35,9 @@
35
35
  - [ ] [E] `.claude/settings.json` 含 hook 配置,matcher 使用标准工具名(`Write`, `Edit`, `Bash`)
36
36
  - [ ] [E] `.claude/mcp.json` 存在且格式正确
37
37
  - [ ] [E] `.claude/hooks/` 下 12 个脚本存在且可执行
38
- - [ ] [T] `npx add-coder init --adapter qoder` 生成正确的 `.qoder/` 目录 — 证据: (待填写)|审计: (待填写)
39
- - [ ] [E] `.qoder/settings.json` matcher 使用双套工具名(`Write|write_to_file`, `Edit|edit_file`, `Bash`)
40
- - [ ] [E] `.qoder/hooks/` 下 12 个脚本 + `lib/` 存在
38
+ - [ ] [T] `npx add-coder init --adapter qoder` 生成正确的 `{{magicDir}}/` 目录 — 证据: (待填写)|审计: (待填写)
39
+ - [ ] [E] `{{magicDir}}/settings.json` matcher 使用双套工具名(`Write|write_to_file`, `Edit|edit_file`, `Bash`)
40
+ - [ ] [E] `{{magicDir}}/hooks/` 下 12 个脚本 + `lib/` 存在
41
41
  - [ ] [T] `npx add-coder init --adapter vscode` 生成正确的 `.vscode/` 目录 — 证据: (待填写)|审计: (待填写)
42
42
  - [ ] [E] `.vscode/settings.json`、`launch.json`、`tasks.json`、`extensions.json` 存在
43
43
 
@@ -74,7 +74,7 @@
74
74
  - [ ] [T] `--force` 和 `--yes` 互斥,同时指定时报错 — 证据: (待填写)|审计: (待填写)
75
75
  - [ ] [T] `add-coder sync` 只同步缺失文件 — 证据: (待填写)|审计: (待填写)
76
76
  - [ ] [T] `add-coder status` 检查完整性 — 证据: (待填写)|审计: (待填写)
77
- - [ ] [T] 已有 `.qoder/settings.json` 时 `init` 不覆盖,展示 diff 并交互确认 — 证据: (待填写)|审计: (待填写)
77
+ - [ ] [T] 已有 `{{magicDir}}/settings.json` 时 `init` 不覆盖,展示 diff 并交互确认 — 证据: (待填写)|审计: (待填写)
78
78
  - [ ] [T] 单元测试:`renderer.ts`、`config-loader.ts`、`detect.ts`、`writer.ts` 全部通过 — 证据: (待填写)|审计: (待填写)
79
79
 
80
80
  ---
@@ -90,7 +90,7 @@
90
90
 
91
91
  > ADD 用双层报告替代传统 E2E:代码审查报告(review-implementation.md + review-runtime.md)覆盖实现质量,
92
92
  > Runtime Report 体系(gateway.md + boundary-runtime-report.md)覆盖边界合约持续监测。
93
- > 参考: `policy-update-loop.ts` 的持续反馈闭环模式 + `.qoder/reports/REPORT-WORKFLOW.md`。
93
+ > 参考: `policy-update-loop.ts` 的持续反馈闭环模式 + `{{magicDir}}/reports/REPORT-WORKFLOW.md`。
94
94
 
95
95
  - [ ] [T] `review-implementation.md` 已生成,覆盖全部 9 个 Task 的变更范围 — 证据: (待填写)|审计: (待填写)
96
96
  - [ ] [T] `review-runtime.md` 已生成(含本 checklist 全部 `[R]` 项清单) — 证据: (待填写)|审计: (待填写)
@@ -108,7 +108,7 @@
108
108
  - [ ] [E] Plan/Spec 一致性 — 证据: `check_spec_sync` 结果|审计: (待填写)
109
109
  - [ ] [E] Plan/Spec 修订记录 — 证据: `record_dev_operation` 审计 ID|审计: (待填写)
110
110
  - [ ] [E] 无新增依赖(模板引擎等) — 证据: `git diff package.json` 无新增 dependency|审计: (待填写)
111
- - [ ] [E] 不改 farm-agent 业务代码 — 证据: 仅改动 `packages/add-coder/`|审计: (待填写)
111
+ - [ ] [E] 不改 add-coder 业务代码 — 证据: 仅改动 `packages/add-coder/`|审计: (待填写)
112
112
  - [ ] [E] 审计日志记录完整 — 证据: `query_audit_logs` 回查确认|审计: (待填写)
113
113
 
114
114
  ---
@@ -118,7 +118,7 @@
118
118
  > 当所有 `[T]` 和 `[E]` 编译期检查项均为 `[x]` 时(`[R]` 和 `[H]` 项可保持 `[ ]`),AI 必须执行:
119
119
  >
120
120
  > 1. **读取** `review-implementation-template.md`,逐项填写实现审查内容
121
- > 2. **读取** `review-runtime-template.md`,复制为 `.qoder/reviews/{project}-review-runtime.md`
121
+ > 2. **读取** `review-runtime-template.md`,复制为 `{{magicDir}}/reviews/{project}-review-runtime.md`
122
122
  > - 替换占位符(标题、关联文档路径)
123
123
  > - §1 发现列表初始化为 "尚无运行时发现"
124
124
  > - §1 末尾自动插入本 checklist 中所有 `[R]` 项的清单,标记为 "待运行时验证"
@@ -4,7 +4,7 @@
4
4
 
5
5
  当前 `packages/add-coder/` 是一个不可发布的半成品:
6
6
 
7
- 1. **模板硬编码**:`templates/` 下所有文件直接来自 farm-agent 项目,包含数据库密码、项目名、特定路径等不可移植内容
7
+ 1. **模板硬编码**:`templates/` 下所有文件直接来自 add-coder 项目,包含数据库密码、项目名、特定路径等不可移植内容
8
8
  2. **CLI 纯搬运**:`bin/add-coder.js`(113 行 CommonJS)只有 `init/sync/status` 三个命令,全是 `fs.copyFileSync`,无参数化渲染、无配置合并
9
9
  3. **无适配层抽象**:`.qoder` 和 `.vscode` 是两套独立静态模板,无共享逻辑。加 Claude 适配需要再复制一套
10
10
  4. **VS Code 无 hook 层**:`.vscode/` 只有 MCP 配置,缺少 Qoder 的 11 个 hook 等价物
@@ -75,14 +75,14 @@
75
75
  ## Impact
76
76
 
77
77
  - Affected specs: 无(本 Plan 为全新举措)
78
- - Affected code: `packages/add-coder/`(约 90 个文件变更),不修改 farm-agent 业务代码
79
- - 父 Plan: `.qoder/plans/2026-07/08/farm-agent-add-coder-npm-package-plan-v1.md`
78
+ - Affected code: `packages/add-coder/`(约 90 个文件变更),不修改 add-coder 业务代码
79
+ - 父 Plan: `{{magicDir}}/plans/2026-07/08/add-coder-add-coder-npm-package-plan-v1.md`
80
80
  - 依赖: 无
81
81
  - 后续依赖: 无
82
82
 
83
83
  ## Boundaries
84
84
 
85
- - 本次只改造 `packages/add-coder/` 目录,不修改 farm-agent 业务代码
85
+ - 本次只改造 `packages/add-coder/` 目录,不修改 add-coder 业务代码
86
86
  - 本次不新增 AgentAuditPhase 字面量(npm 包工程化,无业务逻辑审计点)
87
87
  - 审计通过 `record_dev_operation`(ADD-7)落库 DevOperation 表
88
88
  - 模板引擎不引入第三方依赖(Handlebars/EJS 等),用 TypeScript 原生字符串替换
@@ -121,7 +121,7 @@
121
121
 
122
122
  ### Requirement: 模板参数化(硬编码清理)
123
123
 
124
- 系统 SHALL 将 `templates/` 下所有文件中的 farm-agent 硬编码替换为 `{{placeholder}}` 占位符。
124
+ 系统 SHALL 将 `templates/` 下所有文件中的 add-coder 硬编码替换为 `{{placeholder}}` 占位符。
125
125
 
126
126
  #### Scenario: 占位符语法
127
127
 
@@ -174,11 +174,11 @@
174
174
  #### Scenario: 三目录部署(core 内容同步到 IDE magic path)
175
175
 
176
176
  - **WHEN** 执行 `init` 渲染 core 模板后
177
- - **THEN** `templates/core/` 的所有文件 SHALL 同时写入 `.add/`、`.qoder/`、`.claude/` 三个目标目录
177
+ - **THEN** `templates/core/` 的所有文件 SHALL 同时写入 `.add/`、`{{magicDir}}/`、`.claude/` 三个目标目录
178
178
  - **AND** adapter renderers SHALL 只处理 adapter 专属文件(hooks/mcp.json/settings.json/sync-policy.json),不再单独渲染 core 内容
179
179
 
180
180
  **改造步骤**:
181
- 1. `src/core/renderer.ts`:`renderCore()` 返回值改为输出三份文件的映射(`.add/` + `.qoder/` + `.claude/`)
181
+ 1. `src/core/renderer.ts`:`renderCore()` 返回值改为输出三份文件的映射(`.add/` + `{{magicDir}}/` + `.claude/`)
182
182
  2. `src/cli/commands/init.ts`:写入阶段对三目录同名文件去重(内容相同则 skip)
183
183
  3. `src/adapters/{claude,qoder,vscode}/renderer.ts`:删除 core 渲染逻辑,只保留 hooks + mcp + settings 等 adapter 专属文件
184
184
 
@@ -201,7 +201,7 @@
201
201
  #### Scenario: Qoder 适配器
202
202
 
203
203
  - **WHEN** 执行 `npx add-coder init --adapter qoder`
204
- - **THEN** 生成正确的 `.qoder/` 目录,hook 配置 matcher 适配双套工具名(`Write|write_to_file`, `Edit|edit_file`, `Bash`)
204
+ - **THEN** 生成正确的 `{{magicDir}}/` 目录,hook 配置 matcher 适配双套工具名(`Write|write_to_file`, `Edit|edit_file`, `Bash`)
205
205
 
206
206
  #### Scenario: VS Code 适配器
207
207
 
@@ -272,7 +272,7 @@
272
272
 
273
273
  #### Scenario: JSON 合并
274
274
 
275
- - **WHEN** 用户已有 `.qoder/settings.json` 或 `.vscode/settings.json`
275
+ - **WHEN** 用户已有 `{{magicDir}}/settings.json` 或 `.vscode/settings.json`
276
276
  - **THEN** deep merge,已有 `hooks` 数组追加新 hook 而非全量替换
277
277
 
278
278
  ---
@@ -331,12 +331,12 @@
331
331
  #### Scenario: 空项目 init
332
332
 
333
333
  - **WHEN** 在空白项目中执行 `npx add-coder init`
334
- - **THEN** `.add/` `.qoder/` `.claude/` 三目录均含完整 ADD 内容(agents/skills/templates/rules/vocabulary/scripts/hooks/plans/specs/reports/tools),`.vscode/` 含 IDE 配置
334
+ - **THEN** `.add/` `{{magicDir}}/` `.claude/` 三目录均含完整 ADD 内容(agents/skills/templates/rules/vocabulary/scripts/hooks/plans/specs/reports/tools),`.vscode/` 含 IDE 配置
335
335
 
336
336
  #### Scenario: plans/specs 示例
337
337
 
338
338
  - **WHEN** 用户首次 init
339
- - **THEN** `.qoder/plans/` 含 add-coder 6轮范例,`.qoder/specs/` 含 spec/tasks/checklist 范例
339
+ - **THEN** `{{magicDir}}/plans/` 含 add-coder 6轮范例,`{{magicDir}}/specs/` 含 spec/tasks/checklist 范例
340
340
 
341
341
  #### Scenario: 三端兼容
342
342
 
@@ -345,7 +345,7 @@
345
345
 
346
346
  #### Scenario: 已有配置不覆盖
347
347
 
348
- - **WHEN** 用户已有 `.qoder/settings.json` 时执行 `init`
348
+ - **WHEN** 用户已有 `{{magicDir}}/settings.json` 时执行 `init`
349
349
  - **THEN** 不覆盖已有配置,展示 diff 并交互确认
350
350
 
351
351
  #### Scenario: Prisma 迁移幂等
@@ -9,7 +9,7 @@
9
9
 
10
10
  ## Forbidden
11
11
 
12
- - 禁止修改 farm-agent 业务代码(`src/`、`docs/` 等)
12
+ - 禁止修改 add-coder 业务代码(`src/`、`docs/` 等)
13
13
  - 禁止引入第三方模板引擎(Handlebars/EJS 等)
14
14
  - 禁止在模板代码中保留 `process.env.X || "兜底值"` 反模式
15
15
 
@@ -30,23 +30,23 @@
30
30
  - [x] 已有 `add.prisma` 时:交互三选一(跳过/覆盖/diff+备份)
31
31
 
32
32
  - [x] Task 1.1: 清理硬编码 + 参数化 core 模板 — 验证: `grep -r "farm.agent\|farm_secure_pass\|大田精准\|/home/xmm\|/Users/milkytea" templates/` 返回空
33
- - [x] 15 个 `.md` 模板(plan/spec/tasks/checklist/handoff/review/add-route 等):`docs/大田精准耕播智能决策系统/` → `{{docsDir}}/`、`farm-agent-*` → `{{projectName}}-*`
33
+ - [x] 15 个 `.md` 模板(plan/spec/tasks/checklist/handoff/review/add-route 等):`docs/大田精准耕播智能决策系统/` → `{{docsDir}}/`、`add-coder-*` → `{{projectName}}-*`
34
34
  - [x] 15 个 `.schema.json`:检查确认无硬编码
35
- - [x] `skills/add-paradigm/SKILL.md`:`/home/xmm/ai/farm-agent/` → `{{projectRoot}}/`
36
- - [x] `skills/session-init/SKILL.md`:`farm-agent-*` → `{{projectName}}-*`
35
+ - [x] `skills/add-paradigm/SKILL.md`:`/home/xmm/ai/add-coder/` → `{{projectRoot}}/`
36
+ - [x] `skills/session-init/SKILL.md`:`add-coder-*` → `{{projectName}}-*`
37
37
  - [x] `agents/add-flow-guardian.md`:检查确认
38
38
  - [x] `agents/add-orchestrator.md`:检查确认
39
- - [x] `rules/project_rules.md`:`farm-agent` → `{{projectName}}`、`src/agents/` → `{{sourceDir}}/agents/`
39
+ - [x] `rules/project_rules.md`:`add-coder` → `{{projectName}}`、`src/agents/` → `{{sourceDir}}/agents/`
40
40
  - [x] `rules/theory-practice-map.toml`:检查确认
41
41
  - [x] `vocabulary/add-governance-vocabulary.md`:检查确认
42
42
  - [x] `scripts/mcp-server.ts`:`DATABASE_URL || "postgresql://..."` → `process.env.DATABASE_URL`(无兜底值)、`.env.development` → `{{envFilePath}}`
43
43
  - [x] `scripts/add-coder-mcp-server.ts`:同上
44
- - [x] `.qoder/settings.json`:hook 脚本绝对路径 → `{{projectRoot}}/.qoder/hooks/`
45
- - [x] `.qoder/mcp.json`:`DATABASE_URL` 硬编码密码 → `process.env.DATABASE_URL`
46
- - [x] `.qoder/sync-policy.json`:检查确认
47
- - [x] `.qoder/hooks/` 下 14 个 `.sh` + `lib/`:项目名提取逻辑 → 使用 `$CLAUDE_PROJECT_DIR` 或 `{{projectRoot}}`
44
+ - [x] `{{magicDir}}/settings.json`:hook 脚本绝对路径 → `{{projectRoot}}/{{magicDir}}/hooks/`
45
+ - [x] `{{magicDir}}/mcp.json`:`DATABASE_URL` 硬编码密码 → `process.env.DATABASE_URL`
46
+ - [x] `{{magicDir}}/sync-policy.json`:检查确认
47
+ - [x] `{{magicDir}}/hooks/` 下 14 个 `.sh` + `lib/`:项目名提取逻辑 → 使用 `$CLAUDE_PROJECT_DIR` 或 `{{projectRoot}}`
48
48
  - [x] `.vscode/` 下 4 个文件:MCP 配置中的项目特定路径 → `{{projectRoot}}`
49
- - [x] `reports/` 下 7 个文件:`farm-agent`、绝对路径 → `{{projectName}}`、`{{projectRoot}}`
49
+ - [x] `reports/` 下 7 个文件:`add-coder`、绝对路径 → `{{projectName}}`、`{{projectRoot}}`
50
50
  - [x] `tools/README.md`:检查确认
51
51
  - [x] 创建 `src/core/renderer.ts`:接收 config 对象,执行 `"{{key}}".replace("{{key}}", config.key)`
52
52
 
@@ -66,10 +66,10 @@
66
66
  - [x] 迁移 `scripts/` → `templates/core/scripts/`
67
67
  - [x] 迁移 `reports/` → `templates/core/reports/`
68
68
  - [x] 迁移 `tools/` → `templates/core/tools/`
69
- - [x] 迁移 `.qoder/hooks/`(14 个 .sh + lib/) → `templates/adapters/qoder/hooks/`
70
- - [x] 迁移 `.qoder/settings.json` → `templates/adapters/qoder/settings.json`
71
- - [x] 迁移 `.qoder/mcp.json` → `templates/adapters/qoder/mcp.json`
72
- - [x] 迁移 `.qoder/sync-policy.json` → `templates/adapters/qoder/sync-policy.json`
69
+ - [x] 迁移 `{{magicDir}}/hooks/`(14 个 .sh + lib/) → `templates/adapters/qoder/hooks/`
70
+ - [x] 迁移 `{{magicDir}}/settings.json` → `templates/adapters/qoder/settings.json`
71
+ - [x] 迁移 `{{magicDir}}/mcp.json` → `templates/adapters/qoder/mcp.json`
72
+ - [x] 迁移 `{{magicDir}}/sync-policy.json` → `templates/adapters/qoder/sync-policy.json`
73
73
  - [x] 迁移 `.vscode/`(4 个文件) → `templates/adapters/vscode/`
74
74
  - [x] 迁移 `debug-dump/`、`repowiki/` → `templates/shared/`(空目录占位)
75
75
  - [x] 创建 `templates/adapters/claude/` 目录(空壳)
@@ -100,7 +100,7 @@
100
100
  - [x] `doc-format-guard.sh`
101
101
  - [x] 实现 `src/adapters/claude/renderer.ts`
102
102
 
103
- - [x] Task 3.1: Qoder 适配器实现 — 验证: `npx add-coder init --adapter qoder` 生成正确的 `.qoder/` 目录
103
+ - [x] Task 3.1: Qoder 适配器实现 — 验证: `npx add-coder init --adapter qoder` 生成正确的 `{{magicDir}}/` 目录
104
104
  - [x] 确认 `templates/adapters/qoder/` 下文件已清理 hardcode(第1轮 Task 1.1 已做)
105
105
  - [x] `settings.json` 的 matcher 适配:`Write|write_to_file|create_file|CreateFile` 等双套工具名
106
106
  - [x] 实现 `src/adapters/qoder/renderer.ts`
@@ -124,7 +124,7 @@
124
124
  - [x] `src/cli/commands/init.ts`:init 命令(七步流程:检测 IDE → 加载配置 → 渲染 core → 渲染 adapter → Prisma 注入 → 写入 → 摘要)
125
125
  - [x] `src/cli/commands/sync.ts`:sync 命令(只同步缺失文件)
126
126
  - [x] `src/cli/commands/status.ts`:status 命令(检查完整性)
127
- - [x] `src/cli/detect.ts`:IDE 环境检测(扫描 `.qoder/` `.claude/` `.vscode/` 存在性)
127
+ - [x] `src/cli/detect.ts`:IDE 环境检测(扫描 `{{magicDir}}/` `.claude/` `.vscode/` 存在性)
128
128
  - [x] `src/cli/config-loader.ts`:配置加载 + Zod 校验 + 优先级合并(交互式 > 配置文件 > 自动检测 > 默认值)
129
129
  - [x] `src/cli/writer.ts`:智能写入(四种模式:交互 / `--yes` / `--force` / `--dry-run`)
130
130
  - [x] `bin/add-coder.js` 改为加载 `dist/cli/index.js`
@@ -195,7 +195,7 @@
195
195
  - [x] `grep -r "process.env.*||" dist/` 返回空
196
196
  - [x] `npx add-coder init` 在空白项目中零配置生成完整 ADD 模板
197
197
  - [x] `npx add-coder init --adapter claude` 生成 `.claude/` 目录
198
- - [x] `npx add-coder init --adapter qoder` 生成 `.qoder/` 目录
198
+ - [x] `npx add-coder init --adapter qoder` 生成 `{{magicDir}}/` 目录
199
199
  - [x] `npx add-coder init --adapter vscode` 生成 `.vscode/` 目录
200
200
  - [x] `npm pack` 产出包含 `dist/` + `templates/` + `bin/`,不包含 `src/`
201
201
  - [x] `prisma migrate dev --schema=prisma/` 成功创建 DevOperation + AuditLog 表
@@ -21,9 +21,9 @@ ADD 不是"写代码时顺便打日志",而是一套覆盖全开发周期的
21
21
  │ │ 🚪 0.6.5 Review 结论回流至 Plan 与 Specs(强制卡位) │
22
22
  │ │ 🚪 0.7 原子闭包判定(Plan 级 + 轮次级) │
23
23
  │ │ 产物:docs/*/knowledge/ 下的规划说明书、架构文档、规范文档 │
24
- │ │ .qoder/plans/{需求域名}-plan-v{n}.md │
25
- │ │ .qoder/plans/{需求域名}-add-route-v{n}.md │
26
- │ │ .qoder/reviews/{需求域名}-review-v{n}.md │
24
+ │ │ {{magicDir}}/plans/{需求域名}-plan-v{n}.md │
25
+ │ │ {{magicDir}}/plans/{需求域名}-add-route-v{n}.md │
26
+ │ │ {{magicDir}}/reviews/{需求域名}-review-v{n}.md │
27
27
  │ │ 阈值:check_dps(DPS ≥ 85 方可进入 Step 1) │
28
28
  ├────────────┼─────────────────────────────────────────────────────────────────┤
29
29
  │ Step 1 │ 功能分析与审计阶段定义 │
@@ -42,8 +42,8 @@ ADD 不是"写代码时顺便打日志",而是一套覆盖全开发周期的
42
42
  ├────────────┼─────────────────────────────────────────────────────────────────┤
43
43
  │ Step 3.5 │ 实现审查(ADD-10 意图与实现的语义鸿沟) │
44
44
  │ 实现审查 │ 运行 spec checklist [T] 项 → 跨项目联调检查 │
45
- │ │ 产物:.qoder/reviews/{需求域名}-review-implementation-v{n}.md │
46
- │ │ .qoder/reviews/{需求域名}-review-runtime-v{n}.md │
45
+ │ │ 产物:{{magicDir}}/reviews/{需求域名}-review-implementation-v{n}.md │
46
+ │ │ {{magicDir}}/reviews/{需求域名}-review-runtime-v{n}.md │
47
47
  ├────────────┼─────────────────────────────────────────────────────────────────┤
48
48
  │ Step 4 │ 审计数据验证 │
49
49
  │ 审计验证 │ 运行功能 → 收集审计数据 → check_phase_symmetry → check_failure_path │
@@ -89,7 +89,7 @@ ADD 流程中有四个强制卡位,在任何情况下都不可跳过:
89
89
  | **每轮原子闭包** | 不是按文件数量拆分,而是按"可独立提交、验证、审计、恢复"的最小业务闭包拆分 |
90
90
  | **人类评审节点** | 每轮 spec 必须经过人类 review(spec-review.md),AI 不擅自越过评审进入代码实现 |
91
91
  | **三件套不可跳过** | spec.md + tasks.md + checklist.md 三者齐备才能开始写代码 |
92
- | **日志代理用户 ID** | 所有 `AuditLog` 写入及业务表 `createdBy`/`createdById` 字段统一使用项目日志代理用户 ID 函数(禁止硬编码 `"system"` 等字符串)。详见 `.qoder/rules/project_rules.md` ADD-4 §日志代理用户 ID |
92
+ | **日志代理用户 ID** | 所有 `AuditLog` 写入及业务表 `createdBy`/`createdById` 字段统一使用项目日志代理用户 ID 函数(禁止硬编码 `"system"` 等字符串)。详见 `{{magicDir}}/rules/project_rules.md` ADD-4 §日志代理用户 ID |
93
93
  | **四层审查** | 方案审查(ADD-9 方向验证)→ 实现审查(ADD-10 语义对齐)→ 运行时纠偏(ADD-11 证据持久化)→ 验收闭环(ADD-12 漂移校准),四道关卡覆盖全生命周期 |
94
94
  | **检查项 [T]/[R] 分拆** | checklist 中 [T] = 编译期可验证(AI 直接检查),[R] = 运行时验证(部署后确认,自动流转到 review-runtime.md)。[T] 全部通过时自动生成 review-runtime.md |
95
95
  | **跨对话接续** | 下一轮通过 `query_audit_logs` 恢复上游审计上下文,无需人类复述 |
@@ -125,12 +125,12 @@ ADD 不是万能范式。用错了阶段反而拖慢迭代速度。
125
125
  | `docs/哲学理论/` | 哲学理论基础文章 | 公开 |
126
126
  | `{{docsDir}}/` | 项目文档(需求/架构/规范) | 公开 |
127
127
  | `TODO/` | 开源协作 TODO,与 docs/ 平级 | 公开 |
128
- | `.qoder/plans/` | 需求方案 + 任务拆分 + 轮间交接手册 | 开发内部 |
129
- | `.qoder/reviews/` | 方案评审 + 逐轮 spec 评审 | 开发内部 |
130
- | `.qoder/specs/` | 每轮 spec + tasks + checklist(三件套) | 开发内部 |
131
- | `.qoder/rules/` | 项目规则文件(权威约束) | 开发内部 |
132
- | `.qoder/skills/` | SKILL 行为定义(AI 助手的标准行为模式) | 开发内部 |
133
- | `.qoder/scripts/` | 工具脚本 + MCP 服务器 | 开发内部 |
128
+ | `{{magicDir}}/plans/` | 需求方案 + 任务拆分 + 轮间交接手册 | 开发内部 |
129
+ | `{{magicDir}}/reviews/` | 方案评审 + 逐轮 spec 评审 | 开发内部 |
130
+ | `{{magicDir}}/specs/` | 每轮 spec + tasks + checklist(三件套) | 开发内部 |
131
+ | `{{magicDir}}/rules/` | 项目规则文件(权威约束) | 开发内部 |
132
+ | `{{magicDir}}/skills/` | SKILL 行为定义(AI 助手的标准行为模式) | 开发内部 |
133
+ | `{{magicDir}}/scripts/` | 工具脚本 + MCP 服务器 | 开发内部 |
134
134
 
135
135
  ### 目录层级决策原则
136
136
 
@@ -138,12 +138,12 @@ ADD 不是万能范式。用错了阶段反而拖慢迭代速度。
138
138
  公开可见 = docs/ + TODO/
139
139
  ↑ 面向社区、贡献者、学术引用者
140
140
 
141
- 开发内部 = .qoder/
141
+ 开发内部 = {{magicDir}}/
142
142
  ↑ 面向 AI 助手 + 核心开发者(不影响外部用户克隆体验)
143
143
  ```
144
144
 
145
145
  - `TODO/` 与 `docs/` 平级而非嵌套在 `docs/` 下:TODO 是**行动清单**("我们计划做什么"),docs 是**知识资产**("我们做了什么、是什么"),语义不同不应混放
146
- - `plans/` + `reviews/` + `specs/` 三者都在 `.qoder/` 下:它们是 ADD 开发流程的产物,面向 AI 和开发者,不属于公开文档
146
+ - `plans/` + `reviews/` + `specs/` 三者都在 `{{magicDir}}/` 下:它们是 ADD 开发流程的产物,面向 AI 和开发者,不属于公开文档
147
147
  - `plans/` 下同时放 plan + add-route + handoff:三者属于"需求理解与任务拆分"这个完整的大阶段,放在同一个目录保证阶段内文件的连续性
148
148
 
149
149
  ---
@@ -204,13 +204,13 @@ ADD 不是万能范式。用错了阶段反而拖慢迭代速度。
204
204
  ## 五、工作流三大阶段与目录映射
205
205
 
206
206
  ```
207
- 需求理解 + 任务拆分 → .qoder/plans/ (plan + add-route + handoff)
207
+ 需求理解 + 任务拆分 → {{magicDir}}/plans/ (plan + add-route + handoff)
208
208
 
209
209
 
210
- 评审 → .qoder/reviews/ (plan-review + roundN-spec-review)
210
+ 评审 → {{magicDir}}/reviews/ (plan-review + roundN-spec-review)
211
211
 
212
212
 
213
- Spec 执行 → .qoder/specs/ (三件套:spec + tasks + checklist)
213
+ Spec 执行 → {{magicDir}}/specs/ (三件套:spec + tasks + checklist)
214
214
  ```
215
215
 
216
216
  每个阶段的产物只放在一个目录下,不在多个目录重复存放。
@@ -223,12 +223,12 @@ Spec 执行 → .qoder/specs/ (三件套:spec + tasks + c
223
223
 
224
224
  | 阶段 | 文件 | 说明 |
225
225
  |------|------|------|
226
- | 需求方案 | `.qoder/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-plan-v1.md` | 总体设计 |
227
- | 拆分拓扑 | `.qoder/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-7轮原子事务拆分-add-route-v1.md` | 7 轮依赖拓扑 |
228
- | 方案评审 | `.qoder/reviews/{{projectName}}-多轮对话能力专家链路优化统一状态管理-方案评审-review-v1.md` | 可行性验证 |
229
- | 交接手册 | `.qoder/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-7轮原子事务交接-handoff-v1.md` | 轮间输入输出 |
230
- | 第1轮 spec | `.qoder/specs/{{projectName}}-type-convergence-v1/` | 类型收敛三件套 |
231
- | 第1轮评审 | `.qoder/reviews/{{projectName}}-多轮对话能力专家链路优化统一状态管理-round1-类型收敛-thinkingLevel路由-spec-review-v1.md` | spec 人工 review |
226
+ | 需求方案 | `{{magicDir}}/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-plan-v1.md` | 总体设计 |
227
+ | 拆分拓扑 | `{{magicDir}}/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-7轮原子事务拆分-add-route-v1.md` | 7 轮依赖拓扑 |
228
+ | 方案评审 | `{{magicDir}}/reviews/{{projectName}}-多轮对话能力专家链路优化统一状态管理-方案评审-review-v1.md` | 可行性验证 |
229
+ | 交接手册 | `{{magicDir}}/plans/{{projectName}}-多轮对话能力专家链路优化统一状态管理-7轮原子事务交接-handoff-v1.md` | 轮间输入输出 |
230
+ | 第1轮 spec | `{{magicDir}}/specs/{{projectName}}-type-convergence-v1/` | 类型收敛三件套 |
231
+ | 第1轮评审 | `{{magicDir}}/reviews/{{projectName}}-多轮对话能力专家链路优化统一状态管理-round1-类型收敛-thinkingLevel路由-spec-review-v1.md` | spec 人工 review |
232
232
  | ... | ... | 第2-7 轮同理 |
233
233
 
234
234
  ---
@@ -237,7 +237,7 @@ Spec 执行 → .qoder/specs/ (三件套:spec + tasks + c
237
237
 
238
238
  本文档内容同时体现在:
239
239
 
240
- - **`.qoder/rules/project_rules.md`** 中的 ADD-8 规则(权威约束,AI 助手强制执行)
240
+ - **`{{magicDir}}/rules/project_rules.md`** 中的 ADD-8 规则(权威约束,AI 助手强制执行)
241
241
  - **`README.md`** 中的三、ADD 编程范式章节(面向外部读者的简明版本)
242
242
  - **本文档**(面向开发者的完整版本,包含案例和决策说明)
243
243
 
@@ -383,4 +383,4 @@ Step 8 收敛判断
383
383
  | `check_dps({ planKeyword })` | Step 0 末尾(进入 Step 1 前) | `"dps": { "enabled": true, "severity": "block", "threshold": 85 }` |
384
384
  | `check_rahs({ planKeyword })` | Step 4 末尾 + Step 8 收敛 | `"rahs": { "enabled": true, "severity": "block", "threshold": 90 }` |
385
385
 
386
- 策略文件位于 `.qoder/sync-policy.json`,重型 add-route 模板已内置对应的 §0.8 / §4.6 闸门段落。
386
+ 策略文件位于 `{{magicDir}}/sync-policy.json`,重型 add-route 模板已内置对应的 §0.8 / §4.6 闸门段落。
@@ -1,7 +1,7 @@
1
1
  # ADD 模板术语权威规范
2
2
 
3
3
  > **定位**:项目所有 ADD 模板的术语唯一真相源。模板修改、守卫校验、LLM prompt 均以此为准。
4
- > **消费方**:16 个模板、`doc-format-guard.sh`、`pre-tool-use.sh`、`AGENTS.md`、`.qoder/hooks/lib/vocabulary.sh`
4
+ > **消费方**:16 个模板、`doc-format-guard.sh`、`pre-tool-use.sh`、`AGENTS.md`、`{{magicDir}}/hooks/lib/vocabulary.sh`
5
5
  > **关联 Plan**:`{{projectName}}-add-template-standardization-plan-v1.md`
6
6
 
7
7
  ---
@@ -65,7 +65,7 @@
65
65
  > 当所有 `[T]` 编译期检查项均为 `[x]` 时(`[R]` 项可保持 `[ ]`),AI 必须执行:
66
66
  >
67
67
  > 1. **读取** `review-implementation-template.md`,逐项填写实现审查内容
68
- > 2. **读取** `review-runtime-template.md`,复制为 `.qoder/reviews/{project}-review-runtime.md`
68
+ > 2. **读取** `review-runtime-template.md`,复制为 `{{magicDir}}/reviews/{project}-review-runtime.md`
69
69
  > - 替换占位符(标题、关联文档路径)
70
70
  > - §1 发现列表初始化为 "尚无运行时发现"
71
71
  > - §1 末尾自动插入本 checklist 中所有 `[R]` 项的清单,标记为 "待运行时验证"
@@ -51,7 +51,7 @@
51
51
  ### 交接手册与 spec 的优先级
52
52
 
53
53
  - 本 handoff 是新对话的入口索引,负责说明Round位置、上下游依赖、文件边界、高风险误区、恢复关键词和审计闭环。
54
- - 具体实现细节以对应 `.qoder/specs/{spec-name}/spec.md`、`tasks.md`、`checklist.md` 为准。
54
+ - 具体实现细节以对应 `{{magicDir}}/specs/{spec-name}/spec.md`、`tasks.md`、`checklist.md` 为准。
55
55
  - 如果 handoff 摘要与 spec/tasks/checklist 存在颗粒度差异,以 spec/tasks/checklist 为准,不允许按 handoff 的简写自行简化实现。
56
56
  - 每轮完成后的 ADD-7 不只写入 `record_dev_operation`,还必须用 `query_audit_logs` 按 action/targetId/keyword 回查确认落库。
57
57
 
@@ -114,9 +114,9 @@ query_audit_logs({ keyword: "{ACTION_2}" })
114
114
  1. session-init SKILL(强制前置)
115
115
  2. query_audit_logs({}) → 查看最近所有操作
116
116
  3. query_audit_logs({ keyword: "{汇总关键词}" }) → 看本轮所有记录(应该返回 {N} 条)
117
- 4. read ".qoder/specs/{spec-name}/spec.md"
118
- 5. read ".qoder/specs/{spec-name}/tasks.md"
119
- 6. read ".qoder/specs/{spec-name}/checklist.md"
117
+ 4. read "{{magicDir}}/specs/{spec-name}/spec.md"
118
+ 5. read "{{magicDir}}/specs/{spec-name}/tasks.md"
119
+ 6. read "{{magicDir}}/specs/{spec-name}/checklist.md"
120
120
  ```
121
121
 
122
122
  Step 3 搜索 `"{汇总关键词}"` 可以一次性拉取全部本轮审计记录,是最快的一键恢复方式。
@@ -127,9 +127,9 @@ Step 3 搜索 `"{汇总关键词}"` 可以一次性拉取全部本轮审计记
127
127
 
128
128
  ### spec 文件
129
129
 
130
- - `.qoder/specs/{spec-name}/spec.md`
131
- - `.qoder/specs/{spec-name}/tasks.md`
132
- - `.qoder/specs/{spec-name}/checklist.md`
130
+ - `{{magicDir}}/specs/{spec-name}/spec.md`
131
+ - `{{magicDir}}/specs/{spec-name}/tasks.md`
132
+ - `{{magicDir}}/specs/{spec-name}/checklist.md`
133
133
 
134
134
  ### 架构文档
135
135
 
@@ -258,9 +258,9 @@ query_audit_logs({ keyword: "{汇总关键词}" })
258
258
 
259
259
  1. 执行 session-init SKILL
260
260
  2. 执行 add-paradigm SKILL(含 Step 0 文档先行)
261
- 3. 读本轮对应 .qoder/specs/{spec-name}/spec.md(含其中的「文档先行三步闭环」章节,按 spec 的指示更新架构文档)
262
- 4. 读本轮对应 .qoder/specs/{spec-name}/tasks.md
263
- 5. 读本轮对应 .qoder/specs/{spec-name}/checklist.md
261
+ 3. 读本轮对应 {{magicDir}}/specs/{spec-name}/spec.md(含其中的「文档先行三步闭环」章节,按 spec 的指示更新架构文档)
262
+ 4. 读本轮对应 {{magicDir}}/specs/{spec-name}/tasks.md
263
+ 5. 读本轮对应 {{magicDir}}/specs/{spec-name}/checklist.md
264
264
  6. 按 tasks.md 顺序执行代码修改
265
265
  7. 每完成一个 Task:读 checklist.md → 逐项验证 → **附可验证证据** → 勾选
266
266
  8. 每完成一个文件修改:record_dev_operation 写入 ADD-7 审计
@@ -120,7 +120,7 @@ ORDER BY "createdAt" DESC;
120
120
  - grep 验证命令:
121
121
 
122
122
  ```bash
123
- grep -R "{关键字}" .qoder/specs/
123
+ grep -R "{关键字}" {{magicDir}}/specs/
124
124
  ```
125
125
 
126
126
  ---
@@ -6,6 +6,8 @@
6
6
 
7
7
  **我要做…** | **用这个模板** | **为什么**
8
8
  --|--|--
9
+ | 写产品需求文档 | `prd-standard-template.md` | 含 Plan 拆分建议 + 裁决层关联 |
10
+ | 增量更新 PRD | `prd-incremental-template.md` | 在原 PRD 上追加/修改 |
9
11
  | 新建开发任务(需要架构设计) | `standard-plan-template.md` | 含方案选型、架构设计、依赖图,适合复杂改动(**默认**)
10
12
  | 新建开发任务(简单修复) | `simple-plan-template.md` | 内联 Handoff,无需独立 spec 文件(仅小修改/用户主动提)
11
13
  | 定义功能需求 | `spec-template.md` | Why/What/Impact/Requirements
@@ -20,12 +22,14 @@
20
22
  | 运行时评审 | `review-runtime-template.md` | 发现列表、流程改进
21
23
  | 写代码审查报告 | `report-template.md` | Issue 总览、分类统计
22
24
  | 写运行时异常报告 | `runtime-report-template.md` | 发现列表、关联 Issue
23
- | 写修复验证报告 | `fix-verification-template.md` | 逐条对照、修复趋势
25
+ | 写修复验证报告 | `fix-verification-template.md` | 逐条对照、修复趋势 |
24
26
 
25
27
  ## 模板→Schema 索引
26
28
 
27
29
  | 模板 | Schema |
28
30
  |------|------|
31
+ | `prd-standard-template.md` | `prd-standard-template.schema.json` |
32
+ | `prd-incremental-template.md` | `prd-incremental-template.schema.json` |
29
33
  | `standard-plan-template.md` | `standard-plan-template.schema.json` |
30
34
  | `simple-plan-template.md` | `simple-plan-template.schema.json` |
31
35
  | `spec-template.md` | `spec-template.schema.json` |