architext 0.0.5 → 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.
- package/CHANGELOG.md +29 -1
- package/README.md +18 -16
- package/README.zh-CN.md +15 -14
- package/dist/index.js +43 -29
- package/dist/templates/en/briefs/_base.md +13 -6
- package/dist/templates/en/briefs/_modules.md +2 -2
- package/dist/templates/en/docs/global/error_memory.json +40 -0
- package/dist/templates/en/docs/global/map.json +46 -90
- package/dist/templates/en/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +6 -13
- package/dist/templates/en/{rules/02_tech_stack.md → docs/global/tech_stack.md} +7 -18
- package/dist/templates/en/docs/global/vision.md +1 -1
- package/dist/templates/en/docs/prompts/audit.md +5 -5
- package/dist/templates/en/docs/prompts/code.md +23 -11
- package/dist/templates/en/docs/prompts/edit.md +21 -7
- package/dist/templates/en/docs/prompts/fix.md +11 -2
- package/dist/templates/en/docs/prompts/inherit.md +18 -13
- package/dist/templates/en/docs/prompts/map.md +4 -3
- package/dist/templates/en/docs/prompts/plan.md +11 -5
- package/dist/templates/en/docs/prompts/remove.md +13 -8
- package/dist/templates/en/docs/prompts/revise.md +10 -2
- package/dist/templates/en/docs/prompts/scope.md +4 -3
- package/dist/templates/en/docs/prompts/script.md +102 -0
- package/dist/templates/en/docs/prompts/start.md +20 -14
- package/dist/templates/en/docs/prompts/ui.md +113 -0
- package/dist/templates/en/docs/shared/ui-redlines.md +7 -0
- package/dist/templates/en/docs/templates/spec.template.md +1 -1
- package/dist/templates/en/docs/templates/ui.template.md +8 -8
- package/dist/templates/en/rules/00_system.md +245 -51
- package/dist/templates/en/rules/90_custom_rules.md +3 -1
- package/dist/templates/en/skills/archi-data-sync/SKILL.md +26 -12
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +137 -208
- package/dist/templates/en/skills/archi-design-patterns/SKILL.md +6 -2
- package/dist/templates/en/skills/archi-feature-relations/SKILL.md +6 -2
- package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +1 -2
- package/dist/templates/en/skills/archi-plan-options/SKILL.md +77 -302
- package/dist/templates/en/skills/archi-silent-audit/SKILL.md +4 -5
- package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +131 -306
- package/dist/templates/icon.svg +16 -0
- package/dist/templates/zh/briefs/_base.md +17 -10
- package/dist/templates/zh/briefs/_modules.md +2 -2
- package/dist/templates/zh/docs/global/error_memory.json +40 -0
- package/dist/templates/zh/docs/global/map.json +39 -109
- package/dist/templates/zh/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +0 -7
- package/dist/templates/zh/{rules/02_tech_stack.md → docs/global/tech_stack.md} +9 -20
- package/dist/templates/zh/docs/global/vision.md +1 -1
- package/dist/templates/zh/docs/prompts/audit.md +5 -5
- package/dist/templates/zh/docs/prompts/code.md +22 -10
- package/dist/templates/zh/docs/prompts/edit.md +20 -6
- package/dist/templates/zh/docs/prompts/fix.md +10 -1
- package/dist/templates/zh/docs/prompts/inherit.md +18 -13
- package/dist/templates/zh/docs/prompts/map.md +5 -4
- package/dist/templates/zh/docs/prompts/plan.md +11 -5
- package/dist/templates/zh/docs/prompts/remove.md +13 -8
- package/dist/templates/zh/docs/prompts/revise.md +12 -4
- package/dist/templates/zh/docs/prompts/scope.md +4 -3
- package/dist/templates/zh/docs/prompts/script.md +102 -0
- package/dist/templates/zh/docs/prompts/start.md +19 -15
- package/dist/templates/zh/docs/prompts/ui.md +113 -0
- package/dist/templates/zh/docs/shared/ui-redlines.md +7 -0
- package/dist/templates/zh/docs/templates/spec.template.md +1 -1
- package/dist/templates/zh/docs/templates/ui.template.md +8 -8
- package/dist/templates/zh/rules/00_system.md +243 -49
- package/dist/templates/zh/rules/90_custom_rules.md +2 -1
- package/dist/templates/zh/skills/archi-data-sync/SKILL.md +27 -13
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +133 -204
- package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +6 -2
- package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +6 -2
- package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +1 -2
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +77 -302
- package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +4 -5
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +131 -306
- package/package.json +3 -1
- package/dist/templates/en/rules/01_workflow.md +0 -95
- package/dist/templates/en/rules/03_data_governance.md +0 -106
- package/dist/templates/en/rules/99_context_glue.md +0 -53
- package/dist/templates/zh/rules/01_workflow.md +0 -95
- package/dist/templates/zh/rules/03_data_governance.md +0 -106
- package/dist/templates/zh/rules/99_context_glue.md +0 -53
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<step_1_load>
|
|
25
25
|
**Action**:
|
|
26
26
|
1. **Pre-flight**: 读取 roadmap.json,仅读 `<ID>` 条目及直接 deps 的 `id/title/status`;deps 未完成则拒绝(除非用户强制)。
|
|
27
|
-
2. **Load**: vision
|
|
27
|
+
2. **Load**: 读取项目上下文(vision、tech_stack、按需读取 feature 相关 JSON),详见 00_system.md 数据治理规则。
|
|
28
28
|
3. **Dependency Context** (有依赖时): 仅读依赖任务 spec.md 的 Interface/Type 段;无引用时跳过。Stub 依赖 → 从关联文件提取源码公共接口。
|
|
29
29
|
4. **Refs** (如有): 读 refs/index.json,按 tags 语义匹配,仅读命中 ref 文件;不存在则跳过。
|
|
30
30
|
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
|
|
127
127
|
**Action Checklist**:
|
|
128
128
|
1. **`map.json`**: 在 `directoryMapping` 注册 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>`;在 `logicalTopology` 定义模块职责与依赖。
|
|
129
|
-
2.
|
|
129
|
+
2. **数据治理同步**: [[SUBAGENT: archi-data-sync|context: 扫描 Task 提案中引入的新业务实体/错误码/Schema/端点/命令/导出,按 00_system.md 规则增量同步]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-data-sync/SKILL.md`,按其执行协议操作)]]
|
|
130
130
|
3. **`map.json` featureRelations**: [[SUBAGENT: archi-feature-relations|mode: register, context: 判断本 Task 是否为聚合型,若是则注册 featureRelations 条目]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-feature-relations/SKILL.md`,按 mode: register 的逻辑执行)]]
|
|
131
131
|
|
|
132
132
|
**Output**: 上述文件的变更 Diff (简要)。进入 step_5_generate。
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
> 混合型任务在 § 2 内用子标题区分维度。
|
|
152
152
|
|
|
153
153
|
**spec § 4 Interface Exports**:INF 任务**必填**,FEAT 任务有下游 deps 时必填。
|
|
154
|
-
**spec § 5 Constraints**:**必填** — 从 vision.md +
|
|
154
|
+
**spec § 5 Constraints**:**必填** — 从 vision.md + tech_stack.md 提取与本任务相关的红线。
|
|
155
155
|
|
|
156
156
|
**通用规则**:
|
|
157
157
|
- 禁凭空编造 AC 条目,须对应功能设计中的具体内容。
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
| 偏差类型 | 判定标准 | 处理方式 |
|
|
166
166
|
|:---|:---|:---|
|
|
167
167
|
| 无偏差 | 屏幕索引与设计一致 | 直接写 `ui.md`,引用屏幕 ID |
|
|
168
|
-
| 轻微增量 | 新增状态/弹窗/局部区域,不改整体布局 | 调用 skill 更新 `
|
|
168
|
+
| 轻微增量 | 新增状态/弹窗/局部区域,不改整体布局 | 调用 skill 更新 `screens/S-XX.html` + `ui_context.md`,注明 `MODIFIED: screens/S-XX.html` |
|
|
169
169
|
| 结构性偏差 | 布局重构、新增独立屏幕、流程路径变化 | **暂停**,向用户输出偏差说明,等待 **OK** 后调用 skill 更新,再写 `ui.md` |
|
|
170
170
|
|
|
171
171
|
2. 完成偏差处理后,按 `ui.template.md` 填写屏幕范围声明和差异组件。
|
|
@@ -224,7 +224,13 @@
|
|
|
224
224
|
□ plan.json — spec § 2 每条 AC → ≥1 task 覆盖(100% 覆盖原则)
|
|
225
225
|
□ plan.json — 每个 task notes 含验证字段(非空,非 title 同义重复)
|
|
226
226
|
□ map.json — tasks/<ID>_<Slug> 已在 directoryMapping 注册
|
|
227
|
-
□ 全局文件 — 新术语/错误码/Schema
|
|
227
|
+
□ 全局文件 — 新术语/错误码/Schema/Token/环境变量 已同步
|
|
228
|
+
- dictionary.json + error_codes.json + env_registry.json — 必填
|
|
229
|
+
- (仅ui项目)design_tokens.json + ui_context.md
|
|
230
|
+
- (仅data项目)data_snapshot.json
|
|
231
|
+
- (仅api项目)api_snapshot.json
|
|
232
|
+
- (仅cli项目)command_api.json
|
|
233
|
+
- (仅lib项目)public_api.json
|
|
228
234
|
□ Step 6 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
229
235
|
|
|
230
236
|
**Action** (Checklist 全部确认后):
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
**Action**:
|
|
18
18
|
1. **Resolve ID**: 从 roadmap.json 解析 `<id>` → Task Name、Slug、状态。
|
|
19
19
|
2. **ID Not Found** → 报错并列出可用任务 ID。
|
|
20
|
-
3. **Load**: task docs 目录、roadmap.json(依赖关系)、map.json
|
|
20
|
+
3. **Load**: task docs 目录、roadmap.json(依赖关系)、map.json(架构注册)。
|
|
21
21
|
|
|
22
22
|
**Output**: 目标 Task 基本信息(ID、名称、状态、关联文件数)。
|
|
23
23
|
</step_1_resolve>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
### 2.2 代码文件识别
|
|
39
39
|
|
|
40
|
-
通过以下方式定位代码文件:
|
|
40
|
+
通过以下方式定位代码文件:map.json 注册模块、plan.json 提及的文件、以 Slug 命名或明确归属的文件。
|
|
41
41
|
|
|
42
42
|
### 2.3 全局引用扫描
|
|
43
43
|
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
|:---|:---|
|
|
46
46
|
| `roadmap.json` | 任务条目 + deps 引用 |
|
|
47
47
|
| `map.json` | 模块条目 + featureRelations 中以被删 Task 为 aggregator 的条目 |
|
|
48
|
-
| `99_context_glue.md` | 关联条目 |
|
|
49
48
|
| `dictionary.json` | 独占术语(仅标记) |
|
|
50
49
|
| `error_codes.json` | 独占错误码(仅标记) |
|
|
51
50
|
|
|
@@ -57,7 +56,7 @@
|
|
|
57
56
|
|
|
58
57
|
扫描其他 Task 的 `spec.md`,检查是否引用了被删 Task 的接口/组件/数据。发现引用则标注 `[Breaking]`。
|
|
59
58
|
|
|
60
|
-
**Output**: 向用户输出下线影响报告 — 含 Task 状态、将删除的文档和代码(文件/来源表)、全局引用清理项(roadmap/map
|
|
59
|
+
**Output**: 向用户输出下线影响报告 — 含 Task 状态、将删除的文档和代码(文件/来源表)、全局引用清理项(roadmap/map)、(有)术语/错误码残留(须人工确认)、(有)聚合联动表、(有)跨 Task 引用 [Breaking] 表。末尾:OK 确认执行 / 中止取消。
|
|
61
60
|
|
|
62
61
|
**Gate**: 用户回复 OK 后进入 step_3。有 `[Breaking]` 引用时须再次警告。
|
|
63
62
|
</step_2_impact>
|
|
@@ -72,8 +71,7 @@
|
|
|
72
71
|
| 2 | 删除 Task 文档目录 | `[[__DOCS_DIR__]]/tasks/<id>_<slug>/` |
|
|
73
72
|
| 3 | 更新 `roadmap.json` | 移除任务条目;清理 deps 引用 |
|
|
74
73
|
| 4 | 更新 `map.json` | 移除模块条目 + featureRelations 条目 |
|
|
75
|
-
| 5 | 更新 `
|
|
76
|
-
| 6 | [?有独占术语] 更新 `dictionary.json` | 移除或标注废弃 |
|
|
74
|
+
| 5 | [?有独占术语] 更新 `dictionary.json` | 移除或标注废弃 |
|
|
77
75
|
| 7 | [?有独占错误码] 更新 `error_codes.json` | 移除或标注废弃 |
|
|
78
76
|
| 8 | [?有聚合联动] 检查聚合方代码 | 确认引用已清理 |
|
|
79
77
|
|
|
@@ -95,13 +93,20 @@
|
|
|
95
93
|
□ tasks/<id>_<slug>/ 文档目录 — 已删除(step_3 操作 #2)
|
|
96
94
|
□ roadmap.json — 任务条目 + deps 引用 — 已清理(step_3 操作 #3)
|
|
97
95
|
□ map.json — 模块条目 + featureRelations — 已清理(step_3 操作 #4)
|
|
98
|
-
□ 99_context_glue.md — 关联条目 — 已清理(step_3 操作 #5)
|
|
99
96
|
□ (有独占术语/错误码)dictionary.json + error_codes.json — 已处理
|
|
97
|
+
□ 全局文件清理检查:
|
|
98
|
+
- vision.md + tech_stack.md — 必检
|
|
99
|
+
- dictionary.json + error_codes.json + env_registry.json — 必检
|
|
100
|
+
- (仅ui项目)design_tokens.json + ui_context.md
|
|
101
|
+
- (仅data项目)data_snapshot.json
|
|
102
|
+
- (仅api项目)api_snapshot.json
|
|
103
|
+
- (仅cli项目)command_api.json
|
|
104
|
+
- (仅lib项目)public_api.json
|
|
100
105
|
□ Terminal Gate — 项目构建通过,无残留 import 引用(step_4)
|
|
101
106
|
|
|
102
107
|
**Output**: 下线完成摘要:
|
|
103
108
|
- **已删除**: 文档 N 个文件、代码 N 个文件
|
|
104
|
-
- **已清理**: roadmap / map
|
|
109
|
+
- **已清理**: roadmap / map 中的引用
|
|
105
110
|
- **构建状态**: 通过/失败
|
|
106
111
|
- **[?有]须人工跟进**: 术语/错误码/跨 Task 引用残留
|
|
107
112
|
- **Git Commit Suggestion**: `feat(remove): decommission <ID> <Name>`
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
<step_1_load>
|
|
21
21
|
**Action**:
|
|
22
|
-
1. **Load**: 全部全局资产(vision/roadmap/map/dictionary/error_codes/
|
|
22
|
+
1. **Load**: 全部全局资产(vision/roadmap/map/dictionary/error_codes/tech_stack + 条件: design_tokens/data_snapshot)。
|
|
23
23
|
2. **Scan Task Index**: 扫描 tasks/ 目录,建立 Task 索引(ID、名称、状态)。
|
|
24
24
|
3. **Intent Analysis**: 根据 `[context]`,初步定位受影响的全局资产类别。
|
|
25
25
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
按用户确认的清单修改全局文件。每个文件修改后输出变更摘要。
|
|
69
69
|
|
|
70
70
|
**(仅ui项目) Phase 1.5 — 设计系统变更检查**:
|
|
71
|
-
若 `design_tokens.json` 有以下变更,须通知用户需重跑
|
|
71
|
+
若 `design_tokens.json` 有以下变更,须通知用户需重跑 `/archi.ui` 重新生成:
|
|
72
72
|
|
|
73
73
|
| 变更范围 | 影响 |
|
|
74
74
|
|:---|:---|
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
**Phase 2 — 级联更新 Task 文档**:
|
|
84
84
|
对每个受影响的 Task,按 `/archi.edit` 标准执行:
|
|
85
85
|
1. 更新 `spec.md`。
|
|
86
|
-
2. (仅ui项目) 更新 `ui.md`;如屏幕结构受影响,[[SKILL: archi-ui-wireframe|运行 skill(局部更新模式)同步更新]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]。
|
|
86
|
+
2. (仅ui项目) 更新 `ui.md`;如屏幕结构受影响,[[SKILL: archi-ui-wireframe|运行 skill(局部更新模式)同步更新 `screens/S-XX.html`]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]。
|
|
87
87
|
3. 在 `plan.json` 追加新 Phase: `Phase X: Global Revision — [变更主题] (<Date>)`。
|
|
88
88
|
|
|
89
89
|
**Output**: 每个文件的变更摘要(全局 + Task)。进入 step_5_verify。
|
|
@@ -103,7 +103,15 @@
|
|
|
103
103
|
**Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
|
|
104
104
|
□ step_4 Safety Checkpoint — Git 工作区已确认(无未提交变更或已告知用户)
|
|
105
105
|
□ Phase 1 — 所有确认的全局资产已修改,每个文件有变更摘要输出
|
|
106
|
-
□
|
|
106
|
+
□ Phase 1 — 全局文件检查:
|
|
107
|
+
- roadmap.json + vision.md + tech_stack.md + map.json — 必检
|
|
108
|
+
- dictionary.json + error_codes.json + env_registry.json — 必检
|
|
109
|
+
- (仅ui项目)design_tokens.json + ui_context.md
|
|
110
|
+
- (仅data项目)data_snapshot.json
|
|
111
|
+
- (仅api项目)api_snapshot.json
|
|
112
|
+
- (仅cli项目)command_api.json
|
|
113
|
+
- (仅lib项目)public_api.json
|
|
114
|
+
□ (仅ui项目,设计系统有变更)已通知用户重跑 `/archi.ui`
|
|
107
115
|
□ Phase 2 — 每个受影响 Task 的 spec.md 已更新 + plan.json 已追加 Revision Phase
|
|
108
116
|
□ Step 5 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
109
117
|
□ 一致性确认: vision ↔ tech_stack ↔ roadmap ↔ map 无孤立引用(旧术语/路径已清理)
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
<step_1_load>
|
|
36
36
|
**Action**:
|
|
37
|
-
1. **Load**: vision
|
|
37
|
+
1. **Load**: 读取项目上下文(vision、roadmap、tech_stack、map),详见 00_system.md 数据治理规则。
|
|
38
38
|
2. **Scan Tasks**: 扫描 tasks/ 目录 — 了解已有 Task 概要(标题+关键流程,无需全文)。
|
|
39
39
|
|
|
40
40
|
**Output**: 内部上下文摘要,进入 `<step_2_analysis>`。
|
|
@@ -117,7 +117,8 @@
|
|
|
117
117
|
**Pre-signoff Checklist** (输出前须逐项确认):
|
|
118
118
|
□ 分解方案已获用户明确确认(回复 OK 后才写入 roadmap — step_4 Gate)
|
|
119
119
|
□ roadmap.json — 任务已追加(非覆盖),lastUpdated 已更新
|
|
120
|
-
□ (有新模块)map.json directoryMapping — 新任务模块路径已预注册
|
|
120
|
+
□ (有新模块)map.json directoryMapping + logicalTopology — 新任务模块路径已预注册
|
|
121
|
+
□ featureRelations — 若新任务涉及已有文件的关联影响,已同步更新
|
|
121
122
|
□ step_5 Terminal Gate — task --check + render 已通过
|
|
122
123
|
|
|
123
124
|
**Action** (Gate 须在 step_5 完成):
|
|
@@ -132,7 +133,7 @@
|
|
|
132
133
|
|
|
133
134
|
| 优先级 | 动作 | 说明 |
|
|
134
135
|
|:---|:---|:---|
|
|
135
|
-
| (仅ui项目) 推荐 |
|
|
136
|
+
| (仅ui项目) 推荐 | `/archi.ui` | 为新增任务增量更新 UI 概念设计(`screens/` 目录) |
|
|
136
137
|
| 1 | `/archi.plan <第一个 pending 任务 ID>` | 对首个可执行任务做深度规划 |
|
|
137
138
|
| 2 | 审查 roadmap | 确认依赖关系和优先级 |
|
|
138
139
|
</step_6_signoff>
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<protocol_script>
|
|
2
|
+
**Trigger**: `/archi.script`
|
|
3
|
+
**Goal**: 基于已冻结的 `tech_stack.md` 生成/更新 `.architext/scripts/` 自动化脚本。
|
|
4
|
+
**When**: 基建任务(INF-01 等)完成后,`tech_stack` 命令已从占位符变为实际值且可运行时。
|
|
5
|
+
|
|
6
|
+
<meta>
|
|
7
|
+
<style>Deterministic, Auto-Detect, Post-Infra</style>
|
|
8
|
+
<language>简体中文</language>
|
|
9
|
+
<principles>
|
|
10
|
+
1. **Post-Infra Only**: 仅基建完成后执行,`tech_stack` 命令必须已确定且可运行。
|
|
11
|
+
2. **Auto-Detect**: 自动识别 OS,生成 `.sh`(Unix)和 `.ps1`(Windows)。
|
|
12
|
+
3. **Tech-Stack Driven**: 严格从 `tech_stack.md` 提取实际命令,禁硬编码。
|
|
13
|
+
4. **Idempotent**: 多次运行结果一致,有变更才写入。
|
|
14
|
+
</principles>
|
|
15
|
+
</meta>
|
|
16
|
+
|
|
17
|
+
<step_1_ingest>
|
|
18
|
+
**Action**:
|
|
19
|
+
1. 读取 `[[__DOCS_DIR__]]/global/tech_stack.md`
|
|
20
|
+
2. 读取项目实际代码,提取实际命令:
|
|
21
|
+
- `package.json` → `scripts` 字段(如有)
|
|
22
|
+
- 配置文件 → `vite.config.*` / `webpack.config.*` / `tsconfig.json` 等
|
|
23
|
+
- CI 配置 → `.github/workflows/` / `.gitlab-ci.yml` 等(如有)
|
|
24
|
+
3. 交叉验证:tech_stack 命令 vs 实际配置
|
|
25
|
+
- 一致 → 使用 tech_stack 命令
|
|
26
|
+
- 不一致 → 以实际代码为准(tech_stack 可能过期)
|
|
27
|
+
4. 提取以下命令(跳过 `[例如:...]` 占位符):
|
|
28
|
+
- **Lint**: Section 3 Static Analysis
|
|
29
|
+
- **Format**: Section 3 Formatter
|
|
30
|
+
- **Build**: Section 3 Build Command
|
|
31
|
+
- **Test**: Section 5 Test Command
|
|
32
|
+
- **Dev**: Section 3 Dev Command
|
|
33
|
+
- **Install**: Section 3 Package Manager + install
|
|
34
|
+
5. 检测当前 OS(Windows / Unix-like)
|
|
35
|
+
|
|
36
|
+
**Output**: 内部命令映射表(tech_stack + 实际代码交叉验证结果),进入 step_2_generate。
|
|
37
|
+
</step_1_ingest>
|
|
38
|
+
|
|
39
|
+
<step_2_generate>
|
|
40
|
+
**Action**: 基于提取的命令生成三个脚本:
|
|
41
|
+
|
|
42
|
+
### validate
|
|
43
|
+
聚合检查:Lint → Format Check → Type Check → Build → Test
|
|
44
|
+
- 每步失败即退出(exit 1)
|
|
45
|
+
- 带颜色输出(绿=通过,红=失败,黄=跳过)
|
|
46
|
+
|
|
47
|
+
### dev-up
|
|
48
|
+
启动环境:Install → Build → Health Check
|
|
49
|
+
- Health Check:尝试运行构建产物(如 CLI 则 `--version`)
|
|
50
|
+
|
|
51
|
+
### dev-reset
|
|
52
|
+
重置环境:Kill Process → Clean Cache → Reinstall → Rebuild → Health Check
|
|
53
|
+
- Kill:终止 node/tsx 进程
|
|
54
|
+
- Clean:删除 node_modules/.cache, dist, coverage
|
|
55
|
+
|
|
56
|
+
**Script Structure**:
|
|
57
|
+
- Unix (`.sh`): `#!/bin/bash`, `set -e`, ANSI colors
|
|
58
|
+
- Windows (`.ps1`): PowerShell, `$ErrorActionPreference`, Write-Host colors
|
|
59
|
+
|
|
60
|
+
**Output**: 内存中脚本内容,进入 step_3_write。
|
|
61
|
+
</step_2_generate>
|
|
62
|
+
|
|
63
|
+
<step_3_write>
|
|
64
|
+
**Action**:
|
|
65
|
+
1. 确保 `[[__DOCS_DIR__]]/scripts/` 目录存在
|
|
66
|
+
2. 对比现有脚本(如有):
|
|
67
|
+
- 内容一致 → 跳过
|
|
68
|
+
- 内容变更 → 覆盖,标注 `MODIFIED`
|
|
69
|
+
- 不存在 → 写入,标注 `ADDED`
|
|
70
|
+
3. 写入文件:
|
|
71
|
+
- Unix: `validate`, `dev-up`, `dev-reset`(无扩展名,+x 权限)
|
|
72
|
+
- Windows: `validate.ps1`, `dev-up.ps1`, `dev-reset.ps1`
|
|
73
|
+
|
|
74
|
+
**Output**: 文件变更列表。
|
|
75
|
+
</step_3_write>
|
|
76
|
+
|
|
77
|
+
<step_4_signoff>
|
|
78
|
+
**Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
|
|
79
|
+
|
|
80
|
+
**Pre-signoff Checklist**:
|
|
81
|
+
□ tech_stack.md — 成功提取到非占位符命令
|
|
82
|
+
□ scripts/ — validate/dev-up/dev-reset 已生成(Unix + Windows)
|
|
83
|
+
□ 变更标注 — ADDED / MODIFIED / SKIPPED 正确输出
|
|
84
|
+
|
|
85
|
+
**Output**:
|
|
86
|
+
```
|
|
87
|
+
✅ Scripts Generated
|
|
88
|
+
|
|
89
|
+
| 脚本 | OS | 状态 |
|
|
90
|
+
|:---|:---|:---|
|
|
91
|
+
| validate | Unix | ADDED/MODIFIED/SKIPPED |
|
|
92
|
+
| validate | Windows | ADDED/MODIFIED/SKIPPED |
|
|
93
|
+
| dev-up | Unix | ... |
|
|
94
|
+
| dev-up | Windows | ... |
|
|
95
|
+
| dev-reset | Unix | ... |
|
|
96
|
+
| dev-reset | Windows | ... |
|
|
97
|
+
|
|
98
|
+
**Next**: AI 执行 `/archi.code` 时将自动使用 `scripts/validate`
|
|
99
|
+
```
|
|
100
|
+
</step_4_signoff>
|
|
101
|
+
|
|
102
|
+
</protocol_script>
|
|
@@ -90,13 +90,13 @@
|
|
|
90
90
|
|
|
91
91
|
### 信息路由规则
|
|
92
92
|
|
|
93
|
-
> 规则文件(`
|
|
93
|
+
> 规则文件(`tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
|
|
94
94
|
|
|
95
95
|
| Brief 内容 | 目标文件 |
|
|
96
96
|
|:---|:---|
|
|
97
97
|
| 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
|
|
98
|
-
| 技术栈、部署目标、第三方库/服务 | 规则文件 `
|
|
99
|
-
| 风格调性 — 审美方向/信息密度/动效偏好 | `
|
|
98
|
+
| 技术栈、部署目标、第三方库/服务 | 规则文件 `tech_stack` |
|
|
99
|
+
| 风格调性 — 审美方向/信息密度/动效偏好 | `tech_stack` (UI Protocol) + `design_tokens.json` |
|
|
100
100
|
| (仅ui项目)审美方向 preset + 视觉参考(品牌色/字体/图标/竞品截图) | `design_tokens.json` 对应字段 + `vision.md` Visual Reference |
|
|
101
101
|
| (仅ui项目)brief-assets/ 中标记为 `[竞品参考]` 的图片 | `design_tokens.json` aestheticDirection 参考 + `vision.md` Visual Reference |
|
|
102
102
|
| 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json` |
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
| brief-assets/ 中标记为 `[数据库 Schema]` 的文件 | 解析后写入 `data_snapshot.json` |
|
|
108
108
|
| brief-assets/ 中标记为 `[API 文档]` 的文件 | 解析后路由到 `vision.md` Context + 相关 Roadmap 任务 |
|
|
109
109
|
| 边界与反目标 | `vision.md` Boundaries |
|
|
110
|
-
| 已有资源 | `vision.md` + `
|
|
110
|
+
| 已有资源 | `vision.md` + `tech_stack` 按归属 |
|
|
111
111
|
| 补充说明中的规则/约定/偏好 | 规则文件 `90_custom_rules` |
|
|
112
112
|
| 补充说明中的领域术语 | `dictionary.json` |
|
|
113
113
|
| 补充说明中的其他背景 | `vision.md` Context |
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
- 从 Brief 填充 Core Vision / Target Audience / Boundaries / Design & Experience / Product Principles / 背景上下文
|
|
119
119
|
- 须填满所有占位符,禁保留模板示例文字
|
|
120
120
|
|
|
121
|
-
### 3.2 Tech Stack (规则文件 `
|
|
121
|
+
### 3.2 Tech Stack (规则文件 `tech_stack`)
|
|
122
122
|
- Brief 已确定 → 直接写入 | 留空/写"推荐" → AI 推荐并标注 `(AI 推荐)` + 理由
|
|
123
123
|
- **AX Optimization**: 推荐时优先 AI 友好型技术
|
|
124
124
|
- 须填充完整 Section 1-9
|
|
@@ -139,12 +139,12 @@
|
|
|
139
139
|
- (仅data项目) `data_snapshot.json`: 初始化核心实体骨架;无数据描述时写入空模板
|
|
140
140
|
- (仅ui项目) `design_tokens.json`: 基于「风格与调性」和「视觉参考」填充 aestheticDirection / primitivePalette / mode / motion / illustration / semanticTokens
|
|
141
141
|
- `error_codes.json`: 基于任务列表预定义核心错误码
|
|
142
|
+
- (仅api项目) `api_snapshot.json`: 初始端点注册;Brief 有 API 描述时从中提取,否则写入空模板
|
|
143
|
+
- `env_registry.json`: 初始环境变量注册
|
|
144
|
+
- (仅cli项目) `command_api.json`: 初始命令注册;Brief 有命令描述时从中提取,否则写入空模板
|
|
145
|
+
- (仅lib项目) `public_api.json`: 初始导出注册;Brief 有导出描述时从中提取,否则写入空模板
|
|
142
146
|
|
|
143
|
-
仅ui项目: **UI 概念设计**:
|
|
144
|
-
- 无需用户确认即开始生成
|
|
145
|
-
- 读取刚写入的 vision.md + roadmap.json + design_tokens.json + 02_tech_stack
|
|
146
|
-
- 写入 `ui_concept.html` + `ui_context.md`
|
|
147
|
-
- 输出 UI 概念设计摘要,等待用户确认或反馈调整
|
|
147
|
+
仅ui项目: **UI 概念设计**: 跳过 — 由 `/archi.ui` 独立完成。仅确保 `design_tokens.json` 已填充。
|
|
148
148
|
|
|
149
149
|
### 3.6 Map (`[[__DOCS_DIR__]]/global/map.json`)
|
|
150
150
|
- `directoryMapping`: 基于 tech_stack 架构模式预注册核心目录骨架
|
|
@@ -165,12 +165,15 @@
|
|
|
165
165
|
|
|
166
166
|
**Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
|
|
167
167
|
□ vision.md — 所有占位符已替换,无模板示例文字残留
|
|
168
|
-
□
|
|
168
|
+
□ tech_stack.md — Section 1-9 完整填充,Section 9 Project Conventions 含 Strategy + Rationale
|
|
169
169
|
□ roadmap.json — archi-decompose-roadmap Skill 已执行,任务链已生成
|
|
170
|
-
□ map.json — 核心目录骨架已预注册(directoryMapping)
|
|
171
|
-
□ dictionary.json + error_codes.json —
|
|
172
|
-
□ (仅ui项目)design_tokens.json +
|
|
170
|
+
□ map.json — 核心目录骨架已预注册(directoryMapping + logicalTopology + featureRelations)
|
|
171
|
+
□ dictionary.json + error_codes.json + env_registry.json — 领域术语、核心错误码、环境变量已提取
|
|
172
|
+
□ (仅ui项目)design_tokens.json + ui_context.md — 已生成
|
|
173
173
|
□ (仅data项目)data_snapshot.json — 初始实体骨架已写入
|
|
174
|
+
□ (仅api项目)api_snapshot.json — 初始 API 端点已注册
|
|
175
|
+
□ (仅cli项目)command_api.json — 初始 CLI 命令已注册
|
|
176
|
+
□ (仅lib项目)public_api.json — 初始库导出已注册
|
|
174
177
|
□ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
175
178
|
|
|
176
179
|
**Action** (Checklist 全部确认后):
|
|
@@ -185,8 +188,9 @@
|
|
|
185
188
|
|
|
186
189
|
| 优先级 | 行动 | 说明 |
|
|
187
190
|
|:---|:---|:---|
|
|
188
|
-
| (仅ui项目) 推荐 |
|
|
191
|
+
| (仅ui项目) 推荐 | `/archi.ui` | 生成 UI 概念设计(`screens/` 多文件结构) |
|
|
189
192
|
| 推荐 | `/archi.plan INF-01` | 规划第一个基础设施任务 |
|
|
193
|
+
| (INF 完成后) | `/archi.script` | 生成 AI 自动化脚本(validate/dev-up/dev-reset) |
|
|
190
194
|
| 可选 | `/archi.scope <scope-brief.md>` | 如有更多需求待分解,追加到 Roadmap |
|
|
191
195
|
</step_5_signoff>
|
|
192
196
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<protocol_ui>
|
|
2
|
+
**Trigger**: `/archi.ui` | 自然语言触发时由 Workflow Dispatch 自动加载
|
|
3
|
+
**Goal**: 生成或增量更新多文件 UI 概念设计(`screens/` 目录)。
|
|
4
|
+
|
|
5
|
+
<meta>
|
|
6
|
+
<style>Visual, Systematic, Incremental</style>
|
|
7
|
+
<language>简体中文</language>
|
|
8
|
+
<principles>
|
|
9
|
+
1. **Auto-Detect**: 无子命令,自动检测 `screens/` 目录状态决定全量生成或增量更新。
|
|
10
|
+
2. **Multi-File**: 每个屏幕独立 `S-XX.html`,共享样式 `_shared.css`,`index.html` 作导航枢纽。
|
|
11
|
+
3. **Token-Driven**: 视觉样式严格来自 `design_tokens.json`,禁硬编码。
|
|
12
|
+
4. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
|
|
13
|
+
</principles>
|
|
14
|
+
</meta>
|
|
15
|
+
|
|
16
|
+
<step_1_load>
|
|
17
|
+
**Action**:
|
|
18
|
+
1. **Pre-flight**: 检查 `architext.json` → `features` 是否含 `ui`。不含 → 拒绝("本项目未启用 UI 特征")。
|
|
19
|
+
2. **Load**: 读取项目上下文 + UI 相关 JSON(design_tokens、ui_context),详见 00_system.md 数据治理规则。
|
|
20
|
+
3. **Mode Detection**:
|
|
21
|
+
|
|
22
|
+
| 条件 | 模式 | 行为 |
|
|
23
|
+
|:---|:---|:---|
|
|
24
|
+
| `screens/` 目录不存在 | **全量生成** | 从 roadmap 提取全部 UI 屏幕 → step_2 |
|
|
25
|
+
| `screens/` 存在 | **增量更新** | 对比 roadmap + ui_context.md,识别新增/变更屏幕 → step_2 |
|
|
26
|
+
|
|
27
|
+
**Output**: 模式判定结果 + 上下文摘要。进入 step_2_plan。
|
|
28
|
+
</step_1_load>
|
|
29
|
+
|
|
30
|
+
<step_2_plan>
|
|
31
|
+
**Action**:
|
|
32
|
+
|
|
33
|
+
**全量模式**: 从 roadmap 任务中提取所有涉及 UI 的屏幕,分配屏幕 ID(S-01, S-02...)。
|
|
34
|
+
**增量模式**: 对比现有 `screens/` 与 roadmap,识别差异:
|
|
35
|
+
|
|
36
|
+
| 差异类型 | 处理 |
|
|
37
|
+
|:---|:---|
|
|
38
|
+
| 新增屏幕(roadmap 有任务但无对应 S-XX) | 分配新 ID,加入生成清单 |
|
|
39
|
+
| 屏幕变更(已有屏幕的任务有需求变化) | 加入更新清单 |
|
|
40
|
+
| 无变化 | 跳过 |
|
|
41
|
+
|
|
42
|
+
**Tokens 检查**: 检查 `design_tokens.json`:
|
|
43
|
+
- `aestheticDirection.preset` 为空 → 引导选择
|
|
44
|
+
- `primitivePalette.brand` 为空 → 引导填入 Hex
|
|
45
|
+
- 其他空值 → AI 推断,非阻塞
|
|
46
|
+
|
|
47
|
+
**Output**: 屏幕规划清单(ID / 名称 / 对应任务 / 状态列表 / 操作:新增/更新/跳过)。
|
|
48
|
+
|
|
49
|
+
**Gate**: 用户回复 **OK** 后进入 step_3_generate;未确认禁生成文件。
|
|
50
|
+
</step_2_plan>
|
|
51
|
+
|
|
52
|
+
<step_2_5_refinement>
|
|
53
|
+
**Trigger**: 用户回复非 OK,含修正、增删屏幕或调整映射。
|
|
54
|
+
**Action**: 融入反馈,刷新屏幕规划清单重新输出,等待再次确认。
|
|
55
|
+
|
|
56
|
+
用户回复 OK → 进入 step_3_generate。
|
|
57
|
+
</step_2_5_refinement>
|
|
58
|
+
|
|
59
|
+
<step_3_generate>
|
|
60
|
+
**Action**: 调用 Skill 执行实际生成。
|
|
61
|
+
|
|
62
|
+
[[SKILL: archi-ui-wireframe|按 skill 的协议,基于确认的屏幕规划清单生成多文件 UI 概念设计。全量模式生成所有屏幕;增量模式仅生成新增/变更屏幕。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其协议执行)]]
|
|
63
|
+
|
|
64
|
+
**产出物**:
|
|
65
|
+
- `[[__DOCS_DIR__]]/global/screens/_shared.css` — CSS 变量(来自 design_tokens)+ 基础布局 + 控制栏样式
|
|
66
|
+
- `[[__DOCS_DIR__]]/global/screens/S-XX.html` — 每个屏幕独立文件
|
|
67
|
+
- `[[__DOCS_DIR__]]/global/screens/index.html` — 导航枢纽,列出所有屏幕
|
|
68
|
+
- `[[__DOCS_DIR__]]/global/ui_context.md` — AI 屏幕索引(路由引用 `screens/S-XX.html`)
|
|
69
|
+
|
|
70
|
+
**Output**: 生成文件清单 + 变更摘要。进入 step_4_verify。
|
|
71
|
+
</step_3_generate>
|
|
72
|
+
|
|
73
|
+
<step_4_verify>
|
|
74
|
+
**Role**: 独立审查官
|
|
75
|
+
|
|
76
|
+
**验证清单**:
|
|
77
|
+
|
|
78
|
+
| 检查项 | 通过标准 |
|
|
79
|
+
|:---|:---|
|
|
80
|
+
| 文件完整性 | `screens/` 含 `index.html` + `_shared.css` + 全部 `S-XX.html` |
|
|
81
|
+
| 跨文件链接 | `index.html` 中所有 `S-XX.html` 链接有效;每个 `S-XX.html` 含返回索引链接 |
|
|
82
|
+
| CSS 引用 | 每个 `S-XX.html` 引用 `_shared.css`;CSS 变量来自 design_tokens |
|
|
83
|
+
| 状态覆盖 | 每个屏幕含 default + 适用状态(loading/empty/error) |
|
|
84
|
+
| ui_context.md | 屏幕索引路由引用 `screens/S-XX.html` 路径 |
|
|
85
|
+
| (增量模式)已有屏幕 | 未修改的屏幕文件未被覆盖 |
|
|
86
|
+
|
|
87
|
+
有失败项 → 修复后重检。全部通过 → 进入 step_5_signoff。
|
|
88
|
+
</step_4_verify>
|
|
89
|
+
|
|
90
|
+
<step_5_signoff>
|
|
91
|
+
**Pre-signoff Checklist** (输出前须逐项确认):
|
|
92
|
+
□ `screens/` 目录结构完整(index.html + _shared.css + S-XX.html)
|
|
93
|
+
□ `ui_context.md` 已生成/更新,路径引用正确
|
|
94
|
+
□ Step 4 验证全部通过
|
|
95
|
+
□ (增量模式)仅目标屏幕被修改,其余文件未变
|
|
96
|
+
|
|
97
|
+
**Output**: UI 概念设计摘要,含:
|
|
98
|
+
- **模式**: 全量生成 / 增量更新
|
|
99
|
+
- **屏幕覆盖**: 共 N 个屏幕(新增 X / 更新 Y / 保留 Z)
|
|
100
|
+
- **审美方向**: preset + 品牌色
|
|
101
|
+
- **文件清单**: 生成/修改的文件列表
|
|
102
|
+
|
|
103
|
+
**用户确认**: 回复 **OK** 完成;非 OK 进入 Refinement(调用 Skill 局部更新)。
|
|
104
|
+
|
|
105
|
+
**Next Steps**:
|
|
106
|
+
|
|
107
|
+
| 优先级 | 动作 | 说明 |
|
|
108
|
+
|:---|:---|:---|
|
|
109
|
+
| 推荐 | 在浏览器打开 `screens/index.html` | 确认布局和视觉效果 |
|
|
110
|
+
| 1 | `/archi.plan <第一个 pending 任务 ID>` | 开始规划任务 |
|
|
111
|
+
</step_5_signoff>
|
|
112
|
+
|
|
113
|
+
</protocol_ui>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: 任务级 UI 范围声明 — 描述本任务负责的屏幕/组件范围,屏幕 ID 来自 ui_context.md,视觉原型见
|
|
2
|
+
description: 任务级 UI 范围声明 — 描述本任务负责的屏幕/组件范围,屏幕 ID 来自 ui_context.md,视觉原型见 screens/(人看)。
|
|
3
3
|
glue: 屏幕 ID 引用自 [[__DOCS_DIR__]]/global/ui_context.md;禁重定义整体布局或全局导航。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# UI Scope: {FEATURE_NAME}
|
|
7
7
|
|
|
8
8
|
> **Screen Index**: `[[__DOCS_DIR__]]/global/ui_context.md`(AI 读取屏幕 ID 和导航关系)
|
|
9
|
-
> **Visual Prototype**: `[[__DOCS_DIR__]]/global/
|
|
9
|
+
> **Visual Prototype**: `[[__DOCS_DIR__]]/global/screens/index.html`(人类浏览器预览,各屏幕 `screens/S-XX.html`)
|
|
10
10
|
> **Tokens**: `[[__DOCS_DIR__]]/global/design_tokens.json`
|
|
11
11
|
> **Protocol**: ITP v3.0(仅描述本任务边界内的组件树)
|
|
12
12
|
|
|
@@ -27,15 +27,15 @@ glue: 屏幕 ID 引用自 [[__DOCS_DIR__]]/global/ui_context.md;禁重定义
|
|
|
27
27
|
```text
|
|
28
28
|
[ScreenName > 修改区域名]
|
|
29
29
|
NewComponent [Col, Gap:4] ← 本任务新增
|
|
30
|
-
ExistingComponent ← ref:
|
|
30
|
+
ExistingComponent ← ref: screens/S-XX.html (不修改)
|
|
31
31
|
#NewSubComponents
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
> **引用规则**: 已在 `
|
|
34
|
+
> **引用规则**: 已在 `screens/S-XX.html` 中定义的组件 → `ref: screens/S-XX.html#组件名`;禁复制粘贴其结构。
|
|
35
35
|
|
|
36
36
|
## 3. Interactions (本任务新增的交互)
|
|
37
37
|
|
|
38
|
-
<!-- [AI]: 仅列出本任务引入的新交互;
|
|
38
|
+
<!-- [AI]: 仅列出本任务引入的新交互;screens/S-XX.html 已有的交互不重复 -->
|
|
39
39
|
|
|
40
40
|
| Trigger | Target | Action |
|
|
41
41
|
|:---|:---|:---|
|
|
@@ -43,9 +43,9 @@ glue: 屏幕 ID 引用自 [[__DOCS_DIR__]]/global/ui_context.md;禁重定义
|
|
|
43
43
|
|
|
44
44
|
## 4. States (本任务负责的状态渲染)
|
|
45
45
|
|
|
46
|
-
<!-- [AI]: 若
|
|
46
|
+
<!-- [AI]: 若 screens/S-XX.html 的状态已充分描述,此处可省略或仅补充差异 -->
|
|
47
47
|
|
|
48
|
-
| State | Delta from
|
|
48
|
+
| State | Delta from screens/S-XX.html |
|
|
49
49
|
|:---|:---|
|
|
50
|
-
| `loading` | 同
|
|
50
|
+
| `loading` | 同 screens/S-XX.html loading(无差异)|
|
|
51
51
|
| `empty` | 本任务空态文案不同:"{具体文案}" |
|