architext 0.0.3 → 0.0.5

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 (118) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/README.md +94 -12
  3. package/README.zh-CN.md +94 -12
  4. package/dist/index.js +43 -39
  5. package/dist/templates/en/briefs/_base.md +44 -11
  6. package/dist/templates/en/briefs/_modules.md +31 -4
  7. package/dist/templates/en/docs/global/api_snapshot.json +24 -0
  8. package/dist/templates/en/docs/global/command_api.json +26 -0
  9. package/dist/templates/en/docs/global/env_registry.json +12 -0
  10. package/dist/templates/en/docs/global/map.json +5 -0
  11. package/dist/templates/en/docs/global/public_api.json +12 -0
  12. package/dist/templates/en/docs/prompts/audit.md +80 -94
  13. package/dist/templates/en/docs/prompts/code.md +100 -109
  14. package/dist/templates/en/docs/prompts/edit.md +52 -47
  15. package/dist/templates/en/docs/prompts/fix.md +49 -42
  16. package/dist/templates/en/docs/prompts/help.md +23 -31
  17. package/dist/templates/en/docs/prompts/inherit.md +110 -116
  18. package/dist/templates/en/docs/prompts/map.md +47 -69
  19. package/dist/templates/en/docs/prompts/plan.md +160 -171
  20. package/dist/templates/en/docs/prompts/recover.md +48 -0
  21. package/dist/templates/en/docs/prompts/ref.md +163 -0
  22. package/dist/templates/en/docs/prompts/remove.md +55 -107
  23. package/dist/templates/en/docs/prompts/revise.md +63 -106
  24. package/dist/templates/en/docs/prompts/scope.md +77 -117
  25. package/dist/templates/en/docs/prompts/start.md +93 -139
  26. package/dist/templates/en/docs/shared/verify-result-handling.md +6 -0
  27. package/dist/templates/en/docs/templates/design.template.md +77 -0
  28. package/dist/templates/en/docs/templates/spec.template.md +60 -25
  29. package/dist/templates/en/rules/00_system.md +36 -79
  30. package/dist/templates/en/rules/01_workflow.md +59 -57
  31. package/dist/templates/en/rules/03_data_governance.md +46 -42
  32. package/dist/templates/en/skills/archi-data-sync/SKILL.md +83 -0
  33. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +166 -151
  34. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +140 -0
  35. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +118 -0
  36. package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -1
  37. package/dist/templates/en/skills/archi-plan-options/SKILL.md +4 -3
  38. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +118 -0
  39. package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +315 -270
  40. package/dist/templates/zh/briefs/_base.md +46 -14
  41. package/dist/templates/zh/briefs/_modules.md +29 -2
  42. package/dist/templates/zh/docs/global/api_snapshot.json +24 -0
  43. package/dist/templates/zh/docs/global/command_api.json +26 -0
  44. package/dist/templates/zh/docs/global/data_snapshot.json +0 -1
  45. package/dist/templates/zh/docs/global/design_tokens.json +0 -1
  46. package/dist/templates/zh/docs/global/dictionary.json +1 -1
  47. package/dist/templates/zh/docs/global/env_registry.json +12 -0
  48. package/dist/templates/zh/docs/global/error_codes.json +0 -8
  49. package/dist/templates/zh/docs/global/map.json +28 -3
  50. package/dist/templates/zh/docs/global/public_api.json +12 -0
  51. package/dist/templates/zh/docs/global/vision.md +1 -1
  52. package/dist/templates/zh/docs/prompts/audit.md +43 -57
  53. package/dist/templates/zh/docs/prompts/code.md +68 -77
  54. package/dist/templates/zh/docs/prompts/edit.md +44 -39
  55. package/dist/templates/zh/docs/prompts/fix.md +33 -26
  56. package/dist/templates/zh/docs/prompts/help.md +13 -21
  57. package/dist/templates/zh/docs/prompts/inherit.md +81 -87
  58. package/dist/templates/zh/docs/prompts/map.md +23 -45
  59. package/dist/templates/zh/docs/prompts/plan.md +134 -146
  60. package/dist/templates/zh/docs/prompts/recover.md +48 -0
  61. package/dist/templates/zh/docs/prompts/ref.md +163 -0
  62. package/dist/templates/zh/docs/prompts/remove.md +31 -83
  63. package/dist/templates/zh/docs/prompts/revise.md +43 -84
  64. package/dist/templates/zh/docs/prompts/scope.md +53 -93
  65. package/dist/templates/zh/docs/prompts/start.md +75 -121
  66. package/dist/templates/zh/docs/shared/verify-result-handling.md +6 -0
  67. package/dist/templates/zh/docs/templates/design.template.md +77 -0
  68. package/dist/templates/zh/docs/templates/spec.template.md +60 -25
  69. package/dist/templates/zh/rules/00_system.md +37 -80
  70. package/dist/templates/zh/rules/01_workflow.md +60 -58
  71. package/dist/templates/zh/rules/02_tech_stack.md +7 -6
  72. package/dist/templates/zh/rules/03_data_governance.md +43 -39
  73. package/dist/templates/zh/rules/99_context_glue.md +2 -2
  74. package/dist/templates/zh/skills/archi-data-sync/SKILL.md +83 -0
  75. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +70 -56
  76. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +140 -0
  77. package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +118 -0
  78. package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -1
  79. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +26 -25
  80. package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +118 -0
  81. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +317 -269
  82. package/package.json +1 -1
  83. package/dist/templates/zh-Hant/briefs/_base.md +0 -115
  84. package/dist/templates/zh-Hant/briefs/_modules.md +0 -173
  85. package/dist/templates/zh-Hant/docs/global/data_snapshot.json +0 -31
  86. package/dist/templates/zh-Hant/docs/global/design_tokens.json +0 -135
  87. package/dist/templates/zh-Hant/docs/global/dictionary.json +0 -35
  88. package/dist/templates/zh-Hant/docs/global/error_codes.json +0 -19
  89. package/dist/templates/zh-Hant/docs/global/map.json +0 -94
  90. package/dist/templates/zh-Hant/docs/global/roadmap.json +0 -39
  91. package/dist/templates/zh-Hant/docs/global/vision.md +0 -82
  92. package/dist/templates/zh-Hant/docs/prompts/audit.md +0 -150
  93. package/dist/templates/zh-Hant/docs/prompts/code.md +0 -160
  94. package/dist/templates/zh-Hant/docs/prompts/edit.md +0 -87
  95. package/dist/templates/zh-Hant/docs/prompts/fix.md +0 -86
  96. package/dist/templates/zh-Hant/docs/prompts/help.md +0 -69
  97. package/dist/templates/zh-Hant/docs/prompts/inherit.md +0 -270
  98. package/dist/templates/zh-Hant/docs/prompts/map.md +0 -131
  99. package/dist/templates/zh-Hant/docs/prompts/plan.md +0 -252
  100. package/dist/templates/zh-Hant/docs/prompts/remove.md +0 -162
  101. package/dist/templates/zh-Hant/docs/prompts/revise.md +0 -160
  102. package/dist/templates/zh-Hant/docs/prompts/scope.md +0 -198
  103. package/dist/templates/zh-Hant/docs/prompts/start.md +0 -258
  104. package/dist/templates/zh-Hant/docs/templates/plan.template.json +0 -88
  105. package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +0 -58
  106. package/dist/templates/zh-Hant/docs/templates/spec.template.md +0 -51
  107. package/dist/templates/zh-Hant/docs/templates/ui.template.md +0 -51
  108. package/dist/templates/zh-Hant/rules/00_system.md +0 -123
  109. package/dist/templates/zh-Hant/rules/01_workflow.md +0 -93
  110. package/dist/templates/zh-Hant/rules/02_tech_stack.md +0 -192
  111. package/dist/templates/zh-Hant/rules/03_data_governance.md +0 -102
  112. package/dist/templates/zh-Hant/rules/04_cli_tools.md +0 -50
  113. package/dist/templates/zh-Hant/rules/90_custom_rules.md +0 -21
  114. package/dist/templates/zh-Hant/rules/99_context_glue.md +0 -53
  115. package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +0 -293
  116. package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +0 -86
  117. package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +0 -364
  118. package/dist/templates/zh-Hant/skills/archi-ui-wireframe/SKILL.md +0 -337
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Command Dispatcher & Workflow Controller. Handles /archi.start, /archi.plan, and mode transitions between Discussion, Planning, and Implementation.
2
+ description: Command Dispatcher & Workflow Controller. Handles /archi.* routing and mode transitions.
3
3
  globs: **/*
4
4
  applyTo: **/*
5
5
  alwaysApply: true
@@ -7,87 +7,89 @@ alwaysApply: true
7
7
 
8
8
  # Workflow Dispatcher
9
9
 
10
- > **Role**: 模式切换器。默认保持"通用架构师"模式,仅检测到显式指令时加载特定协议。
10
+ > **Role**: 模式切换器。默认"通用架构师"模式,仅检测到显式指令时加载特定协议。
11
11
 
12
- > ⛔ **STOP CHECK** — 每轮回复前自检,命中任一项须立即停止并说明原因:
12
+ > ⛔ **STOP CHECK** — 每轮回复前自检:
13
13
  > | 违规行为 | 正确处理 |
14
14
  > |:---|:---|
15
- > | 收到 `/archi.*` 指令,却未读取协议文件就开始执行 | 停止 → 先读取协议文件 |
16
- > | 用户请求涉及行为变更,却直接改代码 | 停止 → 引导到对应命令 |
17
- > | 执行 Terminal Gate 命令前未确认工作目录(见 `04_cli_tools.md`) | 停止 → 先通过 Working Directory Gate |
15
+ > | 收到 `/archi.*` 却未读协议文件就执行 | 停止 → 先读取协议文件 |
16
+ > | 用户请求涉及行为变更却直接改代码 | 停止 → 加载对应协议执行 |
17
+ > | 执行 `npx archi` 前未确认工作目录 | 停止 → 先通过 Working Directory Gate(见 `04_cli_tools.md`) |
18
18
 
19
19
  ## 1. Explicit Command Routing
20
20
 
21
- **Trigger**: 用户输入以 `/archi.` 开头时,立即加载对应协议模板。
21
+ **Trigger**: 用户输入以 `/archi.` 开头时,立即加载对应协议。
22
22
 
23
- | Command | Target Template | Action |
24
- |:---|:---|:---|
25
- | `/archi.start` | `[[__DOCS_DIR__]]/prompts/start.md` | Load CPO → Project Initiation |
26
- | `/archi.inherit` | `[[__DOCS_DIR__]]/prompts/inherit.md` | Load Legacy Analyst → Reverse Engineering |
27
- | `/archi.scope` | `[[__DOCS_DIR__]]/prompts/scope.md` | Load Strategist → Requirement Decomposition |
28
- | `/archi.plan` | `[[__DOCS_DIR__]]/prompts/plan.md` | Load Planner → Deep Interview |
29
- | `/archi.edit` | `[[__DOCS_DIR__]]/prompts/edit.md` | Load Editor → Spec Modification |
30
- | `/archi.revise` | `[[__DOCS_DIR__]]/prompts/revise.md` | Load Chief Architect → Global Revision |
31
- | `/archi.code` | `[[__DOCS_DIR__]]/prompts/code.md` | Load Developer → Coding & Auditing |
32
- | `/archi.audit` | `[[__DOCS_DIR__]]/prompts/audit.md` | Load Chief Auditor → Deep Code Audit |
33
- | `/archi.fix` | `[[__DOCS_DIR__]]/prompts/fix.md` | Load Debugger → Diagnosis |
34
- | `/archi.map` | `[[__DOCS_DIR__]]/prompts/map.md` | Load Surveyor → Map Refresh |
35
- | `/archi.remove` | `[[__DOCS_DIR__]]/prompts/remove.md` | Load Surgeon → Task Decommission |
36
- | `/archi.help` | `[[__DOCS_DIR__]]/prompts/help.md` | Load Manual → Display Guide |
37
-
38
- > **Protocol Load Gate** (禁跳过,三步须按序完成):
39
- > 1. **Read** 目标 `.md` 全文 → 文件不存在时停止,输出: `协议文件未找到,中止执行`
40
- > 2. **Override** `00_system` 部分设定
23
+ | Command | Target Template |
24
+ |:---|:---|
25
+ | `/archi.start` | `[[__PROMPTS_PATH__]]/archi.start.md` |
26
+ | `/archi.inherit` | `[[__PROMPTS_PATH__]]/archi.inherit.md` |
27
+ | `/archi.scope` | `[[__PROMPTS_PATH__]]/archi.scope.md` |
28
+ | `/archi.plan` | `[[__PROMPTS_PATH__]]/archi.plan.md` |
29
+ | `/archi.edit` | `[[__PROMPTS_PATH__]]/archi.edit.md` |
30
+ | `/archi.revise` | `[[__PROMPTS_PATH__]]/archi.revise.md` |
31
+ | `/archi.code` | `[[__PROMPTS_PATH__]]/archi.code.md` |
32
+ | `/archi.audit` | `[[__PROMPTS_PATH__]]/archi.audit.md` |
33
+ | `/archi.fix` | `[[__PROMPTS_PATH__]]/archi.fix.md` |
34
+ | `/archi.map` | `[[__PROMPTS_PATH__]]/archi.map.md` |
35
+ | `/archi.remove` | `[[__PROMPTS_PATH__]]/archi.remove.md` |
36
+ | `/archi.ref` | `[[__PROMPTS_PATH__]]/archi.ref.md` |
37
+ | `/archi.recover` | `[[__PROMPTS_PATH__]]/archi.recover.md` |
38
+ | `/archi.help` | `[[__PROMPTS_PATH__]]/archi.help.md` |
39
+
40
+ > **Protocol Load Gate** (禁跳过,按序完成):
41
+ > 1. **Read** 目标 `.md` 全文 → 文件不存在时停止: `协议文件未找到,中止执行`
42
+ > 2. **Override** — 可覆盖: `<system_role>`, `<thinking_process>`, `<communication_style>`。不可覆盖: `<core_philosophy>`, `<critical_protocols>`。
41
43
  > 3. **Execute** `<step_1>` — 禁在步骤 1 完成前执行任何协议内容
42
44
 
43
45
  ---
44
46
 
45
- ## 2. Natural Language Passthrough
46
-
47
- **Trigger**: 用户输入非 `/archi.` 指令文本。
47
+ ## 2. Natural Language Dispatch
48
48
 
49
- ### 2.1 Intent Detection
49
+ **Trigger**: 用户输入非 `/archi.` 指令且涉及业务变更。
50
50
 
51
- **Role**: 智能调度员。检测用户意图,按影响级别决定直接执行或引导到命令。
52
-
53
- **判定标准**: 该修改是否影响已文档化的行为(spec.md 的接口/逻辑/场景、ui.md 的交互/结构、plan.json 的实施步骤)?
51
+ ### §2.0 不触发协议的场景(直接回答)
54
52
 
55
53
  | 意图类型 | 处理 |
56
54
  |:---|:---|
57
- | 纯对话 / 代码阅读 / 架构讨论 | ✅ 直接回答,利用基底规则增强 |
55
+ | 纯对话 / 代码阅读 / 架构讨论 | ✅ 直接回答 |
58
56
  | 琐碎修改(typo/注释/格式/日志) | ✅ 直接执行 |
59
- | 行为变更(逻辑/接口/类型/UI) | 🔀 引导 → `/archi.edit` + `/archi.code` |
60
- | Bug 修复 | 🔀 引导 → `/archi.fix` |
61
- | 新增功能 | 🔀 引导 → `/archi.scope` 或 `/archi.plan` |
62
- | 大规模重构 | 🔀 引导 → `/archi.revise` |
63
57
 
64
- ### 2.2 Guided Dispatch (引导规范)
58
+ ### §2.1 Pre-flight(涉及业务变更时触发)
65
59
 
66
- 🔀 引导时须:
67
- 1. 一句话说明为什么需走命令(关联到哪个文档会受影响)
68
- 2. 推荐具体命令 + 参数
69
- 3. 询问用户是否开始
60
+ 1. 扫描 `roadmap.json` + `tasks/<ID>_*/` 目录,匹配用户意图对应的任务。
61
+ 2. 按下表确定应加载的协议:
70
62
 
71
- > **禁**: 先改代码再事后建议走命令。违反此规则须撤销变更并重新引导。
63
+ | 检查结果 | 加载协议 | 确认方式 |
64
+ |:---|:---|:---|
65
+ | roadmap 无匹配任务 | `scope.md` | 告知"我来帮你梳理需求"后直接开始 |
66
+ | 有任务·无 spec.md | `plan.md` | 告知"该任务还没规划,我来做"后直接开始 |
67
+ | 有 spec+plan·status=active | `code.md` | 直接开始(IDE 原生 plan mode 接管节奏) |
68
+ | status=done·用户要修改 | `edit.md` | 告知"我先更新文档再改代码"后开始 |
69
+ | 用户描述了异常行为 | `fix.md` | 直接开始诊断 |
70
+ | 影响 >1 个任务或全局资产 | `revise.md` | 先输出影响评估,等确认 |
72
71
 
73
- ### 2.3 未纳管代码
72
+ 3. 加载协议后按 §1 的 **Protocol Load Gate** 执行(读全文 → override → step_1)。
74
73
 
75
- 修改对象未在 `map.json` 中注册、无对应 Task:
76
- - 告知用户该模块未纳管
77
- - 建议 `/archi.inherit` 或 `/archi.scope` 纳入
78
- - 用户确认"临时调整"后可直接修改
74
+ ### §2.2 链条衔接
79
75
 
80
- ### 2.4 基底规则
76
+ 各协议 Signoff 的 Next Steps 已指向下一个协议。AI 须:
77
+ - 主动提示下一步("spec 写好了,要开始实现吗?")
78
+ - 用户确认后,直接加载下一个协议继续
81
79
 
82
- 所有场景(含引导和纯对话)均依赖以下基底规则:
80
+ | 衔接 | 串联方式 |
81
+ |:---|:---|
82
+ | scope → plan | 可连续执行(scope 完成后主动询问"要 plan 第一个任务吗?") |
83
+ | plan → code | **须等用户确认**(spec 是最重要的 checkpoint) |
84
+ | code → audit | 协议内置(code.md step_5 已有 silent audit) |
83
85
 
84
- | Layer | File | Role |
85
- |:---|:---|:---|
86
- | Core | `00_system.md` | 身份设定,核心原则 |
87
- | Tech | `02_tech_stack.md` | 技术红线,编码规范 |
88
- | Custom | `90_custom_rules.md` | 团队特殊约束 |
89
- | Context | `99_context_glue.md` | 自动关联上下文文档 |
86
+ > **禁**: 在用户未确认时自动从 plan 串联到 code。
87
+
88
+ ### §2.3 IDE 协作
89
+
90
+ 利用 IDE 原生能力(plan mode / agent mode / checkpoint)驱动执行节奏。
91
+ 协议定义"做什么、检查什么",不对抗 IDE 的规划/执行能力。
90
92
 
91
- **End of Dispatcher.**
93
+ ### §2.4 未纳管代码
92
94
 
93
- > CLI 强制执行规则见 `04_cli_tools.md`。
95
+ 修改对象未在 `map.json` 中注册、无对应 Task → **STOP & ASK**,提示用户通过 `/archi.inherit` 或 `/archi.scope` 纳管。
@@ -50,6 +50,7 @@ alwaysApply: true
50
50
 
51
51
  ---
52
52
 
53
+ <!-- ═══════ 以下为固定协议(禁修改) ═══════ -->
53
54
  ## 4. UI Protocol: ITP v3.0 (Dual-Artifact) [可选 - 仅适用于有 UI 的项目]
54
55
  <!-- 核心 UI 描述协议 -->
55
56
  > **Note:** 如果项目没有 UI(如 CLI、Backend API、Library),可以删除此章节。
@@ -109,7 +110,7 @@ UI 制品层级:
109
110
  ### Test Suite (测试套件)
110
111
  * **Unit:** Tool: [例如:Vitest / Jest / pytest / cargo test / go test] Scope: [例如:Utils 工具函数、核心业务逻辑、算法] Rule: [例如:须 Mock 外部依赖;禁对易变 UI 做快照测试]
111
112
  * **Integration:** Tool: [例如:Vitest + Testcontainers / pytest + Docker] Scope: [例如:API→DB 写入链路 / CLI 完整执行流程]
112
- * **E2E:** Tool: [例如:[?Web] Playwright / Cypress [?API] Supertest / httpie [?CLI] bats / shell script [?Lib] 示例项目 + 自动化脚本 [?Mobile] Detox / Maestro] Scope: [例如:[?Web] 核心用户路径 [?API] 关键 endpoint 全链路 [?CLI] 关键命令全流程 [?Lib] 公开 API 典型使用场景]
113
+ * **E2E:** Tool: [例如:(仅ui项目) Playwright / Cypress (仅api项目) Supertest / httpie (仅cli项目) bats / shell script (仅lib项目) 示例项目 + 自动化脚本 (仅mobile项目) Detox / Maestro] Scope: [例如:(仅ui项目) 核心用户路径 (仅api项目) 关键 endpoint 全链路 (仅cli项目) 关键命令全流程 (仅lib项目) 公开 API 典型使用场景]
113
114
  * **Test Command:** [例如:`pnpm test` / `pytest` / `cargo test` / `go test ./...`]
114
115
 
115
116
  ### Environment Scripts (环境脚本)
@@ -158,9 +159,9 @@ UI 制品层级:
158
159
  | :--- | :--- | :--- |
159
160
  | **Unit Tests** | [e.g. Centralized 或 Colocation] | `__tests__/utils/date.test.ts` / `utils/date.test.ts` |
160
161
  | **Interfaces/Types** | [e.g. Near usage 或 Global types] | `types/user.d.ts` / `domain/user.entity.ts` |
161
- | **Assets/Images** [?UI] | [e.g. Public 或 Module assets] | `public/images` / `assets/` |
162
- | **Styles** [?UI] | [e.g. 按组件或全局] | `Button.module.css` / `global.css` |
163
- | **DTOs/Models** [?Data] | [e.g. Domain 或 Shared] | `domain/user/dto` / `models/` |
162
+ | **Assets/Images**(仅ui项目) | [e.g. Public 或 Module assets] | `public/images` / `assets/` |
163
+ | **Styles**(仅ui项目) | [e.g. 按组件或全局] | `Button.module.css` / `global.css` |
164
+ | **DTOs/Models**(仅data项目) | [e.g. Domain 或 Shared] | `domain/user/dto` / `models/` |
164
165
 
165
166
  ---
166
167
 
@@ -183,10 +184,10 @@ UI 制品层级:
183
184
  * **Strategy:** [例如:Fail Fast + Form Validation / Fail Fast (stderr) / Schema Validation + Fail Fast]
184
185
  * **Rationale:** [例如:表单密集型应用,需前端实时校验 + 后端快速失败]
185
186
 
186
- ### Data Flow (数据流模式) [?UI]
187
+ ### Data Flow (数据流模式) (仅ui项目)
187
188
  * **Default:** [例如:Standard Request + SWR / Realtime (Socket) / Polling]
188
189
  * **Rationale:** [例如:大部分页面为 CRUD 读写,SWR 做缓存和重新验证]
189
190
 
190
- ### Auth & Access (认证与权限) [?Web/API]
191
+ ### Auth & Access (认证与权限) (仅ui或api项目)
191
192
  * **Mechanism:** [例如:JWT + RBAC / Session + Owner Only / API Key]
192
193
  * **Rationale:** [例如:多角色后台管理系统,需细粒度权限控制]
@@ -11,14 +11,18 @@ alwaysApply: true
11
11
 
12
12
  ## 1. 数据文件清单
13
13
 
14
- | 文件 | 类型 | 读取时机 | 写入时机 |
15
- |:---|:---|:---|:---|
16
- | `roadmap.json` | 路线图 | `/archi.plan`, `/archi.code` 开始时 | `/archi.start` 创建; AI 直接编辑或 `npx archi task` 更新状态 |
17
- | `map.json` | 架构地图 | 触碰代码时 (via context_glue) | `/archi.plan` Step 3 (全局同步); `/archi.inherit` Step 3.6; `/archi.map` |
18
- | `dictionary.json` | 术语字典 | 生成变量名/命名时 | `/archi.plan` Step 3; code/fix 后 step_5 自动追加 |
19
- | `design_tokens.json` | 设计令牌 [?UI] | 生成 UI 代码时 | `/archi.start` 创建; 设计变更时更新 |
20
- | `data_snapshot.json` | 数据快照 [?Data] | `/archi.plan` Q1 设计; `/archi.code` 实现时 | Plan 阶段设计 Schema; Code 阶段同步实际变更 |
21
- | `error_codes.json` | 错误码契约 | 编写错误处理时 | `/archi.plan` Step 3; code/fix 后 step_5 自动追加 |
14
+ | 文件 | 读取时机 | 写入时机 |
15
+ |:---|:---|:---|
16
+ | `roadmap.json` | plan/code 开始时 | start 创建; AI 编辑或 `npx archi task` 更新 |
17
+ | `map.json` | 触碰代码时 (via context_glue) | plan Step 3; inherit Step 3.6; /archi.map |
18
+ | `dictionary.json` | 生成变量名/命名时 | plan Step 3; code/fix 后 step_5 自动追加 |
19
+ | `design_tokens.json`(仅ui) | 生成 UI 代码时 | start 创建; 设计变更时更新 |
20
+ | `data_snapshot.json`(仅data) | plan 设计/code 实现时 | Plan 设计 Schema; Code 同步变更 |
21
+ | `error_codes.json` | 编写错误处理时 | plan Step 3; code/fix 后 step_5 自动追加 |
22
+ | `api_snapshot.json`(仅api) | 实现/对接端点时 | plan Step 3 注册; Code 同步 |
23
+ | `env_registry.json`(仅api) | 引入新配置项时 | Code 引入新 env var 后立即追加 |
24
+ | `command_api.json`(仅cli) | 实现/修改命令时 | plan Step 3 注册; Code 同步 |
25
+ | `public_api.json`(仅lib) | 新增/修改导出时 | plan Step 3 注册; Code 同步 |
22
26
 
23
27
  ---
24
28
 
@@ -26,19 +30,19 @@ alwaysApply: true
26
30
 
27
31
  ### 2.1 格式约束
28
32
 
29
- - **JSON Only**: 全局数据的唯一真理源是 `.json` 文件。`.md` 视图由 `npx archi render` 自动生成,禁直接编辑 `.md` 视图。
30
- - **Schema Stability**: 分两档管理:
31
- - **Tier 1 (严格)**: `roadmap.json`, `plan.json` — CLI 渲染/命令直接依赖,结构由 Zod Schema 校验,禁随意变更字段。
32
- - **Tier 2 (宽松)**: `dictionary.json`, `error_codes.json`, `data_snapshot.json`, `design_tokens.json`, `map.json` — 仅校验顶层 key 存在。若现有字段无法充分描述需记录的内容,可自行扩展字段(添加新 key 或在数组 item 中添加新属性),无需修改 CLI
33
- - **Valid JSON**: 写入后须保证合法 JSON (无尾逗号、无注释)。
33
+ - **JSON Only**: `.json` 是唯一真理源。`.md` 视图由 `npx archi render` 生成,禁直接编辑。
34
+ - **Schema Stability**:
35
+ - **Tier 1 (严格)**: `roadmap.json`, `plan.json` — CLI 直接依赖,Zod Schema 校验,禁随意变更。
36
+ - **Tier 2 (宽松)**: 其余文件仅校验顶层 key。**所有 Tier 2 文件均可自行扩展字段(新 key / 新数组属性),无需改 CLI。**
37
+ - **Valid JSON**: 无尾逗号、无注释。
34
38
 
35
39
  ### 2.2 读写纪律
36
40
 
37
41
  | 场景 | 规则 |
38
42
  |:---|:---|
39
- | 需要查阅数据 | 读取 `.json` 文件,禁读 `.md` 视图 (可能过期) |
40
- | 需要更新 Roadmap 任务状态 | 优先使用 `npx archi task <ID> --status <s>`; 批量更新时可直接编辑 JSON |
41
- | 需要更新其他数据文件 | AI 直接编辑 `.json` 文件 |
43
+ | 查阅数据 | `.json`,禁读 `.md` 视图(可能过期) |
44
+ | 更新 Roadmap 状态 | 优先 `npx archi task <ID> --status <s>`; 批量时可直接编辑 JSON |
45
+ | 更新其他数据 | AI 直接编辑 `.json` |
42
46
  | 更新后 | 运行 `npx archi render` 重新生成 `.md` 视图 |
43
47
 
44
48
  ---
@@ -56,41 +60,41 @@ alwaysApply: true
56
60
 
57
61
  - **Directory Mapping**: 须反映真实物理文件树。
58
62
  - **Logical Topology**: 须注册每个 Task Module 的职责。
59
- - **Feature Relations**(字段 `featureRelations`): 记录聚合型 Task 与其来源的联动关系。每条结构为 `{ aggregator, sources, evidence, checkNote }`;由 AI 在 `/archi.plan`(规划聚合型 Task 时)或 `/archi.inherit`(逆向扫描时)写入,无需用户手动维护。
60
- - **自我校正**: 若代码引用违反拓扑定义的层级关系,须报错并停止生成。
61
- - **可扩展**: 若现有字段不足以描述项目架构,可在 item 中自行添加字段(如 `tags`、`owner`),或添加新顶层 key。
63
+ - **Feature Relations**: `featureRelations` 记录聚合型 Task 与来源的联动关系,由 AI 在 plan/inherit 时写入。
64
+ - **自我校正**: 代码引用违反拓扑层级关系时,须报错并停止。
62
65
 
63
66
  ### `dictionary.json`
64
67
 
65
- - **命名权威**: 本文件是命名的最高法律。
66
- - **Boundary**: 仅注册**项目业务域**内容。Architext 框架自身概念(scripts、scaffold、roadmap、plan 等)禁注册。
67
- - **entities**: 生成变量名前须查阅 `entities[].codeName`;禁使用 `forbiddenSynonyms` 中的词。
68
- - **verbs**: 业务动作命名须查阅 `verbs[].codeName`,保持全项目动词一致。
69
- - **utilities**: 封装的共享工具(如 logger、AppError、fetchClient)须注册;AI 须用已注册工具替代原始 API(参照 `replaces` 字段)。
70
- - **components** [?UI]: 创建新组件前须搜索现有组件,优先复用。
71
- - **可扩展**: 若现有字段不足以描述某个术语/工具,可在对应数组 item 中自行添加字段(如 `tags`、`scope`、`deprecated`),也可添加新顶层数组(如 `enums`、`constants`)。
68
+ - **命名权威**: `entities[].codeName` 是最高法律;禁用 `forbiddenSynonyms` 中的词。
69
+ - **Boundary**: 仅注册项目业务域;Architext 框架概念禁注册。
70
+ - verbs 保持全项目动词一致;utilities 须注册并用已注册工具替代原始 API。
71
+ - 仅ui项目: components 创建前须搜索复用。
72
72
 
73
- ### `design_tokens.json` [?UI]
73
+ ### `design_tokens.json`(仅ui项目)
74
74
 
75
75
  - **Token Only**: 样式严格使用 Token;禁硬编码 Hex/px/rem。
76
76
  - **Dark Mode**: 须同时定义 `light` 和 `dark` 值。
77
- - **可扩展**: 若现有 Token 结构不足以覆盖项目需求(如 `motion`、`breakpoints`、`z-index`),可自行添加新属性。
78
77
 
79
- ### `data_snapshot.json` [?Data]
78
+ ### `data_snapshot.json`(仅data项目)
80
79
 
81
- - **结构**: `models[]`(名称、字段、类型、约束)+ `relationships[]`(模型间关系:1:1/1:N/M:N/self-ref)。
82
- - **Design First**: Plan 阶段须定义模型结构和字段类型,禁写 "TBD",须精确到字段名与类型。
83
- - **Sync Back**: Code 阶段完成后,须将实际变更同步回此文件。
84
- - **可扩展**: 若现有字段不足以描述数据模型(如需记录 `indexes`、`triggers`、`seedData`),可在 model item 或顶层自行添加字段。
80
+ - **结构**: `models[]`(名称/字段/类型/约束)+ `relationships[]`(1:1/1:N/M:N/self-ref)。
81
+ - **Design First**: Plan 须定义模型结构,精确到字段名与类型,禁写 "TBD"
82
+ - **Sync Back**: Code 完成后须将实际变更同步回此文件。
85
83
 
86
84
  ### `error_codes.json`
87
85
 
88
- - **Boundary**: 仅注册**项目业务域**错误。框架基础设施(scripts/validate、dev-up、dev-reset 等)的错误由脚本自身 exit code + stderr 处理,禁注册到此文件。
89
- - **结构**: `protocolMapping [?API]`(状态码→行为映射)+ `businessErrors`(业务错误注册表)。
90
- - **Code Format**: `ERR_[MODULE]_[REASON]` (如 `ERR_AUTH_INVALID_TOKEN`)。
91
- - **statusCode**: 按项目类型填写(HTTP status / Exit code / 留空)。
92
- - **Design Before Code**: 编写错误处理代码前须先在此注册错误码,含 `message` 和 `recovery`。
93
- - **可扩展**: 若现有字段不足以描述错误信息(如需记录 `severity`、`retryable`、`httpBody`),可在 item 中自行添加字段。
86
+ - **Boundary**: 仅注册项目业务域错误;框架基础设施错误禁注册。
87
+ - **Code Format**: `ERR_[MODULE]_[REASON]`。
88
+ - **Design Before Code**: 编写错误处理前须先注册,含 `message` `recovery`。
89
+
90
+ ### 条件性文件专项
91
+
92
+ | 文件 | 核心规则 |
93
+ |:---|:---|
94
+ | `api_snapshot.json`(仅api) | endpoints[] 注册; Register First 禁实现未登记端点; owner 标注 Task ID |
95
+ | `env_registry.json`(仅api) | 引入即注册; required/example 必填 |
96
+ | `command_api.json`(仅cli) | 修改即同步; owner 标注 Task ID |
97
+ | `public_api.json`(仅lib) | stable 变更须走 /archi.edit; 完整 TS 签名; owner 标注 Task ID |
94
98
 
95
99
  ---
96
100
 
@@ -33,8 +33,8 @@ alwaysApply: true
33
33
  | 代码类型 | 必读上下文 | 真理来源 |
34
34
  |:---|:---|:---|
35
35
  | **Business Logic** (Tasks/Entities) | Spec Document | `[[__DOCS_DIR__]]/global/map.json` → Module Entry |
36
- | **UI Components** (Pages/Widgets) [?UI] | UI Document + `[[__DOCS_DIR__]]/global/design_tokens.json` | `[[__DOCS_DIR__]]/global/map.json` + Global Rules |
37
- | **Data Schema** (ORM/SQL/Models) [?Data] | Data Snapshot | `[[__DOCS_DIR__]]/global/data_snapshot.json` |
36
+ | **UI Components** (Pages/Widgets)(仅ui项目) | UI Document + `[[__DOCS_DIR__]]/global/design_tokens.json` | `[[__DOCS_DIR__]]/global/map.json` + Global Rules |
37
+ | **Data Schema** (ORM/SQL/Models)(仅data项目) | Data Snapshot | `[[__DOCS_DIR__]]/global/data_snapshot.json` |
38
38
  | **Config / Infra** (Package.json...) | Tech Stack | `02_tech_stack.md` |
39
39
 
40
40
  ---
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: archi-data-sync
3
+ type: reviewer
4
+ description: 数据治理同步执行器。在独立上下文中扫描主 Agent 产出,对比全局数据文件的现有状态,按 03_data_governance.md 规则执行增量同步,返回变更 Diff。
5
+ ---
6
+
7
+ # 数据治理同步执行器
8
+
9
+ ## 系统流程定位
10
+
11
+ ```
12
+ /archi.* step_N → Verify 阶段
13
+
14
+ [本 Skill] 扫描产出 → 对比全局文件 → 增量同步 → 返回 Diff
15
+
16
+ 主 Agent Signoff(确认 Diff)
17
+ ```
18
+
19
+ > **Skill 的职责边界**:
20
+ > - 负责:扫描主 Agent 产出中新增的业务实体/错误码/Schema,与全局数据文件对比,执行增量同步
21
+ > - 不负责:修改 `03_data_governance.md` 本身(本 Skill 是规则的执行者,不是制定者)
22
+ > - 不负责:注册框架概念(Architext 框架自身概念禁注册到全局数据文件)
23
+
24
+ ---
25
+
26
+ ## 权威规则源
27
+
28
+ `03_data_governance.md` 是数据治理的唯一权威规则源。本 Skill 的所有行为须与该文件一致。
29
+
30
+ ---
31
+
32
+ ## 同步范围
33
+
34
+ | 全局文件 | 同步内容 | 触发条件 |
35
+ |:---|:---|:---|
36
+ | `dictionary.json` | 新业务实体 · 动作 · 共享工具 · 公共组件 | 产出中出现未登记的业务术语或工具 |
37
+ | `error_codes.json` | 新业务错误码 | 产出中出现未注册的错误场景 |
38
+ | 本任务涉及data时: `data_snapshot.json` | Schema 变更 | 产出中有数据模型新增/修改 |
39
+ | 仅api项目: `api_snapshot.json` | 新端点 | 产出中有新 HTTP/RPC 端点 |
40
+ | 仅api项目: `env_registry.json` | 新环境变量 | 产出中引入新 `process.env.X` |
41
+ | 仅cli项目: `command_api.json` | 新命令 | 产出中有新 CLI 命令 |
42
+ | 仅lib项目: `public_api.json` | 新导出 API | 产出中有新公共导出 |
43
+
44
+ ---
45
+
46
+ ## 执行协议
47
+
48
+ 1. **读取全局数据文件**: 加载上表中与项目 features 匹配的全局文件
49
+ 2. **扫描主 Agent 产出**: 识别新增的业务实体、错误码、Schema、端点等
50
+ 3. **Boundary 检查**: 禁注册框架概念(scripts、scaffold、roadmap、plan 等),仅同步项目业务域内容
51
+ 4. **查重**: 对比现有条目,避免重复注册
52
+ 5. **增量同步**: 仅追加/修改,禁删除已有条目
53
+ 6. **输出变更 Diff**
54
+
55
+ ### 硬边界
56
+
57
+ - **禁直接追加写入** — 须先查现有内容边界再写,避免重复或冲突
58
+ - **禁注册框架概念** — 仅同步项目业务域内容
59
+ - **禁修改 `03_data_governance.md`** — 本 Skill 是规则的执行者
60
+
61
+ ### 输出格式
62
+
63
+ ```
64
+ ### Data Sync Results
65
+
66
+ ADDED:
67
+ - dictionary.json: entities += [新实体名]
68
+ - error_codes.json: businessErrors += [ERR_CODE]
69
+
70
+ MODIFIED:
71
+ - data_snapshot.json: models.User += [新字段]
72
+
73
+ NO CHANGE:
74
+ - [无需同步的文件]
75
+
76
+ **Summary**: X 文件变更 / Y 条新增 / Z 条修改
77
+ ```
78
+
79
+ 无需同步时输出: `### Data Sync Results — NO CHANGES`
80
+
81
+ ---
82
+
83
+ > **中间产物**:此 Skill 为审查型子程序,产出变更 Diff 后控制权交还调用方。