architext 0.0.4 → 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 +27 -1
- package/README.md +84 -7
- package/README.zh-CN.md +84 -7
- package/dist/index.js +38 -38
- package/dist/templates/en/briefs/_base.md +44 -11
- package/dist/templates/en/briefs/_modules.md +31 -4
- package/dist/templates/en/docs/prompts/audit.md +80 -94
- package/dist/templates/en/docs/prompts/code.md +87 -89
- package/dist/templates/en/docs/prompts/edit.md +47 -51
- 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 +91 -116
- package/dist/templates/en/docs/prompts/map.md +47 -69
- package/dist/templates/en/docs/prompts/plan.md +134 -239
- package/dist/templates/en/docs/prompts/recover.md +19 -34
- package/dist/templates/en/docs/prompts/ref.md +43 -138
- 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 +89 -129
- 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 +12 -12
- package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +3 -34
- package/dist/templates/en/skills/archi-design-patterns/SKILL.md +1 -0
- package/dist/templates/en/skills/archi-feature-relations/SKILL.md +4 -4
- 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 +20 -20
- package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +315 -270
- package/dist/templates/zh/briefs/_base.md +44 -12
- package/dist/templates/zh/briefs/_modules.md +27 -0
- package/dist/templates/zh/docs/prompts/audit.md +42 -56
- package/dist/templates/zh/docs/prompts/code.md +47 -49
- package/dist/templates/zh/docs/prompts/edit.md +38 -42
- package/dist/templates/zh/docs/prompts/fix.md +30 -29
- package/dist/templates/zh/docs/prompts/help.md +13 -21
- package/dist/templates/zh/docs/prompts/inherit.md +59 -83
- package/dist/templates/zh/docs/prompts/map.md +24 -47
- package/dist/templates/zh/docs/prompts/plan.md +92 -197
- package/dist/templates/zh/docs/prompts/recover.md +9 -24
- package/dist/templates/zh/docs/prompts/ref.md +11 -106
- package/dist/templates/zh/docs/prompts/remove.md +31 -71
- package/dist/templates/zh/docs/prompts/revise.md +37 -86
- package/dist/templates/zh/docs/prompts/scope.md +51 -91
- package/dist/templates/zh/docs/prompts/start.md +67 -106
- package/dist/templates/zh/rules/00_system.md +18 -91
- package/dist/templates/zh/rules/01_workflow.md +60 -59
- package/dist/templates/zh/rules/03_data_governance.md +41 -68
- package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +2 -33
- package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +1 -0
- package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -1
- package/dist/templates/zh/skills/archi-plan-options/SKILL.md +1 -0
- package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +317 -269
- package/package.json +1 -1
|
@@ -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.
|
|
25
|
-
3. 读取
|
|
25
|
+
2. 读取目标目录下所有文档与相关代码。
|
|
26
|
+
3. 读取 02_tech_stack.md(技术红线)和 vision.md(方向基准)。
|
|
26
27
|
4. 分析 `[context]`,结合代码逻辑定位潜在故障点。
|
|
27
28
|
5. **Hypothesis**: 提出 1-3 个根因假设。
|
|
28
29
|
|
|
@@ -30,31 +31,23 @@
|
|
|
30
31
|
</step_1_diagnose>
|
|
31
32
|
|
|
32
33
|
<step_2_plan_fix>
|
|
33
|
-
**Role**: Tech Lead
|
|
34
34
|
**Action**:
|
|
35
|
-
- 更新
|
|
35
|
+
- 更新 plan.json,追加 phase `Bugfix: <Bug Title>`。
|
|
36
36
|
- Tasks: 1) 创建复现测试(Red) 2) 修复(Green) 3) 回归测试。
|
|
37
37
|
|
|
38
|
-
**Terminal Gate** (
|
|
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
|
-
-
|
|
52
|
-
- 错误处理遵循 `code.md` 规范(禁吞错/禁静默失败)。
|
|
45
|
+
- 根据 Plan 直接修改代码。仅修复 Bug,禁借机重构。
|
|
46
|
+
- 错误处理遵循 `code.md` 规范。
|
|
53
47
|
</step_3_execute_fix>
|
|
54
48
|
|
|
55
49
|
<step_4_verify>
|
|
56
|
-
**
|
|
57
|
-
**Terminal Gate** (禁止跳过,须在 step_5 输出前全部完成):
|
|
50
|
+
**Terminal Gate** (禁止跳过):
|
|
58
51
|
| 步骤 | 命令 | 通过条件 |
|
|
59
52
|
|:---|:---|:---|
|
|
60
53
|
| 1 | 运行构建命令 | 构建成功 |
|
|
@@ -65,28 +58,36 @@
|
|
|
65
58
|
任何失败须修复至通过。
|
|
66
59
|
|
|
67
60
|
**代码质量审查**:
|
|
68
|
-
[[SUBAGENT: archi-silent-audit|mode: code-impl, context:
|
|
61
|
+
[[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
62
|
|
|
70
63
|
[[INCLUDE: shared/verify-result-handling.md]]
|
|
71
64
|
</step_4_verify>
|
|
72
65
|
|
|
73
|
-
<
|
|
74
|
-
**Role**: Tech Lead
|
|
66
|
+
<step_5_plan_update>
|
|
75
67
|
**Action**:
|
|
76
|
-
1. 更新
|
|
77
|
-
2. [
|
|
78
|
-
3. [Bugfix
|
|
79
|
-
|
|
80
|
-
**Output**: `MODIFIED: plan.json Bugfix Phase done
|
|
81
|
-
</
|
|
68
|
+
1. 更新 plan.json Bugfix Phase 中已完成 tasks 的 `done: true`。
|
|
69
|
+
2. [status=`done` 且 Bugfix 全通过] → 保持 `done`。
|
|
70
|
+
3. [Bugfix 有未通过项] → `npx archi task <ID> --status active`;signoff 标注须重新 `/archi.code`。
|
|
71
|
+
|
|
72
|
+
**Output**: `MODIFIED: plan.json Bugfix Phase done 标记`。进入 step_6_summary。
|
|
73
|
+
</step_5_plan_update>
|
|
74
|
+
|
|
75
|
+
<step_6_summary>
|
|
76
|
+
**Pre-signoff Checklist** (输出前须逐项确认):
|
|
77
|
+
□ 根因已分析(非表面修补),Hypothesis 已在 step_1 输出
|
|
78
|
+
□ plan.json — Bugfix Phase 已追加(step_2)
|
|
79
|
+
□ 复现测试已创建并验证(Red → Green)
|
|
80
|
+
□ 代码修复仅针对 Bug,无借机重构
|
|
81
|
+
□ Step 4 Terminal Gate — 构建/类型检查/Lint/测试全部通过
|
|
82
|
+
□ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
83
|
+
□ plan.json Bugfix Phase — done 标记已更新(step_5)
|
|
82
84
|
|
|
83
|
-
<step_5_summary>
|
|
84
85
|
**Output**: Bug 修复摘要,含 Root Cause 分析、修复内容、新增测试,以及 Next Steps 表格:
|
|
85
86
|
|
|
86
87
|
| 优先级 | 动作 | 说明 |
|
|
87
88
|
|:---|:---|:---|
|
|
88
|
-
| 推荐 | `/archi.audit <ID>` |
|
|
89
|
-
| 可选 | `/archi.code <ID>` |
|
|
90
|
-
</
|
|
89
|
+
| 推荐 | `/archi.audit <ID>` | 重新审查,确认修复完整 |
|
|
90
|
+
| 可选 | `/archi.code <ID>` | 如有未完成项,继续实现 |
|
|
91
|
+
</step_6_summary>
|
|
91
92
|
|
|
92
93
|
</protocol_fix>
|
|
@@ -14,17 +14,15 @@
|
|
|
14
14
|
</meta>
|
|
15
15
|
|
|
16
16
|
<step_1_load_context>
|
|
17
|
-
**Role**: 项目观察员
|
|
18
17
|
**Action**:
|
|
19
|
-
1.
|
|
20
|
-
2. 扫描
|
|
21
|
-
3. [?question]
|
|
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 目录 | 已启动,未规划 |
|
|
46
|
-
| 有 Legacy stub (Spec-Status: Stub) | 已继承,未补全 |
|
|
47
|
-
| 有 active 任务且 plan.json 完整 | 可编码 |
|
|
48
|
-
| 有 active 任务但缺 spec/plan | 规划未完成 |
|
|
49
|
-
| 所有任务 done | 已完成 |
|
|
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.
|
|
64
|
-
4. 若信息不足以回答,明确告知缺少什么,而非编造。
|
|
54
|
+
1. 解析 `[question]` 语义,定位相关项目文件并读取。
|
|
55
|
+
2. 综合回答;涉及操作的问题须包含具体命令建议。
|
|
56
|
+
3. 信息不足以回答时,明确告知缺少什么,禁编造。
|
|
65
57
|
|
|
66
58
|
**Output**: 基于项目上下文的简洁回答 + 相关文件引用。
|
|
67
59
|
</step_4_answer>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<protocol_inherit>
|
|
2
2
|
**Trigger**: `/archi.inherit [brief_path]`
|
|
3
3
|
**Phase**: Legacy Adoption
|
|
4
|
-
**Goal**:
|
|
4
|
+
**Goal**: 逆向分析已有代码仓库,用分析结果填充 init 部署的文档骨架(`[[__DOCS_DIR__]]`),将项目纳入框架管理。填充空占位符,非覆盖用户既有内容。可选提供 Brief 以补充愿景/路线图(适用于代码库尚空、骨架刚搭的场景)。
|
|
5
5
|
|
|
6
6
|
<meta>
|
|
7
7
|
<style>Analytical, Systematic, Evidence-Based</style>
|
|
@@ -10,25 +10,20 @@
|
|
|
10
10
|
1. **Code-Driven**: 以代码为唯一真相源,禁凭空推测功能。
|
|
11
11
|
2. **AI-Native Perspective**: 分析从 AI Agent 视角撰写。关注:Context Locality、Type Safety、Module Boundaries。
|
|
12
12
|
3. **User Agency First**: AI 的分析须经用户确认。代码解读有歧义时询问用户,禁擅自决定。
|
|
13
|
-
4. **
|
|
13
|
+
4. **Thorough Discovery, Layered Recording**: 全量读取所有非第三方业务代码(排除 node_modules/vendor/dist 等生成物),不设文件数上限。记录按三档分层:核心模块详细记录流程、共享逻辑记录签名和依赖关系、纯工具记录签名和用途。宁可多读不可遗漏——后续协议无法使用未被记录的代码。
|
|
14
14
|
5. **Option Z Everywhere**: 补充提问须包含 `[Z] 自定义`。
|
|
15
15
|
</principles>
|
|
16
16
|
</meta>
|
|
17
17
|
|
|
18
|
-
<
|
|
18
|
+
<step_0_recon>
|
|
19
19
|
**Role**: 情报分析官
|
|
20
|
-
|
|
21
|
-
**
|
|
20
|
+
|
|
21
|
+
**Brief 检测**(仅当用户提供 `[brief_path]` 时):
|
|
22
22
|
1. 解析 `[brief_path]`:提供了路径 → 读取该文件;未提供 → 依次查找 `project-brief.md`(项目根)、`[[__DOCS_DIR__]]/project-brief.md`
|
|
23
23
|
2. 若文件存在且非空:解析 Brief 各 Section,提取项目身份、核心任务、技术偏好、边界约束、补充说明(与 start 的 step_0_ingest 一致)
|
|
24
|
-
3.
|
|
24
|
+
3. 若文件不存在或为空:跳过 Brief,后续仅以代码为输入源
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
</step_0_ingest>
|
|
28
|
-
|
|
29
|
-
<step_0_recon>
|
|
30
|
-
**Role**: 情报分析官
|
|
31
|
-
**Action**:
|
|
26
|
+
**代码侦察**:
|
|
32
27
|
1. 读取项目根配置文件(自动识别类型):
|
|
33
28
|
|
|
34
29
|
| 语言/生态 | 配置文件 |
|
|
@@ -41,63 +36,35 @@
|
|
|
41
36
|
| 其他 | 以根目录配置文件为准 |
|
|
42
37
|
|
|
43
38
|
2. 读取 README.md(如存在)。
|
|
44
|
-
3.
|
|
39
|
+
3. 扫描目录结构(完整深度)。
|
|
45
40
|
4. 推断项目特征标签(UI / Data / CLI / Lib / API — 由目录结构、依赖和配置推断)。
|
|
46
|
-
5.
|
|
41
|
+
5. 识别入口文件和核心模块。沿入口文件的 import 链建立模块依赖草图。
|
|
47
42
|
|
|
48
|
-
**Output**: 内部摘要(不输出给用户),进入
|
|
43
|
+
**Output**: 内部摘要(不输出给用户),进入 step_1_analysis。
|
|
49
44
|
</step_0_recon>
|
|
50
45
|
|
|
51
46
|
<step_1_analysis>
|
|
52
|
-
**Role**:
|
|
53
|
-
**扫描策略**:
|
|
47
|
+
**Role**: 首席产品战略官 (CPO)
|
|
48
|
+
**扫描策略**: 深度扫描 — 从入口文件出发,沿调用链读取所有业务文件。大型模块(>10 文件)优先读被多处 import 的文件。
|
|
54
49
|
|
|
55
50
|
**Action**:
|
|
56
51
|
1. 对每个识别出的功能模块:
|
|
57
|
-
-
|
|
52
|
+
- 从入口文件出发,沿 import/调用链逐层读取,直到覆盖该模块的主要业务逻辑
|
|
58
53
|
- 提取主要流程(用户操作 → 系统处理 → 结果)
|
|
59
54
|
- 记录关联文件路径
|
|
60
55
|
2. 对共享/基建代码(utils, middleware, config):
|
|
61
|
-
|
|
56
|
+
读取所有文件,按以下分档记录:
|
|
57
|
+
- **中等档**(业务共享逻辑:auth/validation/error-handling/permission):记录职责 + 导出函数签名 + 被谁依赖
|
|
58
|
+
- **简要档**(纯工具函数:format/slugify/logger/helpers):记录函数名 + 参数签名 + 一句话用途
|
|
59
|
+
两者均写入 map.json publicAPI 字段,确保后续协议可发现可复用。
|
|
62
60
|
3. 从代码中提取领域术语和命名约定。
|
|
63
61
|
|
|
64
|
-
**Output**:
|
|
65
|
-
```
|
|
66
|
-
### 代码分析报告
|
|
67
|
-
> **项目**: [名称] | **类型**: [UI/Data/CLI/Lib/API] | **规模**: ~[文件数] 文件, [目录数] 目录
|
|
68
|
-
|
|
69
|
-
**技术栈**:
|
|
70
|
-
| 类别 | 选型 |
|
|
71
|
-
|:---|:---|
|
|
72
|
-
| 语言 | ... |
|
|
73
|
-
| 框架 | ... |
|
|
74
|
-
| 构建 | ... |
|
|
75
|
-
| 测试 | ... |
|
|
76
|
-
| 部署 | ... |
|
|
77
|
-
|
|
78
|
-
**架构模式**: [推断] — [依据]
|
|
79
|
-
|
|
80
|
-
**功能模块清单**:
|
|
81
|
-
| # | 模块 | 源码位置 | 职责 | 关键流程 |
|
|
82
|
-
|:---|:---|:---|:---|:---|
|
|
83
|
-
| 1 | [名称] | [路径] | [一句话] | [流程1], [流程2] |
|
|
84
|
-
|
|
85
|
-
**共享基建**:
|
|
86
|
-
| 目录 | 职责 |
|
|
87
|
-
|:---|:---|
|
|
88
|
-
| [路径] | [描述] |
|
|
89
|
-
|
|
90
|
-
**领域术语**: [术语列表]
|
|
91
|
-
|
|
92
|
-
**AI 不确定项** (如有):
|
|
93
|
-
- [歧义项]
|
|
94
|
-
```
|
|
62
|
+
**Output**: 向用户输出结构化分析报告 — 含项目概况(名称/类型/规模)、技术栈表(语言/框架/构建/测试/部署)、架构模式及依据、功能模块清单(模块/源码位置/职责/关键流程)、共享基建(目录/职责/关键导出接口)、领域术语、AI 不确定项(如有)。
|
|
95
63
|
|
|
96
64
|
**Gate**: 用户确认或修正。未确认禁进入 step_2。
|
|
97
65
|
</step_1_analysis>
|
|
98
66
|
|
|
99
67
|
<step_2_supplementary>
|
|
100
|
-
**Role**: 产品顾问
|
|
101
68
|
**Trigger**: 仅当 step_1 有 AI 无法确定的项时执行。无歧义则跳过。
|
|
102
69
|
|
|
103
70
|
**Action**: 以选择题形式询问歧义项。
|
|
@@ -130,32 +97,32 @@
|
|
|
130
97
|
<step_3_constitution>
|
|
131
98
|
**Role**: 首席架构师
|
|
132
99
|
**Input**: Step 0 Brief 解析(如有)+ Step 1 分析报告 + Step 2 补充(如有)。
|
|
133
|
-
**Action**:
|
|
100
|
+
**Action**: 一次性填充 init 部署的文档骨架。**有 Brief 时**:Brief 优先于代码(vision/roadmap/tech_stack);代码仍用于 map、LEG-xx、目录结构。**无 Brief 时**:仅以代码为输入源(保持原逻辑)。
|
|
134
101
|
|
|
135
102
|
### 信息路由规则
|
|
136
103
|
|
|
137
104
|
> 规则文件(`02_tech_stack`、`90_custom_rules` 等)已由 IDE 注入当前上下文,AI 已知其路径,直接写入即可。
|
|
138
105
|
|
|
139
|
-
**有 Brief 时**(Brief
|
|
106
|
+
**有 Brief 时**(Brief → 目标文件):
|
|
140
107
|
| Brief 内容 | 目标文件 |
|
|
141
108
|
|:---|:---|
|
|
142
109
|
| 项目身份、目标用户、成功指标、参考灵感 | `[[__DOCS_DIR__]]/global/vision.md` |
|
|
143
110
|
| 技术栈、部署目标、第三方库/服务 | 规则文件 `02_tech_stack` |
|
|
144
111
|
| 核心任务列表 | `[[__DOCS_DIR__]]/global/roadmap.json`(phase-1/2,调用 archi-decompose-roadmap) |
|
|
145
|
-
|
|
|
112
|
+
| 补充说明中的规则/约定/偏好 | 规则文件 `90_custom_rules` |
|
|
146
113
|
| 风格调性(仅ui) | `design_tokens.json` aestheticDirection 等 |
|
|
147
114
|
|
|
148
115
|
**代码中的信息**(始终适用):
|
|
149
|
-
|
|
|
116
|
+
| 信息来源 | 目标文件 |
|
|
150
117
|
|:---|:---|
|
|
151
|
-
| README
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
| eslint/prettier
|
|
156
|
-
|
|
|
157
|
-
| (仅ui项目)
|
|
158
|
-
| (仅data项目)
|
|
118
|
+
| README 描述/特性 | vision.md |
|
|
119
|
+
| 依赖/配置/代码模式 | 02_tech_stack |
|
|
120
|
+
| 目录结构/模块依赖/用户旅程 | map.json |
|
|
121
|
+
| 领域术语/命名约定 | dictionary.json |
|
|
122
|
+
| eslint/prettier 等规范 | 90_custom_rules |
|
|
123
|
+
| 代码中的错误码 | error_codes.json |
|
|
124
|
+
| (仅ui项目)CSS 变量/主题 | design_tokens.json |
|
|
125
|
+
| (仅data项目)Schema/Migration | data_snapshot.json |
|
|
159
126
|
|
|
160
127
|
### 3.1 Vision (`[[__DOCS_DIR__]]/global/vision.md`)
|
|
161
128
|
- **有 Brief**:从 Brief 填充(与 start 一致),代码/README 仅作补充
|
|
@@ -163,18 +130,18 @@
|
|
|
163
130
|
- 禁保留模板占位符
|
|
164
131
|
|
|
165
132
|
### 3.2 Tech Stack (规则文件 `02_tech_stack`)
|
|
166
|
-
- **有 Brief**:Brief
|
|
167
|
-
- **无 Brief**:已有依赖/配置 →
|
|
133
|
+
- **有 Brief**:Brief 确定的 → 直接写入;留空/推荐的 → AI 推荐;代码依赖作补充
|
|
134
|
+
- **无 Brief**:已有依赖/配置 → 直接写入;可见规范 → 写入 Coding Standards
|
|
168
135
|
- 须填充完整 Section 1-8
|
|
169
136
|
|
|
170
137
|
### 3.3 Custom Rules (规则文件 `90_custom_rules`)
|
|
171
|
-
- **有 Brief
|
|
172
|
-
- **无 Brief**:从 eslint/prettier/editorconfig
|
|
138
|
+
- **有 Brief**:从补充说明 + 代码 eslint/prettier 合并
|
|
139
|
+
- **无 Brief**:从 eslint/prettier/editorconfig 提取,从代码模式识别团队约定
|
|
173
140
|
|
|
174
141
|
### 3.4 Roadmap (`[[__DOCS_DIR__]]/global/roadmap.json`)
|
|
175
142
|
|
|
176
|
-
**有 Brief 时**:[[SKILL: archi-decompose-roadmap|基于 Brief 任务列表生成 phase-1/2 任务链]]
|
|
177
|
-
**无 Brief
|
|
143
|
+
**有 Brief 时**:[[SKILL: archi-decompose-roadmap|基于 Brief 任务列表生成 phase-1/2 任务链]];代码功能模块 → phase-0 LEG-xx(status=done)。合并两者。
|
|
144
|
+
**无 Brief 时**:仅代码功能模块 → phase-0 LEG-xx;phase-1/2 保留空骨架。
|
|
178
145
|
|
|
179
146
|
**结构**:
|
|
180
147
|
```json
|
|
@@ -207,7 +174,6 @@
|
|
|
207
174
|
**规则**:
|
|
208
175
|
- 功能模块 → `phase-0: Legacy`,status `done`,tag `Legacy`,ID 前缀 `LEG-`
|
|
209
176
|
- 共享/基建代码不进 roadmap,仅进 map.json directoryMapping
|
|
210
|
-
- phase-1/2 保留空骨架
|
|
211
177
|
- LEG 间如有依赖关系须在 deps 中体现
|
|
212
178
|
|
|
213
179
|
### 3.5 Task Stub Specs
|
|
@@ -225,11 +191,9 @@
|
|
|
225
191
|
|
|
226
192
|
## 关键流程
|
|
227
193
|
1. **[流程名]**: [A] → [B] → [C]
|
|
228
|
-
2. **[流程名]**: [A] → [B] → [C]
|
|
229
194
|
|
|
230
195
|
## 关联文件
|
|
231
196
|
- [角色]: `[路径]`
|
|
232
|
-
- [角色]: `[路径]`
|
|
233
197
|
```
|
|
234
198
|
|
|
235
199
|
> Stub 是起点,非终态。后续通过 `/archi.edit` 触发补全(自动进入 `step_1_5_enrich` 流程)。
|
|
@@ -239,17 +203,23 @@
|
|
|
239
203
|
- `logicalTopology`: 模块间依赖 → `{ "from", "to", "type" }` (imports / calls / extends)
|
|
240
204
|
- `criticalUserJourneys`: 核心流程 → `{ "name", "steps": ["module → module → ..."] }`
|
|
241
205
|
- `featureRelations`: 扫描代码,识别「聚合型模块」并记录。
|
|
242
|
-
**识别特征**:
|
|
243
|
-
每条记录格式: `{ "aggregator"
|
|
206
|
+
**识别特征**: 某模块遍历/枚举/动态加载同类模块,或其描述为「汇总/列举/注册所有 X」。
|
|
207
|
+
每条记录格式: `{ "aggregator", "sources", "evidence", "checkNote" }`
|
|
244
208
|
|
|
245
209
|
### 3.7 其他全局文档(按需)
|
|
246
210
|
- `dictionary.json`: 从代码提取领域术语
|
|
247
211
|
- (仅ui项目) `design_tokens.json`: 从 CSS 变量/主题提取
|
|
248
|
-
- (仅ui项目) `ui_concept.html` + `ui_context.md`: **不由本命令生成**。继承完成后,[[SKILL: archi-ui-wireframe|调用 skill 或提示用户运行]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并提示用户按该文档执行)]] 生成全局 UI 线框图(Skill 同时生成两个文件)。
|
|
249
212
|
- (仅data项目) `data_snapshot.json`: 从 schema/migration 提取
|
|
250
213
|
- `error_codes.json`: 从代码中的错误定义提取
|
|
251
214
|
|
|
252
|
-
**
|
|
215
|
+
仅ui项目: **UI 概念设计(Adopt 模式)**: [[SKILL: archi-ui-wireframe|调用 skill(adopt 模式),从代码逆向生成 UI 概念设计。]][[NO-SKILL: (Skill 未安装:请阅读 `[[__DOCS_DIR__]]/skills/archi-ui-wireframe/SKILL.md` 并遵循其 Adopt 协议执行)]]
|
|
216
|
+
- 读取代码中的路由定义、页面组件、布局文件
|
|
217
|
+
- 读取 step_3 写入的 design_tokens.json(含代码提取的 CSS 变量/theme)
|
|
218
|
+
- tokens 不完整时触发 skill 内置引导流程
|
|
219
|
+
- 写入 `ui_concept.html` + `ui_context.md`
|
|
220
|
+
- 输出 UI 概念设计摘要,等待用户确认或反馈调整
|
|
221
|
+
|
|
222
|
+
**Output**: 写入所有文件,运行 `npx archi render`。进入 step_4_verify。
|
|
253
223
|
</step_3_constitution>
|
|
254
224
|
|
|
255
225
|
<step_4_verify>
|
|
@@ -260,13 +230,19 @@
|
|
|
260
230
|
</step_4_verify>
|
|
261
231
|
|
|
262
232
|
<step_5_signoff>
|
|
263
|
-
**Terminal Gate** (
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
233
|
+
**Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
|
|
234
|
+
|
|
235
|
+
**Pre-signoff Checklist** (Gate 通过后、输出前须逐项确认):
|
|
236
|
+
□ vision.md — 已填充(无 Brief 时: 推导内容标注了 `(AI 补全 — 建议用户审查)`)
|
|
237
|
+
□ 02_tech_stack.md — Section 1-8 完整填充
|
|
238
|
+
□ roadmap.json — 每个功能模块对应一条 LEG-xx(status: done, tag: Legacy)
|
|
239
|
+
□ tasks/LEG-xx_<Slug>/spec.md — 每条 LEG 均有对应 Stub spec(含关联文件列表)
|
|
240
|
+
□ map.json — directoryMapping + logicalTopology + criticalUserJourneys + featureRelations 均已填充
|
|
241
|
+
□ dictionary.json + error_codes.json — 从代码提取完毕
|
|
242
|
+
□ (仅ui项目)design_tokens.json + ui_concept.html + ui_context.md — Adopt 模式已执行
|
|
243
|
+
□ Step 4 Silent Audit — 已执行,所有 CRITICAL 问题已修复
|
|
244
|
+
|
|
245
|
+
**Action** (Checklist 全部确认后):
|
|
270
246
|
1. 运行 `npx archi task` 输出任务概览。
|
|
271
247
|
2. 输出总结。
|
|
272
248
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<protocol_map>
|
|
2
|
-
**Trigger**: `/archi.map`
|
|
2
|
+
**Trigger**: `/archi.map` | 自然语言触发时由 Workflow Dispatch 自动加载
|
|
3
3
|
**Goal**: 扫描项目实际目录结构,与 `map.json` 比对,识别新增/过期/变动,经用户确认后更新架构地图。
|
|
4
4
|
|
|
5
5
|
<meta>
|
|
@@ -10,23 +10,22 @@
|
|
|
10
10
|
2. **Smart Granularity**: 默认目录级;单文件承载多职责时须细化到文件级。
|
|
11
11
|
3. **Architecture Inference**: 新条目的层级归类须参考现有 map 模式 + `02_tech_stack.md`。
|
|
12
12
|
4. **Batch Confirm**: 所有变更一次性展示,用户批量确认。
|
|
13
|
+
5. **IDE-Native First**: 利用 IDE 原生能力驱动执行节奏,本协议定义质量标准和检查点,不对抗 IDE 的规划/执行机制。
|
|
13
14
|
</principles>
|
|
14
15
|
</meta>
|
|
15
16
|
|
|
16
17
|
<step_1_scan>
|
|
17
|
-
**Role**: 测量员
|
|
18
18
|
**Action**:
|
|
19
19
|
1. **Read Map**: 读取 `[[__DOCS_DIR__]]/global/map.json` — 当前架构地图。
|
|
20
20
|
2. **Read Tech Stack**: 读取 `02_tech_stack.md` — 目录结构约定、架构模式。
|
|
21
21
|
3. **Scan Directory Tree**: 扫描项目目录结构。
|
|
22
22
|
- **排除**: `.git/`, `node_modules/`, `dist/`, `build/`, `[[__DOCS_DIR__]]/`, 及 `.gitignore` 中声明的路径。
|
|
23
|
-
- **深度**: 跟随 map.json
|
|
23
|
+
- **深度**: 跟随 map.json 现有条目的粒度模式。
|
|
24
24
|
|
|
25
25
|
**Output**: 内部数据(实际目录树 + 现有 map 结构),不输出给用户。
|
|
26
26
|
</step_1_scan>
|
|
27
27
|
|
|
28
28
|
<step_2_diff>
|
|
29
|
-
**Role**: 比对分析师
|
|
30
29
|
**Action**: 将实际目录树与 map.json 逐条比对,归类为三种差异。
|
|
31
30
|
|
|
32
31
|
| 差异类型 | 判定条件 | 处理 |
|
|
@@ -37,12 +36,7 @@
|
|
|
37
36
|
|
|
38
37
|
### 文件级检测
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
- 一个文件导出多个不相关的 class/function/module
|
|
42
|
-
- 一个入口文件聚合注册了多个子模块(如路由注册、Store 注册)
|
|
43
|
-
- 一个文件同时服务多个 Task
|
|
44
|
-
|
|
45
|
-
发现此类文件 → 粒度细化到文件级,在 map 中单独登记并描述其包含的职责。
|
|
39
|
+
对新增目录中的文件做快速扫描,识别**单文件多职责**的情况 → 粒度细化到文件级。
|
|
46
40
|
|
|
47
41
|
**Output**: 差异列表(内部),进入 step_3。
|
|
48
42
|
</step_2_diff>
|
|
@@ -53,22 +47,17 @@
|
|
|
53
47
|
|
|
54
48
|
### 归类策略
|
|
55
49
|
|
|
56
|
-
1. **模式匹配**: 参考 map.json
|
|
57
|
-
2. **Tech Stack 约定**: `02_tech_stack.md`
|
|
58
|
-
3. **内容推断**: 读取文件内容(import
|
|
59
|
-
4. **无法确定**: 标记为 `[?]
|
|
50
|
+
1. **模式匹配**: 参考 map.json 同层级已有条目的归类。
|
|
51
|
+
2. **Tech Stack 约定**: `02_tech_stack.md` 中的目录结构规则。
|
|
52
|
+
3. **内容推断**: 读取文件内容(import 关系、导出类型)。
|
|
53
|
+
4. **无法确定**: 标记为 `[?]`,交由用户指定。
|
|
60
54
|
|
|
61
|
-
|
|
62
|
-
- `path`: 目录或文件路径
|
|
63
|
-
- `layer`: 架构层级
|
|
64
|
-
- `description`: 一句话描述职责
|
|
65
|
-
- `[?文件级]` `contains`: 该文件包含的子职责列表
|
|
55
|
+
对每个新增条目填充:`path`、`layer`、`description`、`[?文件级] contains`。
|
|
66
56
|
|
|
67
57
|
**Output**: 已归类的新增条目列表(内部),进入 step_4。
|
|
68
58
|
</step_3_classify>
|
|
69
59
|
|
|
70
60
|
<step_4_propose>
|
|
71
|
-
**Role**: 咨询顾问
|
|
72
61
|
**Action**: 向用户展示完整变更清单。
|
|
73
62
|
|
|
74
63
|
**Output**:
|
|
@@ -83,50 +72,38 @@
|
|
|
83
72
|
#### 过期条目 (将移除)
|
|
84
73
|
| 路径 | 原层级 |
|
|
85
74
|
|:---|:---|
|
|
86
|
-
| src/legacy/old-module/ | Service Layer |
|
|
87
75
|
|
|
88
76
|
#### 新增条目 (将登记)
|
|
89
77
|
| 路径 | 层级 | 描述 | 粒度 |
|
|
90
78
|
|:---|:---|:---|:---|
|
|
91
|
-
| src/services/payment/ | Service Layer | 支付服务模块 | 目录 |
|
|
92
|
-
| src/utils/validators.ts | Shared Layer | 表单校验 + 数据校验 + API 参数校验 | 文件 |
|
|
93
|
-
| src/routes/api.ts [?] | [待指定] | 聚合注册多条 API 路由 | 文件 |
|
|
94
79
|
|
|
95
80
|
#### 疑似重命名
|
|
96
81
|
| 原路径 | 新路径 | 置信度 |
|
|
97
82
|
|:---|:---|:---|
|
|
98
|
-
| src/helpers/ | src/utils/ | 高 (文件内容匹配) |
|
|
99
83
|
|
|
100
84
|
---
|
|
101
|
-
> 回复 **OK**
|
|
102
|
-
> - "src/routes/api.ts 属于 App Layer"
|
|
103
|
-
> - "src/helpers/ 不是重命名,保留原条目"
|
|
104
|
-
> - "新增 src/config/ 为 Config Layer"
|
|
85
|
+
> 回复 **OK** 确认全部;或指定修改。
|
|
105
86
|
```
|
|
106
87
|
|
|
107
88
|
**Gate**: 用户确认后进入 step_5。
|
|
108
89
|
</step_4_propose>
|
|
109
90
|
|
|
110
91
|
<step_5_apply>
|
|
111
|
-
**Role**: 系统管理员
|
|
112
92
|
**Action**:
|
|
113
|
-
1.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
- **新增**: N 条(含 M 条文件级)
|
|
128
|
-
- **重命名**: N 条
|
|
129
|
-
- **当前 map 总条目数**: X
|
|
93
|
+
1. 按确认清单更新 map.json(移除过期、添加新增、处理重命名)。
|
|
94
|
+
2. 更新 `lastUpdated`。
|
|
95
|
+
|
|
96
|
+
**Terminal Gate** (禁止跳过): 标准检查 (task --check + render)。
|
|
97
|
+
|
|
98
|
+
**Pre-signoff Checklist** (Output 前须逐项确认):
|
|
99
|
+
□ 用户已在 step_4 明确确认变更清单(Gate 通过后才执行)
|
|
100
|
+
□ 过期条目已从 directoryMapping 移除
|
|
101
|
+
□ 新增条目已正确归类(path + layer + description 均已填写)
|
|
102
|
+
□ 疑似重命名已明确处理(非静默忽略)
|
|
103
|
+
□ lastUpdated 已更新
|
|
104
|
+
□ Terminal Gate — task --check + render 通过
|
|
105
|
+
|
|
106
|
+
**Output**: 更新摘要 — 移除 N 条 / 新增 N 条(含 M 条文件级)/ 重命名 N 条 / 当前总条目数。
|
|
130
107
|
</step_5_apply>
|
|
131
108
|
|
|
132
109
|
</protocol_map>
|