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.
- package/CHANGELOG.md +56 -1
- package/README.md +94 -12
- package/README.zh-CN.md +94 -12
- package/dist/index.js +43 -39
- package/dist/templates/en/briefs/_base.md +44 -11
- package/dist/templates/en/briefs/_modules.md +31 -4
- package/dist/templates/en/docs/global/api_snapshot.json +24 -0
- package/dist/templates/en/docs/global/command_api.json +26 -0
- package/dist/templates/en/docs/global/env_registry.json +12 -0
- package/dist/templates/en/docs/global/map.json +5 -0
- package/dist/templates/en/docs/global/public_api.json +12 -0
- package/dist/templates/en/docs/prompts/audit.md +80 -94
- package/dist/templates/en/docs/prompts/code.md +100 -109
- package/dist/templates/en/docs/prompts/edit.md +52 -47
- package/dist/templates/en/docs/prompts/fix.md +49 -42
- package/dist/templates/en/docs/prompts/help.md +23 -31
- package/dist/templates/en/docs/prompts/inherit.md +110 -116
- package/dist/templates/en/docs/prompts/map.md +47 -69
- package/dist/templates/en/docs/prompts/plan.md +160 -171
- package/dist/templates/en/docs/prompts/recover.md +48 -0
- package/dist/templates/en/docs/prompts/ref.md +163 -0
- package/dist/templates/en/docs/prompts/remove.md +55 -107
- package/dist/templates/en/docs/prompts/revise.md +63 -106
- package/dist/templates/en/docs/prompts/scope.md +77 -117
- package/dist/templates/en/docs/prompts/start.md +93 -139
- package/dist/templates/en/docs/shared/verify-result-handling.md +6 -0
- package/dist/templates/en/docs/templates/design.template.md +77 -0
- package/dist/templates/en/docs/templates/spec.template.md +60 -25
- package/dist/templates/en/rules/00_system.md +36 -79
- package/dist/templates/en/rules/01_workflow.md +59 -57
- package/dist/templates/en/rules/03_data_governance.md +46 -42
- package/dist/templates/en/skills/archi-data-sync/SKILL.md +83 -0
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +166 -151
- package/dist/templates/en/skills/archi-design-patterns/SKILL.md +140 -0
- package/dist/templates/en/skills/archi-feature-relations/SKILL.md +118 -0
- package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -1
- package/dist/templates/en/skills/archi-plan-options/SKILL.md +4 -3
- package/dist/templates/en/skills/archi-silent-audit/SKILL.md +118 -0
- package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +315 -270
- package/dist/templates/zh/briefs/_base.md +46 -14
- package/dist/templates/zh/briefs/_modules.md +29 -2
- package/dist/templates/zh/docs/global/api_snapshot.json +24 -0
- package/dist/templates/zh/docs/global/command_api.json +26 -0
- package/dist/templates/zh/docs/global/data_snapshot.json +0 -1
- package/dist/templates/zh/docs/global/design_tokens.json +0 -1
- package/dist/templates/zh/docs/global/dictionary.json +1 -1
- package/dist/templates/zh/docs/global/env_registry.json +12 -0
- package/dist/templates/zh/docs/global/error_codes.json +0 -8
- package/dist/templates/zh/docs/global/map.json +28 -3
- package/dist/templates/zh/docs/global/public_api.json +12 -0
- package/dist/templates/zh/docs/global/vision.md +1 -1
- package/dist/templates/zh/docs/prompts/audit.md +43 -57
- package/dist/templates/zh/docs/prompts/code.md +68 -77
- package/dist/templates/zh/docs/prompts/edit.md +44 -39
- package/dist/templates/zh/docs/prompts/fix.md +33 -26
- package/dist/templates/zh/docs/prompts/help.md +13 -21
- package/dist/templates/zh/docs/prompts/inherit.md +81 -87
- package/dist/templates/zh/docs/prompts/map.md +23 -45
- package/dist/templates/zh/docs/prompts/plan.md +134 -146
- package/dist/templates/zh/docs/prompts/recover.md +48 -0
- package/dist/templates/zh/docs/prompts/ref.md +163 -0
- package/dist/templates/zh/docs/prompts/remove.md +31 -83
- package/dist/templates/zh/docs/prompts/revise.md +43 -84
- package/dist/templates/zh/docs/prompts/scope.md +53 -93
- package/dist/templates/zh/docs/prompts/start.md +75 -121
- package/dist/templates/zh/docs/shared/verify-result-handling.md +6 -0
- package/dist/templates/zh/docs/templates/design.template.md +77 -0
- package/dist/templates/zh/docs/templates/spec.template.md +60 -25
- package/dist/templates/zh/rules/00_system.md +37 -80
- package/dist/templates/zh/rules/01_workflow.md +60 -58
- package/dist/templates/zh/rules/02_tech_stack.md +7 -6
- package/dist/templates/zh/rules/03_data_governance.md +43 -39
- package/dist/templates/zh/rules/99_context_glue.md +2 -2
- package/dist/templates/zh/skills/archi-data-sync/SKILL.md +83 -0
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +70 -56
- package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +140 -0
- package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +118 -0
- package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -1
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +26 -25
- package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +118 -0
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +317 -269
- package/package.json +1 -1
- package/dist/templates/zh-Hant/briefs/_base.md +0 -115
- package/dist/templates/zh-Hant/briefs/_modules.md +0 -173
- package/dist/templates/zh-Hant/docs/global/data_snapshot.json +0 -31
- package/dist/templates/zh-Hant/docs/global/design_tokens.json +0 -135
- package/dist/templates/zh-Hant/docs/global/dictionary.json +0 -35
- package/dist/templates/zh-Hant/docs/global/error_codes.json +0 -19
- package/dist/templates/zh-Hant/docs/global/map.json +0 -94
- package/dist/templates/zh-Hant/docs/global/roadmap.json +0 -39
- package/dist/templates/zh-Hant/docs/global/vision.md +0 -82
- package/dist/templates/zh-Hant/docs/prompts/audit.md +0 -150
- package/dist/templates/zh-Hant/docs/prompts/code.md +0 -160
- package/dist/templates/zh-Hant/docs/prompts/edit.md +0 -87
- package/dist/templates/zh-Hant/docs/prompts/fix.md +0 -86
- package/dist/templates/zh-Hant/docs/prompts/help.md +0 -69
- package/dist/templates/zh-Hant/docs/prompts/inherit.md +0 -270
- package/dist/templates/zh-Hant/docs/prompts/map.md +0 -131
- package/dist/templates/zh-Hant/docs/prompts/plan.md +0 -252
- package/dist/templates/zh-Hant/docs/prompts/remove.md +0 -162
- package/dist/templates/zh-Hant/docs/prompts/revise.md +0 -160
- package/dist/templates/zh-Hant/docs/prompts/scope.md +0 -198
- package/dist/templates/zh-Hant/docs/prompts/start.md +0 -258
- package/dist/templates/zh-Hant/docs/templates/plan.template.json +0 -88
- package/dist/templates/zh-Hant/docs/templates/scope-brief.template.md +0 -58
- package/dist/templates/zh-Hant/docs/templates/spec.template.md +0 -51
- package/dist/templates/zh-Hant/docs/templates/ui.template.md +0 -51
- package/dist/templates/zh-Hant/rules/00_system.md +0 -123
- package/dist/templates/zh-Hant/rules/01_workflow.md +0 -93
- package/dist/templates/zh-Hant/rules/02_tech_stack.md +0 -192
- package/dist/templates/zh-Hant/rules/03_data_governance.md +0 -102
- package/dist/templates/zh-Hant/rules/04_cli_tools.md +0 -50
- package/dist/templates/zh-Hant/rules/90_custom_rules.md +0 -21
- package/dist/templates/zh-Hant/rules/99_context_glue.md +0 -53
- package/dist/templates/zh-Hant/skills/archi-decompose-roadmap/SKILL.md +0 -293
- package/dist/templates/zh-Hant/skills/archi-interview-protocol/SKILL.md +0 -86
- package/dist/templates/zh-Hant/skills/archi-plan-options/SKILL.md +0 -364
- 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
|
|
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
|
-
> | 执行
|
|
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 |
|
|
24
|
-
|
|
25
|
-
| `/archi.start` | `[[
|
|
26
|
-
| `/archi.inherit` | `[[
|
|
27
|
-
| `/archi.scope` | `[[
|
|
28
|
-
| `/archi.plan` | `[[
|
|
29
|
-
| `/archi.edit` | `[[
|
|
30
|
-
| `/archi.revise` | `[[
|
|
31
|
-
| `/archi.code` | `[[
|
|
32
|
-
| `/archi.audit` | `[[
|
|
33
|
-
| `/archi.fix` | `[[
|
|
34
|
-
| `/archi.map` | `[[
|
|
35
|
-
| `/archi.remove` | `[[
|
|
36
|
-
| `/archi.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
>
|
|
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
|
|
46
|
-
|
|
47
|
-
**Trigger**: 用户输入非 `/archi.` 指令文本。
|
|
47
|
+
## 2. Natural Language Dispatch
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
**Trigger**: 用户输入非 `/archi.` 指令且涉及业务变更。
|
|
50
50
|
|
|
51
|
-
|
|
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.
|
|
58
|
+
### §2.1 Pre-flight(涉及业务变更时触发)
|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
72
|
+
3. 加载协议后按 §1 的 **Protocol Load Gate** 执行(读全文 → override → step_1)。
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
- 告知用户该模块未纳管
|
|
77
|
-
- 建议 `/archi.inherit` 或 `/archi.scope` 纳入
|
|
78
|
-
- 用户确认"临时调整"后可直接修改
|
|
74
|
+
### §2.2 链条衔接
|
|
79
75
|
|
|
80
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
> ⛔ **禁**: 在用户未确认时自动从 plan 串联到 code。
|
|
87
|
+
|
|
88
|
+
### §2.3 IDE 协作
|
|
89
|
+
|
|
90
|
+
利用 IDE 原生能力(plan mode / agent mode / checkpoint)驱动执行节奏。
|
|
91
|
+
协议定义"做什么、检查什么",不对抗 IDE 的规划/执行能力。
|
|
90
92
|
|
|
91
|
-
|
|
93
|
+
### §2.4 未纳管代码
|
|
92
94
|
|
|
93
|
-
|
|
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: [
|
|
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
|
|
162
|
-
| **Styles
|
|
163
|
-
| **DTOs/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 (数据流模式)
|
|
187
|
+
### Data Flow (数据流模式) (仅ui项目)
|
|
187
188
|
* **Default:** [例如:Standard Request + SWR / Realtime (Socket) / Polling]
|
|
188
189
|
* **Rationale:** [例如:大部分页面为 CRUD 读写,SWR 做缓存和重新验证]
|
|
189
190
|
|
|
190
|
-
### Auth & Access (认证与权限)
|
|
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` |
|
|
17
|
-
| `map.json` |
|
|
18
|
-
| `dictionary.json` |
|
|
19
|
-
| `design_tokens.json
|
|
20
|
-
| `data_snapshot.json
|
|
21
|
-
| `error_codes.json` |
|
|
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**:
|
|
30
|
-
- **Schema Stability**:
|
|
31
|
-
- **Tier 1 (严格)**: `roadmap.json`, `plan.json` — CLI
|
|
32
|
-
- **Tier 2 (宽松)**:
|
|
33
|
-
- **Valid 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
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
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
|
|
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**:
|
|
67
|
-
-
|
|
68
|
-
-
|
|
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
|
|
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
|
|
78
|
+
### `data_snapshot.json`(仅data项目)
|
|
80
79
|
|
|
81
|
-
- **结构**: `models[]
|
|
82
|
-
- **Design First**: Plan
|
|
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**:
|
|
89
|
-
-
|
|
90
|
-
- **Code
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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)
|
|
37
|
-
| **Data Schema** (ORM/SQL/Models)
|
|
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 后控制权交还调用方。
|