architext 0.0.4 → 0.0.6

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 (84) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/README.md +93 -14
  3. package/README.zh-CN.md +92 -14
  4. package/dist/index.js +53 -39
  5. package/dist/templates/en/briefs/_base.md +53 -13
  6. package/dist/templates/en/briefs/_modules.md +31 -4
  7. package/dist/templates/en/docs/global/error_memory.json +40 -0
  8. package/dist/templates/en/docs/global/map.json +46 -90
  9. package/dist/templates/en/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +6 -13
  10. package/dist/templates/en/{rules/02_tech_stack.md → docs/global/tech_stack.md} +7 -18
  11. package/dist/templates/en/docs/global/vision.md +1 -1
  12. package/dist/templates/en/docs/prompts/audit.md +80 -94
  13. package/dist/templates/en/docs/prompts/code.md +99 -89
  14. package/dist/templates/en/docs/prompts/edit.md +61 -51
  15. package/dist/templates/en/docs/prompts/fix.md +59 -43
  16. package/dist/templates/en/docs/prompts/help.md +23 -31
  17. package/dist/templates/en/docs/prompts/inherit.md +97 -117
  18. package/dist/templates/en/docs/prompts/map.md +48 -69
  19. package/dist/templates/en/docs/prompts/plan.md +141 -240
  20. package/dist/templates/en/docs/prompts/recover.md +19 -34
  21. package/dist/templates/en/docs/prompts/ref.md +43 -138
  22. package/dist/templates/en/docs/prompts/remove.md +63 -110
  23. package/dist/templates/en/docs/prompts/revise.md +71 -106
  24. package/dist/templates/en/docs/prompts/scope.md +78 -117
  25. package/dist/templates/en/docs/prompts/script.md +102 -0
  26. package/dist/templates/en/docs/prompts/start.md +98 -132
  27. package/dist/templates/en/docs/prompts/ui.md +113 -0
  28. package/dist/templates/en/docs/shared/ui-redlines.md +7 -0
  29. package/dist/templates/en/docs/templates/spec.template.md +1 -1
  30. package/dist/templates/en/docs/templates/ui.template.md +8 -8
  31. package/dist/templates/en/rules/00_system.md +268 -117
  32. package/dist/templates/en/rules/90_custom_rules.md +3 -1
  33. package/dist/templates/en/skills/archi-data-sync/SKILL.md +37 -23
  34. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +138 -240
  35. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +6 -1
  36. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +10 -6
  37. package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -2
  38. package/dist/templates/en/skills/archi-plan-options/SKILL.md +77 -301
  39. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +24 -25
  40. package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +175 -305
  41. package/dist/templates/icon.svg +16 -0
  42. package/dist/templates/zh/briefs/_base.md +56 -17
  43. package/dist/templates/zh/briefs/_modules.md +28 -1
  44. package/dist/templates/zh/docs/global/error_memory.json +40 -0
  45. package/dist/templates/zh/docs/global/map.json +39 -109
  46. package/dist/templates/zh/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +0 -7
  47. package/dist/templates/zh/{rules/02_tech_stack.md → docs/global/tech_stack.md} +9 -20
  48. package/dist/templates/zh/docs/global/vision.md +1 -1
  49. package/dist/templates/zh/docs/prompts/audit.md +43 -57
  50. package/dist/templates/zh/docs/prompts/code.md +66 -56
  51. package/dist/templates/zh/docs/prompts/edit.md +52 -42
  52. package/dist/templates/zh/docs/prompts/fix.md +39 -29
  53. package/dist/templates/zh/docs/prompts/help.md +13 -21
  54. package/dist/templates/zh/docs/prompts/inherit.md +67 -86
  55. package/dist/templates/zh/docs/prompts/map.md +28 -50
  56. package/dist/templates/zh/docs/prompts/plan.md +100 -199
  57. package/dist/templates/zh/docs/prompts/recover.md +9 -24
  58. package/dist/templates/zh/docs/prompts/ref.md +11 -106
  59. package/dist/templates/zh/docs/prompts/remove.md +39 -74
  60. package/dist/templates/zh/docs/prompts/revise.md +47 -88
  61. package/dist/templates/zh/docs/prompts/scope.md +52 -91
  62. package/dist/templates/zh/docs/prompts/script.md +102 -0
  63. package/dist/templates/zh/docs/prompts/start.md +75 -110
  64. package/dist/templates/zh/docs/prompts/ui.md +113 -0
  65. package/dist/templates/zh/docs/shared/ui-redlines.md +7 -0
  66. package/dist/templates/zh/docs/templates/spec.template.md +1 -1
  67. package/dist/templates/zh/docs/templates/ui.template.md +8 -8
  68. package/dist/templates/zh/rules/00_system.md +252 -131
  69. package/dist/templates/zh/rules/90_custom_rules.md +2 -1
  70. package/dist/templates/zh/skills/archi-data-sync/SKILL.md +27 -13
  71. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +133 -235
  72. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +6 -1
  73. package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +6 -2
  74. package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -2
  75. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +77 -301
  76. package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +4 -5
  77. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +174 -301
  78. package/package.json +3 -1
  79. package/dist/templates/en/rules/01_workflow.md +0 -93
  80. package/dist/templates/en/rules/03_data_governance.md +0 -102
  81. package/dist/templates/en/rules/99_context_glue.md +0 -53
  82. package/dist/templates/zh/rules/01_workflow.md +0 -94
  83. package/dist/templates/zh/rules/03_data_governance.md +0 -133
  84. package/dist/templates/zh/rules/99_context_glue.md +0 -53
@@ -1,6 +1,6 @@
1
1
  <protocol_code>
2
- **Trigger**: `/archi.code <id>`
3
- **Goal**: 基于 `tasks/<id>_<Slug>/plan.json` 任务清单,完成功能开发;遵循 `02_tech_stack.md`(仅ui项目: 同时遵循 `design_tokens.json`);通过构建、类型、Lint、格式化、测试与审计。
2
+ **Trigger**: `/archi.code <id>` | 自然语言触发时由 Workflow Dispatch 自动加载
3
+ **Goal**: 基于 `tasks/<id>_<Slug>/plan.json` 任务清单,完成功能开发;遵循 `tech_stack.md`(仅ui项目: 同时遵循 `design_tokens.json`);通过构建、类型、Lint、格式化、测试与审计。
4
4
 
5
5
  <meta>
6
6
  <style>Deterministic, Type-Safe, SOTA-First</style>
@@ -13,13 +13,13 @@
13
13
  5. **No Commit Policy**: 未经授权不提交;以补丁呈现变更。
14
14
  6. **Static Check First**: 须通过所有静态检查(类型/Lint/格式化)。
15
15
  7. **Plan Completion Gate**: 结束前验证 Plan 完成度。AI 可完成的任务须全部完成,仅豁免「人工介入」和「不可抗力」类。
16
+ 8. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
16
17
  </principles>
17
18
  </meta>
18
19
 
19
20
  <step_1_resolve>
20
- **Role**: 系统分析师
21
21
  **Action**:
22
- 1. **Resolve ID**: 从 `[[__DOCS_DIR__]]/global/roadmap.json` 解析 `<id>` → Task Name、Slug、阶段/状态。
22
+ 1. **Resolve ID**: 从 roadmap.json 解析 `<id>` → Task Name、Slug、阶段/状态。
23
23
  2. **Status Gate** — 仅 `active` 可进入 code 流程:
24
24
 
25
25
  | 状态 | 处理 |
@@ -29,23 +29,12 @@
29
29
  | `blocked` | 拒绝 — 前置依赖未完成 |
30
30
  | `done` | 拒绝 — 已完成,如需修改用 `/archi.edit <ID>` |
31
31
 
32
- 3. **Load Context** ( Roadmap `📁 Slug` 定位):
33
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/spec.md` — 逻辑与场景
34
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/ui.md` — 本任务 UI 范围声明(如存在)
35
- - 仅Complex任务: `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/design.md` — 技术方案设计(如存在):状态机/流水线/协议定义、参数表、不变量
36
- - 仅ui项目: `[[__DOCS_DIR__]]/global/ui_context.md` — AI 屏幕索引(屏幕 ID/路由/状态/导航关系/共享组件)
37
- - 仅ui项目: `[[__DOCS_DIR__]]/global/ui_concept.html` — 只读视觉参考(实现时以此校准布局结构,禁基于此重新设计,设计已在 ui.md 确定)
38
- - `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/plan.json` — 任务拆解(含 `notes` 速记,执行时须参照)
39
- - `02_tech_stack.md` — 技术红线
40
- - 仅ui项目: `[[__DOCS_DIR__]]/global/design_tokens.json`
41
- - 仅data项目: `[[__DOCS_DIR__]]/global/data_snapshot.json`
42
- - **Read Refs** (如有): 读取 `[[__DOCS_DIR__]]/refs/index.json`(如存在),根据 tags 与 spec.md 中涉及的技术域语义匹配,仅读取命中的 ref 文件作为补充上下文;`refs/` 不存在或为空时跳过。
32
+ 3. **Load**: task docs (spec/ui/design/plan) + project context (tech_stack/design_tokens/data_snapshot/ui_context/screens/) + refs(按 tags 匹配,仅读命中文件)。
43
33
 
44
34
  **Output**: 待实施任务的原子清单,标注依赖与顺序。
45
35
  </step_1_resolve>
46
36
 
47
37
  <step_2_plan>
48
- **Role**: Tech Lead
49
38
  **Action**:
50
39
  生成执行蓝图(根据项目类型动态调整):
51
40
  - **Phase A (Domain/Data/API)**: 数据模型/接口/校验
@@ -58,32 +47,34 @@
58
47
  </step_2_plan>
59
48
 
60
49
  <step_3_implement>
61
- **Role**: 资深工程师
62
50
  **Protocol**:
63
51
  - **Read First**: 修改前须读取目标文件;遵循项目现有代码风格。
64
- - **Use Existing Stack**: 仅用 `02_tech_stack.md` 声明的技术与库。
65
- - (本任务涉及ui时) **Design Tokens Only**: 样式严格使用 Token/Preset 定义的视觉模式;禁硬编码魔法值(颜色、尺寸、间距等)。
52
+ - **Use Existing Stack**: 仅用 `tech_stack.md` 声明的技术与库。
53
+ - (本任务涉及ui时)[[INCLUDE: shared/ui-redlines.md]]
66
54
  - **Type-Safe**: 补齐类型定义;用项目技术栈的类型系统守护边界。
67
- - **Code Organization**: 遵循 `02_tech_stack.md` 中定义的架构模式与文件归位策略。
68
- - **Comments**: 解释 Why 而非 What;拒绝废话注释。
69
- - **Naming**: 自解释命名;拒绝 `a`, `b`, `tmp` 等无意义名(循环变量 `i` 除外)。
70
- - 仅Complex任务: **Design Adherence**: 存在 `design.md` 时,实现须严格遵循其定义的状态机/流水线/协议;参数须引用 design.md § 3 的值(禁硬编码其他值);须满足 § 4 所有 Invariants(可用 assert 或运行时检查守护)。
71
- - **Error Handling**: 禁吞错/禁静默失败;须正确传播错误并给调用方可观测反馈(UI: Toast;CLI: Exit Code;API: Status Code + Body)。
55
+ - **Code Organization**: 遵循 `tech_stack.md` 架构模式与文件归位策略。
56
+ - **Comments**: 解释 Why 而非 What
57
+ - **Naming**: 自解释命名;拒绝无意义名。
58
+ - 仅Complex任务: **Design Adherence**: 存在 `design.md` 时,实现须严格遵循其状态机/流水线/协议;参数引用 § 3 的值;须满足 § 4 所有 Invariants
59
+ - **Error Handling**: 禁吞错/禁静默失败;须正确传播并给调用方可观测反馈。
72
60
  - **Robustness**: 显式处理边界(Loading/Error/Empty/Timeout);禁只写 Happy Path。
73
- - **SOTA**: 遵循 tech_stack 定义的最佳实践;拒绝明确禁止的过时模式。
74
- - **Scaffold Safety**: 脚手架在非空目录可能覆盖文件 — 须在新目录生成并保护 `[[__DOCS_DIR__]]/`;删除/覆盖操作须先列清单并确认。
75
- - **.gitkeep Cleanup**: 空目录可用 `.gitkeep` 占位以便 Git 跟踪;向目录新增其他文件时须删除该目录下的 `.gitkeep`。
61
+ - **SOTA**: 遵循 tech_stack 最佳实践;拒绝明确禁止的过时模式。
62
+ - **Scaffold Safety**: 非空目录须保护 `[[__DOCS_DIR__]]/`。
63
+ - **.gitkeep Cleanup**: 向目录新增文件时删除 `.gitkeep`。
76
64
  - **Patch Output**: 以补丁形式输出变更,附 Code Reference。
77
- - **Progress Tracking**: 每完成一个 task 后,立即更新 `plan.json` 对应 task 的 `done: true`;禁在 signoff 时批量更新(会话中断后进度将丢失)。
65
+ - **Progress Tracking**: 每完成一个 task 后,立即更新 `plan.json` 对应 `done: true`;禁 signoff 时批量更新。
78
66
 
79
- **Action**: 按 Phase A/B/C 逐项实施;每项产出完整、工程化的代码(含必要测试);新增文件/目录须与 tech_stack 一致。
67
+ **Action**: 按 Phase A/B/C 逐项实施;产出完整、工程化的代码(含必要测试)。
80
68
  </step_3_implement>
81
69
 
82
70
  <step_4_validate>
83
- **Role**: 验证工程师
84
- **Action** (失败须修复后重跑;命令以 `02_tech_stack.md` Section 5 为准):
71
+ **Action** (失败须修复后重跑;命令以 `tech_stack.md` Section 5 为准):
85
72
 
86
- **Automated Check**: 运行 `[[__DOCS_DIR__]]/scripts/validate`(如存在);否则按以下清单逐项手动执行。
73
+ **Automated Check**: 检查 `scripts/validate`:
74
+ - **存在** → 必须运行,结果以脚本输出为准
75
+ - **不存在** → 按以下清单逐项执行
76
+
77
+ > **Scripts Check**: 如 `scripts/` 目录不存在 → 建议先运行 `/archi.script` 生成自动化脚本。
87
78
 
88
79
  | Phase | 检查项 | 要求 |
89
80
  |:---|:---|:---|
@@ -91,26 +82,25 @@
91
82
  | | Type Check | 零类型错误 |
92
83
  | | Lint | 零 Lint 错误(警告须说明原因) |
93
84
  | | Format | 符合格式规范(失败则自动修复后重检) |
94
- | **Test** | Existing Tests | 运行已有测试套件全部通过;禁因新代码破坏旧测试 |
95
- | | New Coverage | 为新增/修改的关键逻辑补充测试;纯样式调整可豁免 |
85
+ | **Test** | Existing Tests | 全部通过;禁破坏旧测试 |
86
+ | | New Coverage | 为新增/修改的关键逻辑补充测试 |
96
87
 
97
88
  **Task Verification (硬性要求)**
98
89
 
99
- > 禁仅通过代码审查或自动化测试就标记完成;须实际运行目标功能并验证。
100
- > dev server 未启动,先执行 `[[__DOCS_DIR__]]/scripts/dev-up`。
101
- > **优先读取 `notes.验证`**: 先读当前 task 的 `notes` 字段末尾 `验证: [...]` 部分,以其指定操作执行具体 e2e;`notes` 无验证字段时按下表类型兜底。
90
+ > 禁仅通过代码审查就标记完成;须实际运行目标功能并验证。
91
+ > **优先读取 `notes.验证`**: 先读当前 task `notes` 末尾 `验证: [...]` 部分执行 e2e;无验证字段时按下表类型兜底。
102
92
 
103
93
  | 项目类型 | 验证动作 | 通过标准 |
104
94
  |:---|:---|:---|
105
- | 本任务涉及ui时 | 浏览器操作目标功能路径 | 渲染正常,交互无报错,控制台无异常 |
95
+ | 本任务涉及ui时 | 浏览器操作目标功能路径 | 渲染正常,交互无报错 |
106
96
  | 本任务涉及api时 | 调用新增/修改的 endpoint | 状态码与 Body 符合 spec |
107
- | 本任务涉及cli时 | 执行目标命令(含正常参数 + 边界参数) | stdout 符合预期,exit code 正确 |
108
- | 本任务涉及lib时 | 运行示例代码或 playground 验证导出 API | 无运行时错误,返回值正确 |
109
- | 本任务涉及mobile时 | 模拟器/真机操作目标功能 | 界面正常,交互响应 |
110
- | 本任务涉及desktop时 | 启动应用操作目标功能 | 窗口正常,功能可用 |
97
+ | 本任务涉及cli时 | 执行目标命令(含正常+边界参数) | stdout 符合预期,exit code 正确 |
98
+ | 本任务涉及lib时 | 运行示例代码验证导出 API | 无运行时错误,返回值正确 |
99
+ | 本任务涉及mobile时 | 模拟器/真机操作 | 界面正常,交互响应 |
100
+ | 本任务涉及desktop时 | 启动应用操作 | 窗口正常,功能可用 |
111
101
 
112
- **Evidence**: Output 须附验证结果(命令输出摘要 / 截图 / 错误日志)。
113
- **Fallback**: 验证持续失败且怀疑环境问题 → `[[__DOCS_DIR__]]/scripts/dev-reset` → `[[__DOCS_DIR__]]/scripts/dev-up` → 重试。
102
+ **Evidence**: 须附验证结果(命令输出摘要/截图/错误日志)。
103
+ **Fallback**: 验证持续失败 → `scripts/dev-reset` → `scripts/dev-up` → 重试。
114
104
 
115
105
  **Output**: 每项检查 ✅/❌ 状态与原因;Task Verification 证据。
116
106
  </step_4_validate>
@@ -125,29 +115,49 @@
125
115
  [[SUBAGENT: archi-feature-relations|mode: check, context: 将本次实现的功能与 featureRelations sources 做语义对比]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: check 的逻辑执行)]]
126
116
 
127
117
  **5C. 数据治理同步**:
128
- [[SUBAGENT: archi-data-sync|context: 扫描本次实现引入的新业务实体/错误码/Schema,按 03_data_governance.md 规则增量同步]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-data-sync/SKILL.md`,按其执行协议操作)]]
118
+ [[SUBAGENT: archi-data-sync|context: 扫描本次实现引入的新业务实体/错误码/Schema,按 00_system.md 规则增量同步]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-data-sync/SKILL.md`,按其执行协议操作)]]
129
119
 
130
120
  [[INCLUDE: shared/verify-result-handling.md]]
131
121
  </step_5_verify>
132
122
 
133
123
  <step_6_signoff>
134
- **Terminal Gate** (禁止跳过,须在输出总结前全部完成):
124
+ **Terminal Gate** (禁止跳过):
135
125
  | 步骤 | 命令 | 通过条件 |
136
126
  |:---|:---|:---|
137
127
  | 1 | `npx archi plan <ID>` | 全部完成或仅豁免项;未通过禁签收,回到 step_3 |
138
128
  | 2 | `npx archi task <ID> --status done` | 任务状态已更新 |
139
- | 3 | `npx archi task --check` | 无 ERROR 级问题 |
140
- | 4 | `npx archi render` | `.md` 视图生成完成 |
129
+ | 3 | 标准检查 (task --check + render) | 无 ERROR + 视图生成 |
141
130
 
142
131
  **Action** (Gate 通过后):
143
- 1. 确认 `plan.json` 各 task `done` 标记已全部更新(应在 step_3 实时完成,此处做最终校验)。
144
- 2. **Drift Warning**: 对比本次代码变更与 `spec.md` 的关键点位(接口签名、返回类型、Gherkin 场景关键操作)。如发现代码超出 spec 覆盖范围 → 标注 `⚠️ Spec 漂移`,建议运行 `/archi.edit <ID>` 同步文档。
145
- 3. 输出完成任务清单与补丁链接(Code Reference)。
146
- 4. 提供下一步建议与 Git Commit Suggestion(Conventional Commits)。
147
-
148
- **Checkpoint** (Output 前须确认): □ Terminal Gate 全部执行
149
-
150
- **Output**: 完成摘要,含已完成任务、豁免项(如有)、Git Commit 建议、Next Steps 表格。
132
+ 1. 确认 `plan.json` 各 task `done` 标记已全部更新。
133
+ 2. **Drift Warning**: 对比代码变更与 `spec.md` 关键点位。发现超出 spec 覆盖范围 → 标注 `⚠️ Spec 漂移`,建议 `/archi.edit <ID>`。
134
+ 3. 输出完成任务清单与补丁链接。
135
+ 4. 提供下一步建议。
136
+
137
+ **Pre-signoff Checklist** (Output 前须逐项确认):
138
+ □ plan.json — 每个 task done 标记已实时更新(非 signoff 时批量操作)
139
+ Step 4 构建/类型检查/Lint/格式化 全部通过
140
+ □ Step 4 — 每种项目类型的 Task Verification 已执行并附 Evidence
141
+ □ Step 5A Silent Audit — 已执行,所有 CRITICAL 问题已修复
142
+ □ Step 5B featureRelations 联动检查 — 已执行
143
+ - 涉及修改的文件是否影响其他关联文件
144
+ □ Step 5C 数据治理同步 — 已执行
145
+ - dictionary.json + error_codes.json + env_registry.json — 必检
146
+ - (仅ui项目)design_tokens.json + ui_context.md
147
+ - (仅data项目)data_snapshot.json
148
+ - (仅api项目)api_snapshot.json
149
+ - (仅cli项目)command_api.json
150
+ - (仅lib项目)public_api.json
151
+ □ Terminal Gate — npx archi plan <ID> 全部完成(仅豁免项除外)
152
+
153
+ **Output**: 完成摘要,含已完成任务、豁免项(如有)、Next Steps:
154
+
155
+ | 优先级 | 动作 | 说明 |
156
+ |:---|:---|:---|
157
+ | (如无 scripts/) | `/archi.script` | 生成自动化验证脚本(validate/dev-up/dev-reset) |
158
+ | 推荐 | `/archi.audit <ID>` | 对实现做独立审查 |
159
+ | (有 Spec 漂移时) | `/archi.edit <ID>` | 先更新文档再继续 |
160
+ | (有后续 pending 任务时) | `/archi.plan <下一个 pending ID>` | 规划下一个任务 |
151
161
  </step_6_signoff>
152
162
 
153
163
  </protocol_code>
@@ -1,5 +1,5 @@
1
1
  <protocol_edit>
2
- **Trigger**: `/archi.edit <id> [context]`
2
+ **Trigger**: `/archi.edit <id> [context]` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Goal**: 基于新需求/修改意见,更新已纳管模块的 Spec/UI 文档,并追加开发计划。
4
4
 
5
5
  <meta>
@@ -10,87 +10,97 @@
10
10
  2. **Incremental**: 仅追加新 Task 到 Plan,保留已完成历史(除非需回滚)。
11
11
  3. **Conflict Check**: 检查新需求是否与 tech_stack / design_tokens 冲突。
12
12
  4. **Frontmatter Preservation**: 禁破坏现有文档 Metadata。
13
+ 5. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
13
14
  </principles>
14
15
  </meta>
15
16
 
16
17
  <step_1_load>
17
- **Role**: 产品经理
18
18
  **Action**:
19
19
  - 读取 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/` 下的 spec.md、ui.md、plan.json。
20
- - (仅ui项目) 读取 `[[__DOCS_DIR__]]/global/ui_context.md`(定位本功能对应的屏幕范围及导航关系)。
21
- - 检测 spec.md 中的 `Spec-Status` 字段:
22
- - `Full` → 正常流程,进入 step_2。
23
- - `Stub` → 进入 step_1_5_enrich。
20
+ - (仅ui项目) 读取 ui_context.md(定位本功能对应的屏幕范围及导航关系)。
21
+ - 检测 spec.md 中的 `Spec-Status`:`Full` → 正常流程 step_2 | `Stub` → step_1_5_enrich。
24
22
  - (重大UX变更) 快速搜索同类产品最佳实践。
25
23
  </step_1_load>
26
24
 
27
25
  <step_1_5_enrich>
28
- **Role**: 逆向工程师
29
26
  **Trigger**: spec.md 中 `Spec-Status: Stub`(由 `/archi.inherit` 生成的轻量快照)。
30
27
 
31
28
  **Action**:
32
29
  1. 告知用户:"该功能仅有轻量快照,须先补全完整 spec 才能执行修改。"
33
- 2. 从 stub"关联文件"section 提取源码路径。
34
- 3. 逐一读取关联文件,中度扫描(入口 + 核心逻辑)。
35
- 4. 基于代码分析,将 stub 补全为完整 spec:
36
- - 保留原有概述和关键流程
37
- - 补充 Gherkin Scenarios(覆盖正常流程 + 异常路径)
38
- - 补充接口/类型定义(如该功能是其他功能的上游)
39
- 5. 更新 `Spec-Status: Stub → Full`。
40
- 6. (仅ui项目) 如模块有 UI → 同步生成或更新 `ui.md`(范围声明);如须新增屏幕,[[SKILL: archi-ui-wireframe|调用 skill 或提示用户运行]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并提示用户按该文档执行)]](Skill 会同步更新 `ui_concept.html` + `ui_context.md`)。
41
- 7. 生成 `plan.json`(全部 task 为 done,记录已实现内容)。
42
- 8. 向用户输出补全后的 spec 摘要。
43
-
44
- **Gate**: 用户确认补全内容正确后,继续 step_2_refine_docs。
30
+ 2. 从 stub"关联文件"提取源码路径,逐一读取(入口+核心逻辑)。
31
+ 3. 基于代码分析补全为完整 spec:保留原有概述和流程,补充 Gherkin Scenarios + 接口/类型定义。
32
+ 4. 更新 `Spec-Status: Stub → Full`。
33
+ 5. (仅ui项目) 如模块有 UI → 同步生成 `ui.md`;须新增屏幕时,[[SKILL: archi-ui-wireframe|调用 skill]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md`)]]。
34
+ 6. 生成 `plan.json`(全部 task done)。
35
+ 7. 向用户输出补全后的 spec 摘要。
36
+
37
+ **Gate**: 用户确认后继续 step_2_refine_docs。
45
38
  **异常**: 关联文件不存在/已移动 → 提示用户更新路径。
46
39
  </step_1_5_enrich>
47
40
 
48
41
  <step_2_refine_docs>
49
- **Role**: 需求分析师 & 设计师
50
42
  **Action**:
51
- - 根据 `[context]` 修改 spec.md(逻辑/规则变更)和 ui.md(结构/交互变更)。
52
- - (ui有修改) [[SKILL: archi-ui-wireframe|按 skill 的协议,按以下规则同步更新 `ui_concept.html` + `ui_context.md`(Skill 作为唯一写者)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]:
43
+ - 根据 `[context]` 修改 spec.md ui.md
44
+ - (ui有修改) [[SKILL: archi-ui-wireframe|按 skill 的协议同步更新 `screens/S-XX.html` + `ui_context.md`]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md`)]]:
53
45
 
54
46
  | 变更类型 | 判定标准 | 处理方式 |
55
47
  |:---|:---|:---|
56
- | 无屏幕影响 | 仅逻辑/数据变更,无视觉差异 | 仅改 spec.md,`ui_concept.html` / `ui_context.md` 不动 |
57
- | 轻微 UI 调整 | 新增/修改状态、弹窗、局部区域,不改整体布局 | 调用 skill(修改屏幕模式)更新两个文件,输出 `MODIFIED: S-XX` |
58
- | 屏幕结构变更 | 布局重构、新增独立屏幕、导航路径变化 | 调用 skill(修改屏幕模式)更新两个文件,输出 `MODIFIED: S-XX`;若已完成 Phase 2 着色,同步重新着色 |
59
- | 功能缩减 | 屏幕/区域整体移除 | 调用 skill(删除屏幕模式)更新两个文件,输出 `REMOVED: S-XX` |
48
+ | 无屏幕影响 | 仅逻辑/数据变更 | 仅改 spec.md |
49
+ | 轻微 UI 调整 | 新增/修改状态、弹窗、局部区域 | 调用 skill 更新,输出 `MODIFIED: screens/S-XX.html` |
50
+ | 屏幕结构变更 | 布局重构、新增屏幕、导航变化 | 调用 skill 更新 |
51
+ | 功能缩减 | 屏幕/区域整体移除 | 调用 skill 删除,输出 `REMOVED: screens/S-XX.html` |
60
52
 
61
- - 需求模糊时向用户提问 (A/B/C/D 选项) 确认细节。
53
+ - 需求模糊时向用户提问确认。
62
54
 
63
- **Output**: 更新后的 Spec、UI 文档及 `ui_concept.html` / `ui_context.md` 变更摘要。
55
+ **Output**: 更新后的文档及变更摘要。
64
56
  </step_2_refine_docs>
65
57
 
66
58
  <step_3_update_plan>
67
- **Role**: Tech Lead
68
59
  **Action**:
69
- - 在 `plan.json` `phases` 数组中追加新 Phase 对象。
70
- - 列出具体 Tasks (API update, UI tweak, Test update);每项须可验证。
71
- - **状态转换**: 若当前任务 status=`done`,追加 Phase 后须将状态重置为 `active`(否则后续 `/archi.code` 将被 Status Gate 拒绝)。
60
+ - 在 `plan.json` 追加新 Phase,列出具体 Tasks;每项须可验证。
61
+ - **状态转换**: status=`done` 时追加 Phase 后须重置为 `active`。
72
62
 
73
- **Terminal Gate** (禁止跳过,须在 step_3_5 开始前全部完成):
63
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)
74
64
  | 步骤 | 命令 | 通过条件 |
75
65
  |:---|:---|:---|
76
- | 1 | `npx archi task --check` | ERROR 级问题 |
77
- | 2 | `npx archi render` | `.md` 视图生成完成 |
78
- | 3 | [当前 status=done] `npx archi task <ID> --status active` | 任务状态已重置为 active |
66
+ | 3 | [当前 status=done] `npx archi task <ID> --status active` | 状态已重置 |
79
67
 
80
- **Output**: 追加了新任务的 plan.json;若执行了状态转换,输出 `MODIFIED: roadmap.json <ID>.status done→active`。
68
+ **Output**: 追加了新任务的 plan.json;若执行状态转换,输出 `MODIFIED: roadmap.json <ID>.status done→active`。进入 step_4_verify。
81
69
  </step_3_update_plan>
82
70
 
83
- <step_3_5_verify>
71
+ <step_4_data_sync>
72
+ **数据治理同步**:
73
+
74
+ [[SUBAGENT: archi-data-sync|context: 扫描需求变更引入的新业务实体/错误码/Schema/端点/命令/导出,按 00_system.md 规则增量同步]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-data-sync/SKILL.md`,按其执行协议操作)]]
75
+ </step_4_data_sync>
76
+
77
+ <step_4_verify>
84
78
  **Role**: 独立审查官
85
79
 
86
- [[SUBAGENT: archi-silent-audit|mode: plan-docs, context: 审查 step_2 更新的 spec.md/ui.md 与 step_3 追加的 plan.json 新 Phase,确保文档逻辑自洽、新 Phase tasks 可验证]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: plan-docs 的审查维度表逐项检查)]]
80
+ [[SUBAGENT: archi-silent-audit|mode: plan-docs, context: 审查 step_2 更新的 spec.md/ui.md 与 step_3 追加的 plan.json 新 Phase]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: plan-docs 审查)]]
87
81
 
88
82
  [[INCLUDE: shared/verify-result-handling.md]]
89
- </step_3_5_verify>
83
+ </step_4_verify>
84
+
85
+ <step_6_summary>
86
+ **Pre-signoff Checklist** (输出前须逐项确认):
87
+ □ spec.md — 已按 context 更新,变更已追踪
88
+ □ (仅ui项目,ui有修改)ui.md + screens/S-XX.html + ui_context.md — 已同步更新
89
+ □ plan.json — 新 Phase 已追加(历史任务完整保留)
90
+ □ (原 status=done)roadmap.json — status 已重置为 active
91
+ □ 全局文件 — 变更涉及的相关 JSON 已同步更新
92
+ - dictionary.json + error_codes.json + env_registry.json — 必检
93
+ - (仅ui项目)design_tokens.json + ui_context.md
94
+ - (仅data项目)data_snapshot.json
95
+ - (仅api项目)api_snapshot.json
96
+ - (仅cli项目)command_api.json
97
+ - (仅lib项目)public_api.json
98
+ □ Step 4 Data Sync — archi-data-sync 已执行
99
+ □ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
100
+ □ Terminal Gate — task --check 无 ERROR(step_3 中已执行)
90
101
 
91
- <step_4_summary>
92
102
  **Action** (Gate 须在 step_3 完成):
93
103
  **Output**: Task 更新摘要,含 Spec/UI/Plan 变更概要和 Next Steps 表格。推荐运行 `/archi.code <ID>`。
94
- </step_4_summary>
104
+ </step_6_summary>
95
105
 
96
106
  </protocol_edit>
@@ -1,5 +1,5 @@
1
1
  <protocol_fix>
2
- **Trigger**: `/archi.fix [id] <context>`
2
+ **Trigger**: `/archi.fix [id] <context>` | 自然语言触发时由 Workflow Dispatch 自动加载
3
3
  **Goal**: 针对 Bug 进行诊断并直接执行修复。若未提供 `[id]`,自动定位相关功能模块。
4
4
 
5
5
  <meta>
@@ -11,6 +11,7 @@
11
11
  3. **Root Cause**: 须分析根因,而非修补表面。
12
12
  4. **Test-Driven**: 修复计划须含新增测试用例。
13
13
  5. **Auto-Discovery**: 若未指定 ID,通过 Context 语义搜索定位 Task。
14
+ 6. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
14
15
  </principles>
15
16
  </meta>
16
17
 
@@ -21,8 +22,8 @@
21
22
  - 有 `<id>`: 锁定 `tasks/<ID>_<Slug>/`。
22
23
  - 无 `<id>`: 分析 `[context]` 搜索最相关模块。
23
24
  唯一匹配 → 自动锁定 | 多个匹配 → 列出候选询问 | 无法定位 → 报错请求指定 ID。
24
- 2. 读取目标目录下所有文档 (`spec.md`, `ui.md`, `plan.json`) 与相关代码。
25
- 3. 读取 `02_tech_stack.md`(确保修复方式不违反技术红线)和 `[[__DOCS_DIR__]]/global/vision.md`(确保修复方向不偏离项目愿景)。
25
+ 2. 读取目标目录下所有文档与相关代码。
26
+ 3. 读取项目上下文(tech_stack、vision),详见 00_system.md 数据治理规则。
26
27
  4. 分析 `[context]`,结合代码逻辑定位潜在故障点。
27
28
  5. **Hypothesis**: 提出 1-3 个根因假设。
28
29
 
@@ -30,33 +31,26 @@
30
31
  </step_1_diagnose>
31
32
 
32
33
  <step_2_plan_fix>
33
- **Role**: Tech Lead
34
34
  **Action**:
35
- - 更新 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/plan.json`,在 `phases` 数组中追加 phase 对象,`name` 为 `Bugfix: <Bug Title>`。
35
+ - 更新 plan.json,追加 phase `Bugfix: <Bug Title>`。
36
36
  - Tasks: 1) 创建复现测试(Red) 2) 修复(Green) 3) 回归测试。
37
37
 
38
- **Terminal Gate** (禁止跳过,须在 step_3 开始前全部完成):
39
- | 步骤 | 命令 | 通过条件 |
40
- |:---|:---|:---|
41
- | 1 | `npx archi task --check` | 无 ERROR 级问题 |
42
- | 2 | `npx archi render` | `.md` 视图生成完成 |
38
+ **Terminal Gate** (禁止跳过): 标准检查 (task --check + render)
43
39
 
44
40
  **Output**: 追加了修复任务的 plan.json。
45
41
  </step_2_plan_fix>
46
42
 
47
43
  <step_3_execute_fix>
48
- **Role**: 资深工程师 (Surgical Fix — 仅改 Bug,禁扩散)
49
44
  **Action**:
50
- - 根据 Plan 直接修改代码。
51
- - 仅修复 Bug,禁借机重构或改无关代码。
52
- - 错误处理遵循 `code.md` 规范(禁吞错/禁静默失败)。
45
+ - 根据 Plan 直接修改代码。仅修复 Bug,禁借机重构。
46
+ - 错误处理遵循 `code.md` 规范。
53
47
  </step_3_execute_fix>
54
48
 
55
49
  <step_4_verify>
56
- **Role**: QA 工程师
57
- **Terminal Gate** (禁止跳过,须在 step_5 输出前全部完成):
50
+ **Terminal Gate** (禁止跳过):
58
51
  | 步骤 | 命令 | 通过条件 |
59
52
  |:---|:---|:---|
53
+ | 0 | 检查 `scripts/validate` | 存在则必须运行,以其结果为准 |
60
54
  | 1 | 运行构建命令 | 构建成功 |
61
55
  | 2 | 运行类型检查 | 零类型错误 |
62
56
  | 3 | 运行 Lint/Format | 通过 |
@@ -65,28 +59,44 @@
65
59
  任何失败须修复至通过。
66
60
 
67
61
  **代码质量审查**:
68
- [[SUBAGENT: archi-silent-audit|mode: code-impl, context: 审查 step_3 修复的代码,重点检查 Tech/Security/Performance 维度及 Spec Immutable 原则(禁改 spec/ui)]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: code-impl 的审查维度表逐项检查)]]
62
+ [[SUBAGENT: archi-silent-audit|mode: code-impl, context: 审查修复代码,重点 Tech/Security/Performance + Spec Immutable]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-silent-audit/SKILL.md`,按 mode: code-impl 检查)]]
69
63
 
70
64
  [[INCLUDE: shared/verify-result-handling.md]]
71
65
  </step_4_verify>
72
66
 
73
- <step_4_5_plan_update>
74
- **Role**: Tech Lead
75
- **Action**:
76
- 1. 更新 `plan.json`:将 Bugfix Phase 中已完成的 tasks 的 `done` 设为 `true`。
77
- 2. [当前 status=`done` 且 Bugfix Phase 全部通过] → 保持 `done` 不变。
78
- 3. [Bugfix Phase 有未通过项] → 运行 `npx archi task <ID> --status active`;signoff 输出中标注须重新 `/archi.code` 完成剩余修复。
67
+ <step_4_5_data_sync>
68
+ **数据治理同步**:
79
69
 
80
- **Output**: `MODIFIED: plan.json Bugfix Phase done 标记`(如状态变更,附 `MODIFIED: roadmap.json <ID>.status`)。
81
- </step_4_5_plan_update>
70
+ [[SUBAGENT: archi-data-sync|context: 扫描 Bug 修复引入的新业务实体/错误码/Schema,按 00_system.md 规则增量同步]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-data-sync/SKILL.md`,按其执行协议操作)]]
71
+ </step_4_5_data_sync>
72
+
73
+ <step_5_plan_update>
74
+ **Action**:
75
+ 1. 更新 plan.json Bugfix Phase 中已完成 tasks 的 `done: true`。
76
+ 2. [status=`done` 且 Bugfix 全通过] → 保持 `done`。
77
+ 3. [Bugfix 有未通过项] → `npx archi task <ID> --status active`;signoff 标注须重新 `/archi.code`。
78
+
79
+ **Output**: `MODIFIED: plan.json Bugfix Phase done 标记`。进入 step_6_summary。
80
+ </step_5_plan_update>
81
+
82
+ <step_6_summary>
83
+ **Pre-signoff Checklist** (输出前须逐项确认):
84
+ □ 根因已分析(非表面修补),Hypothesis 已在 step_1 输出
85
+ □ plan.json — Bugfix Phase 已追加(step_2)
86
+ □ 复现测试已创建并验证(Red → Green)
87
+ □ 代码修复仅针对 Bug,无借机重构
88
+ □ Step 4.5 Data Sync — archi-data-sync 已执行
89
+ □ Step 4 Terminal Gate — 构建/类型检查/Lint/测试全部通过
90
+ □ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
91
+ □ plan.json Bugfix Phase — done 标记已更新(step_5)
82
92
 
83
- <step_5_summary>
84
93
  **Output**: Bug 修复摘要,含 Root Cause 分析、修复内容、新增测试,以及 Next Steps 表格:
85
94
 
86
95
  | 优先级 | 动作 | 说明 |
87
96
  |:---|:---|:---|
88
- | 推荐 | `/archi.audit <ID>` | 重新审查,确认修复完整且无新引入问题 |
89
- | 可选 | `/archi.code <ID>` | 如有 Bugfix Phase 未完成项,继续实现 |
90
- </step_5_summary>
97
+ | (如无 scripts/) | `/archi.script` | 生成自动化验证脚本 |
98
+ | 推荐 | `/archi.audit <ID>` | 重新审查,确认修复完整 |
99
+ | 可选 | `/archi.code <ID>` | 如有未完成项,继续实现 |
100
+ </step_6_summary>
91
101
 
92
102
  </protocol_fix>
@@ -14,17 +14,15 @@
14
14
  </meta>
15
15
 
16
16
  <step_1_load_context>
17
- **Role**: 项目观察员
18
17
  **Action**:
19
- 1. 读取 `[[__DOCS_DIR__]]/global/roadmap.json` — 仅提取每个 task 的 `id/title/status/deps/tag` 字段;`goal/notes` 字段跳过(导航和状态聚合不需要这些详情)。
20
- 2. 扫描 `[[__DOCS_DIR__]]/tasks/` 目录 — 获取已有 Task 及其文档完整度(有无 spec.md / ui.md / plan.json)。
21
- 3. [?question] 若用户带了问题,根据问题语义定位相关文件(spec / plan / vision / tech_stack / data_snapshot 等),按需读取。
18
+ 1. **Load**: roadmap.json(仅 id/title/status/deps/tag,跳过 goal/notes)。
19
+ 2. **Scan Tasks**: 扫描 tasks/ 目录 — 获取已有 Task 及其文档完整度(有无 spec.md / ui.md / plan.json)。
20
+ 3. [?question] 若用户带了问题,根据语义定位相关文件按需读取。
22
21
 
23
- **Output**: 内部上下文(不直接输出给用户)。
22
+ **Output**: 内部上下文(不输出给用户)。
24
23
  </step_1_load_context>
25
24
 
26
25
  <step_2_route>
27
- **Role**: 路由器
28
26
  **Action**: 根据输入分支:
29
27
 
30
28
  | 输入 | 分支 |
@@ -35,33 +33,27 @@
35
33
  </step_2_route>
36
34
 
37
35
  <step_3_navigate>
38
- **Role**: 项目导航员
39
36
  **Action**:
40
37
  1. **判断项目阶段**:
41
38
 
42
39
  | 信号 | 阶段 | 建议 |
43
40
  |:---|:---|:---|
44
41
  | roadmap.json 不存在 | 未初始化 | 新项目 → `/archi.start`;已有代码 → `/archi.inherit` |
45
- | 有 roadmap 但无 Task 目录 | 已启动,未规划 | 运行 `/archi.scope` 规划新任务 |
46
- | 有 Legacy stub (Spec-Status: Stub) | 已继承,未补全 | 运行 `/archi.edit LEG-xx` 补全 spec |
47
- | 有 active 任务且 plan.json 完整 | 可编码 | 运行 `/archi.code <ID>` |
48
- | 有 active 任务但缺 spec/plan | 规划未完成 | 运行 `/archi.plan <ID>` 补全 |
49
- | 所有任务 done | 已完成 | 运行 `/archi.scope` 规划新任务或发布 |
42
+ | 有 roadmap 但无 Task 目录 | 已启动,未规划 | `/archi.scope` 规划新任务 |
43
+ | 有 Legacy stub (Spec-Status: Stub) | 已继承,未补全 | `/archi.edit LEG-xx` 补全 spec |
44
+ | 有 active 任务且 plan.json 完整 | 可编码 | `/archi.code <ID>` |
45
+ | 有 active 任务但缺 spec/plan | 规划未完成 | `/archi.plan <ID>` 补全 |
46
+ | 所有任务 done | 已完成 | `/archi.scope` 规划新任务或发布 |
50
47
  | 有 blocked 任务 | 存在阻塞 | 提示阻塞原因与前置依赖 |
51
48
 
52
- 2. **输出格式**:
53
- - 一句话总结当前状态
54
- - 推荐的下一步操作(含具体命令)
55
- - 如有多个可选路径,列出优先级排序(最多 3 个)
49
+ 2. **Output**: 一句话总结状态 + 推荐下一步(含命令)+ 可选路径(≤3 个,按优先级)。
56
50
  </step_3_navigate>
57
51
 
58
52
  <step_4_answer>
59
- **Role**: 项目顾问
60
53
  **Action**:
61
- 1. 解析 `[question]` 语义,定位相关项目文件。
62
- 2. 读取相关文件,综合回答。
63
- 3. 若问题涉及操作(如"怎么做 X"),回答须包含具体命令建议。
64
- 4. 若信息不足以回答,明确告知缺少什么,而非编造。
54
+ 1. 解析 `[question]` 语义,定位相关项目文件并读取。
55
+ 2. 综合回答;涉及操作的问题须包含具体命令建议。
56
+ 3. 信息不足以回答时,明确告知缺少什么,禁编造。
65
57
 
66
58
  **Output**: 基于项目上下文的简洁回答 + 相关文件引用。
67
59
  </step_4_answer>