architext 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +55 -1
  2. package/README.md +93 -14
  3. package/README.zh-CN.md +92 -14
  4. package/dist/index.js +53 -39
  5. package/dist/templates/en/briefs/_base.md +53 -13
  6. package/dist/templates/en/briefs/_modules.md +31 -4
  7. package/dist/templates/en/docs/global/error_memory.json +40 -0
  8. package/dist/templates/en/docs/global/map.json +46 -90
  9. package/dist/templates/en/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +6 -13
  10. package/dist/templates/en/{rules/02_tech_stack.md → docs/global/tech_stack.md} +7 -18
  11. package/dist/templates/en/docs/global/vision.md +1 -1
  12. package/dist/templates/en/docs/prompts/audit.md +80 -94
  13. package/dist/templates/en/docs/prompts/code.md +99 -89
  14. package/dist/templates/en/docs/prompts/edit.md +61 -51
  15. package/dist/templates/en/docs/prompts/fix.md +59 -43
  16. package/dist/templates/en/docs/prompts/help.md +23 -31
  17. package/dist/templates/en/docs/prompts/inherit.md +97 -117
  18. package/dist/templates/en/docs/prompts/map.md +48 -69
  19. package/dist/templates/en/docs/prompts/plan.md +141 -240
  20. package/dist/templates/en/docs/prompts/recover.md +19 -34
  21. package/dist/templates/en/docs/prompts/ref.md +43 -138
  22. package/dist/templates/en/docs/prompts/remove.md +63 -110
  23. package/dist/templates/en/docs/prompts/revise.md +71 -106
  24. package/dist/templates/en/docs/prompts/scope.md +78 -117
  25. package/dist/templates/en/docs/prompts/script.md +102 -0
  26. package/dist/templates/en/docs/prompts/start.md +98 -132
  27. package/dist/templates/en/docs/prompts/ui.md +113 -0
  28. package/dist/templates/en/docs/shared/ui-redlines.md +7 -0
  29. package/dist/templates/en/docs/templates/spec.template.md +1 -1
  30. package/dist/templates/en/docs/templates/ui.template.md +8 -8
  31. package/dist/templates/en/rules/00_system.md +268 -117
  32. package/dist/templates/en/rules/90_custom_rules.md +3 -1
  33. package/dist/templates/en/skills/archi-data-sync/SKILL.md +37 -23
  34. package/dist/templates/en/skills/archi-decompose-roadmap/SKILL.md +138 -240
  35. package/dist/templates/en/skills/archi-design-patterns/SKILL.md +6 -1
  36. package/dist/templates/en/skills/archi-feature-relations/SKILL.md +10 -6
  37. package/dist/templates/en/skills/archi-interview-protocol/SKILL.md +2 -2
  38. package/dist/templates/en/skills/archi-plan-options/SKILL.md +77 -301
  39. package/dist/templates/en/skills/archi-silent-audit/SKILL.md +24 -25
  40. package/dist/templates/en/skills/archi-ui-wireframe/SKILL.md +175 -305
  41. package/dist/templates/icon.svg +16 -0
  42. package/dist/templates/zh/briefs/_base.md +56 -17
  43. package/dist/templates/zh/briefs/_modules.md +28 -1
  44. package/dist/templates/zh/docs/global/error_memory.json +40 -0
  45. package/dist/templates/zh/docs/global/map.json +39 -109
  46. package/dist/templates/zh/{rules/04_cli_tools.md → docs/global/references/cli_reference.md} +0 -7
  47. package/dist/templates/zh/{rules/02_tech_stack.md → docs/global/tech_stack.md} +9 -20
  48. package/dist/templates/zh/docs/global/vision.md +1 -1
  49. package/dist/templates/zh/docs/prompts/audit.md +43 -57
  50. package/dist/templates/zh/docs/prompts/code.md +66 -56
  51. package/dist/templates/zh/docs/prompts/edit.md +52 -42
  52. package/dist/templates/zh/docs/prompts/fix.md +39 -29
  53. package/dist/templates/zh/docs/prompts/help.md +13 -21
  54. package/dist/templates/zh/docs/prompts/inherit.md +67 -86
  55. package/dist/templates/zh/docs/prompts/map.md +28 -50
  56. package/dist/templates/zh/docs/prompts/plan.md +100 -199
  57. package/dist/templates/zh/docs/prompts/recover.md +9 -24
  58. package/dist/templates/zh/docs/prompts/ref.md +11 -106
  59. package/dist/templates/zh/docs/prompts/remove.md +39 -74
  60. package/dist/templates/zh/docs/prompts/revise.md +47 -88
  61. package/dist/templates/zh/docs/prompts/scope.md +52 -91
  62. package/dist/templates/zh/docs/prompts/script.md +102 -0
  63. package/dist/templates/zh/docs/prompts/start.md +75 -110
  64. package/dist/templates/zh/docs/prompts/ui.md +113 -0
  65. package/dist/templates/zh/docs/shared/ui-redlines.md +7 -0
  66. package/dist/templates/zh/docs/templates/spec.template.md +1 -1
  67. package/dist/templates/zh/docs/templates/ui.template.md +8 -8
  68. package/dist/templates/zh/rules/00_system.md +252 -131
  69. package/dist/templates/zh/rules/90_custom_rules.md +2 -1
  70. package/dist/templates/zh/skills/archi-data-sync/SKILL.md +27 -13
  71. package/dist/templates/zh/skills/archi-decompose-roadmap/SKILL.md +133 -235
  72. package/dist/templates/zh/skills/archi-design-patterns/SKILL.md +6 -1
  73. package/dist/templates/zh/skills/archi-feature-relations/SKILL.md +6 -2
  74. package/dist/templates/zh/skills/archi-interview-protocol/SKILL.md +2 -2
  75. package/dist/templates/zh/skills/archi-plan-options/SKILL.md +77 -301
  76. package/dist/templates/zh/skills/archi-silent-audit/SKILL.md +4 -5
  77. package/dist/templates/zh/skills/archi-ui-wireframe/SKILL.md +174 -301
  78. package/package.json +3 -1
  79. package/dist/templates/en/rules/01_workflow.md +0 -93
  80. package/dist/templates/en/rules/03_data_governance.md +0 -102
  81. package/dist/templates/en/rules/99_context_glue.md +0 -53
  82. package/dist/templates/zh/rules/01_workflow.md +0 -94
  83. package/dist/templates/zh/rules/03_data_governance.md +0 -133
  84. package/dist/templates/zh/rules/99_context_glue.md +0 -53
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: archi-decompose-roadmap
3
- description: Architext 任务分解专家。五步分解法:先标定项目类型校准基建清单,再双视角提取业务 Task Infra 任务,识别 Polish 打磨任务,NFR 横切关注点按权重决定注入或独立,建立真实依赖链并输出并行批次。任务通过 ID 前缀(INF/FEAT/POLISH/EDIT)编码类型,tag 字段承载业务领域标签。产出符合 Tier 1 Schema 的 roadmap.json 任务,作为 `/archi.plan` 的输入契约。
3
+ description: Decompose project requirements into roadmap tasks. Use when initializing a project or scoping new features.
4
4
  ---
5
5
 
6
6
  # Roadmap 任务分解
@@ -8,331 +8,229 @@ description: Architext 任务分解专家。五步分解法:先标定项目类
8
8
  ## 系统流程定位
9
9
 
10
10
  ```
11
- Brief → [本 Skill] → roadmap.json 任务
12
-
13
- /archi.plan <task-id>
14
- 读: vision.md + map.json + tech_stack.md
15
- 写: spec.md(行为规格/验收标准)
16
- 仅ui项目: ui.md(任务 UI 范围声明)
17
- plan.json(可执行步骤 + 测试用例 checkbox)
18
- 也更新: map.json / dictionary.json / data_snapshot.json
19
- 仅ui项目: 视觉参考: [[__DOCS_DIR__]]/global/ui_context.md
20
-
21
- /archi.code → 读 spec.md + ui.md + plan.json → 写代码
11
+ Brief → [本 Skill] → roadmap.json → /archi.plan → spec/ui/plan → /archi.code
22
12
  ```
23
13
 
24
- > **Skill 的职责边界**:
25
- > - 负责:任务的 what(描述)、done 标准(goal)、依赖链、设计决策注入、Core 接口契约
26
- > - 不负责:文件路径(map.json 管)、变量命名(dictionary.json 管)、测试用例(plan.json 管)、UI 组件结构(ui.md 管)
27
- >
28
- > **Schema 约束(Tier 1 严格)**:roadmap.json 由 CLI Zod Schema 校验,**禁增删字段**。
14
+ **Skill 边界**:
15
+ - 负责:任务 whatdone 标准(goal)、依赖链、设计决策注入
16
+ - 不负责:文件路径(map.json)、变量命名(dictionary.json)、测试用例(plan.json)、UI 结构(ui.md
17
+
18
+ **Schema 约束(Tier 1)**:roadmap.json 由 CLI Zod 校验,禁增删字段。
29
19
 
30
20
  ## 调用模式
31
21
 
32
- | 模式 | 触发来源 | 输入 | 限制 |
22
+ | 模式 | 来源 | 输入 | 限制 |
33
23
  |:---|:---|:---|:---|
34
24
  | 从零建立 | `/archi.start` | Brief 功能列表 | 禁生成 EDIT 任务 |
35
- | 增量追加 | `/archi.scope` | Brief + 已有 Roadmap 上下文 | 禁改已有任务,ID 沿用水位 |
36
-
37
- ---
25
+ | 增量追加 | `/archi.scope` | Brief + 已有 Roadmap | 禁改已有任务,ID 沿用水位 |
38
26
 
39
27
  ## 分解框架(五步)
40
28
 
41
29
  ### Step 0 · 项目类型标定
42
30
 
43
- Brief 的技术栈 / 项目描述中识别项目类型,确定标准基建清单,防止 Step 2 反推遗漏框架性 Infra。
31
+ 识别项目类型,确定基建清单,防止 Step 2 遗漏框架性 Infra。
44
32
 
45
- | 项目类型 | 脚手架须包含(除通用构建工具链外) |
33
+ | 项目类型 | 脚手架须包含 |
46
34
  |:---|:---|
47
- | Web SPA / PWA | 路由骨架(如 React Router)+ 全局 App Shell(布局 / Provider / 主题注入) |
48
- | 全栈 Web(SSR/SSG)| 路由约定(loader/action/页面)+ API Routes + 全局布局 + Auth Session 管理(Cookie/JWT);仅ui项目: 主题注入 |
49
- | CLI 工具 | logger 模块 + AppError 处理层 + 命令注册入口 |
50
- | API 服务(REST / GraphQL)| 路由层 + 中间件层 + DB 连接层 + 全局错误处理;仅GraphQL项目 Schema 定义层 + DataLoader |
51
- | 移动端 App(原生/跨平台)| 导航骨架(React Navigation / Go Router)+ 平台适配层(iOS/Android 权限、原生模块)+ 环境配置(dev/staging/prod)|
52
- | 小程序 | 页面路由配置 + 全局 app.js/ts + 请求封装层 |
53
- | 浏览器扩展 | manifest.json(V2/V3)+ Background Service Worker + Content Script 注入层 + 消息总线(background ↔ content ↔ popup)+ Popup/Options 页入口 |
54
- | 桌面端 App(单机)| 主进程入口(Electron main / Tauri main.rs)+ IPC 通信桥 + 系统级能力(托盘、热键)+ 原生文件系统封装 |
55
- | Web + 桌面端(Hybrid)| Web 脚手架基础 + 桌面运行时集成(Tauri/Electron)+ 系统级能力(托盘、全局热键、系统通知);**桌面集成须独立拆分为 INF 子任务**(OS 差异大、与 Web 技术栈完全不同,不适用 Step 2 的"同期执行合并"规则) |
56
- | 库 / SDK / NPM 包 | 双产物配置(CJS + ESM)+ 公共 API 入口(barrel index.ts)+ 类型声明生成(.d.ts)+ Changelog / 版本工具链;**禁建业务 Task,仅 INF 层** |
57
- | 实时 / 协作型 App | WebSocket 服务层 + 事件 Schema 定义(共享类型)+ 房间/会话管理基础;仅CRDT项目) 冲突解决层 |
58
- | AI Agent / MCP 工具 | LLM 客户端抽象层(provider 无关)+ Prompt 模板管理 + Tool/Function Calling Schema + 对话状态 / Memory 管理;仅MCP项目) MCP 协议适配器 |
59
-
60
- **操作(两个输出)**:
61
- 1. **注入 Step 2 INF-01**:将对应类型的脚手架清单写入 INF-01 描述。
62
- 2. **注入 Step 1 场景约束**:按项目类型限定场景句式,Step 1 提取业务场景时须遵守以下约束:
63
-
64
- | 项目类型 | 场景句式模板 | 禁止出现的词汇 |
35
+ | Web SPA / PWA | 路由骨架 + App Shell(布局 / Provider / 主题注入)|
36
+ | 全栈 Web(SSR/SSG)| 路由约定 + API Routes + 全局布局 + Auth Session;仅ui项目: 主题注入 |
37
+ | CLI 工具 | logger + AppError + 命令注册入口 |
38
+ | API 服务 | 路由层 + 中间件 + DB 连接 + 全局错误处理;仅GraphQL项目: Schema + DataLoader |
39
+ | 移动端 App | 导航骨架 + 平台适配层 + 环境配置 |
40
+ | 小程序 | 页面路由配置 + app.js/ts + 请求封装层 |
41
+ | 浏览器扩展 | manifest + Background SW + Content Script + 消息总线 |
42
+ | 桌面端 App | 主进程入口 + IPC + 系统级能力 |
43
+ | Web + 桌面端(Hybrid)| Web 基础 + 桌面运行时;**桌面集成须独立为 INF 子任务**(OS 差异大)|
44
+ | 库 / SDK | 双产物(CJS+ESM)+ barrel index + 类型声明 + Changelog;**禁建业务 Task** |
45
+ | 实时 / 协作型 | WebSocket 服务层 + 事件 Schema + 房间管理;仅CRDT项目: 冲突解决层 |
46
+ | AI Agent / MCP | LLM 客户端抽象 + Prompt 模板 + Tool Schema + Memory;仅MCP项目: MCP 适配器 |
47
+
48
+ **操作**:
49
+ 1. 将对应类型清单写入 INF-01 描述
50
+ 2. 按项目类型限定 Step 1 场景句式约束:
51
+
52
+ | 项目类型 | 场景句式模板 | 禁止词汇 |
65
53
  |:---|:---|:---|
66
- | CLI 工具 | `用户可 [运行命令/传参] → [终端输出结果]` | 页面、路由、组件、UI |
54
+ | CLI | `用户可 [运行命令/传参] → [终端输出结果]` | 页面、路由、组件、UI |
67
55
  | 库 / SDK | `调用方可 [调用 API X] → [返回 Y]` | 用户、界面、交互 |
68
56
  | API 服务 | `客户端可 [HTTP METHOD /path] → [响应结构]` | 前端、页面、组件 |
69
57
  | 小程序 | `用户可在 [页面名] [操作] → [微信端可见结果]` | 后端路由、REST |
70
- | Web SPA / 全栈 / 移动端 / 桌面端 | `用户可 [动作] → [可感知结果]` | (无特殊限制)|
71
-
72
- ---
58
+ | Web/移动端/桌面端 | `用户可 [动作] → [可感知结果]` | — |
73
59
 
74
60
  ### Step 1 · PM 视角 → 业务 Task
75
61
 
76
- 从 Brief 功能描述提取用户场景,聚合为业务 Task。
77
-
78
- 1. 逐条功能转化为场景句式:`用户可 [动作] → [可感知结果]`
79
- 2. 共享同一核心流程的场景 → 合并为一个业务 Task
80
- > **注意**:「共享功能域/主题」≠「共享核心流程」。属于同一功能域(如"社区互动")但各自有独立 UI 区域和实现域的场景,须按下方拆分信号独立成 Task,禁因主题相同而强行合并。"共享核心流程"仅指:场景在同一 UI 视图内完成、操作同一数据实体、共享同一状态流转。
81
- 3. 粒度校准(核心原则:**一任务 = 一次 `/archi.plan` 会话 = 一个 `tasks/<slug>/` 子目录**):
82
-
83
- **行为视角(PM)**:
62
+ 从 Brief 提取场景,转化为句式:`用户可 [动作] → [可感知结果]`
84
63
 
85
- | 信号 | 动作 |
86
- |:---|:---|
87
- | 描述含"和"(两个独立关注点) | 拆分 |
88
- | DoD 超过 4 条验收标准 | 拆分 |
89
- | 任务横跨 3 个以上独立 UI 区域或实现域 | 拆分 |
90
- | 一次 `/archi.plan` 难以在单一 spec.md 中完整描述行为 | 拆分 |
91
- | 两任务文件集合 >50% 重叠 | 合并 |
64
+ **合并条件**:共享同一核心流程(同一 UI 视图、同一数据实体、共享状态流转)
65
+ > 「共享功能域/主题」≠「共享核心流程」。同一功能域但各自有独立 UI 和实现域的场景,须拆分。
92
66
 
93
- > **注意**:若"A 完成后 B 才有意义",这是顺序依赖关系,**禁合并**;在 Step 4 为 B 声明 `deps: [A]` 即可。
94
-
95
- **实现视角(工程,与行为视角独立判断,任一触发即拆分)**:
67
+ **拆分信号**:
68
+ | 信号 | 动作 |
69
+ |:---|:---|
70
+ | 描述含"和"(两个独立关注点)| 拆分 |
71
+ | DoD 超过 4 条验收标准 | 拆分 |
72
+ | 横跨 3 个以上独立 UI 区域或实现域 | 拆分 |
73
+ | 一次 `/archi.plan` 难以在单一 spec.md 描述 | 拆分 |
74
+ | 两任务文件集合 >50% 重叠 | 合并 |
96
75
 
97
- | 信号 | 动作 | 示例 |
98
- |:---|:---|:---|
99
- | 任务内含 ≥2 个**实现域**,且各域可独立单元测试 | 拆分 | 纯计算层 + UI 渲染层 → 各自独立 |
100
- | 实现时需同时掌握 ≥3 个相互独立的技术关注点 | 拆分 | 字符渲染 + 状态机 + 动效 API → 三件事 |
101
- | 某一关注点有独立的边界复杂度(如 IME、Canvas、第三方图表 API) | 独立出该关注点 | 输入捕获 + IME 单独成任务 |
76
+ > 若"A 完成后 B 才有意义",这是依赖关系,**禁合并**;在 Step 4 为 B 声明 `deps: [A]`。
102
77
 
103
- > **为什么要加工程视角**:行为视角描述"用户看到什么",工程视角描述"AI 实现时需同时掌握什么"。一个任务行为上内聚(同一页面),但工程上横跨多个不同域时,AI 在 `/archi.code` 阶段会因上下文过宽而顾此失彼。
78
+ **双视角判定**(独立判断,任一触发即拆分):
104
79
 
105
- **粒度上限**:
80
+ | 视角 | 信号 | 动作 | 示例 |
81
+ |:---|:---|:---|:---|
82
+ | 行为(PM)| 描述含"和"、DoD >4 条、跨 3+ UI 区域 | 拆分 | 用户管理 + 订单管理 → 各自独立 |
83
+ | 工程 | 任务内含 ≥2 **实现域**,各域可独立单测 | 拆分 | 纯计算层 + UI 渲染层 → 各自独立 |
84
+ | 工程 | 实现时需同时掌握 ≥3 个独立技术关注点 | 拆分 | 字符渲染 + 状态机 + 动效 API → 三件事 |
85
+ | 工程 | 某关注点有独立边界复杂度 | 独立出该关注点 | 输入捕获 + IME 单独成任务 |
106
86
 
107
- > 一个 Roadmap Task = **AI 可不再分解、直接产出一个内聚 spec.md** 的最小功能单元(HTN Primitive 可执行性原则)。
87
+ > 行为视角描述"用户看到什么";工程视角描述"AI 实现时需同时掌握什么"。任务行为上内聚但工程上横跨多域时,AI `/archi.code` 会因上下文过宽而失焦。
108
88
 
109
- *分解阶段代理指标(以 Brief 描述为依据直接判断)*:
89
+ **粒度上限**:
110
90
 
111
- | 代理指标 | 上限 | 超出时的动作 |
112
- |:---|:---|:---|
113
- | 任务描述中独立用户操作流程数 | ≤ 3 条 | 拆分 |
114
- | 任务涉及的独立数据实体数(各有独立状态流转)| ≤ 2 个 | 拆分 |
115
- | 描述中"和/并/以及"连接的独立关注点数 | ≤ 1 处 | 拆分 |
116
- | 任务验收无法在不运行另一个业务 Task 的情况下独立完成 | — | 检查耦合,重划接口边界(INVEST-I)|
91
+ > Roadmap Task = **AI 可不再分解、直接产出一个内聚 spec.md** 的最小功能单元(HTN Primitive 可执行性)。
117
92
 
118
- > `/archi.plan` 执行中若预估 spec.md Scenario > 6 或 plan.json Phase > 4,须暂停并提示用户返回 `/archi.scope` 重新拆分,禁强行塞进单一任务。
93
+ | 代理指标 | 上限 | 超出动作 |
94
+ |:---|:---|:---|
95
+ | 独立用户操作流程数 | ≤ 3 | 拆分 |
96
+ | 独立数据实体数(各有状态流转)| ≤ 2 | 拆分 |
97
+ | "和/并/以及"连接的关注点 | ≤ 1 | 拆分 |
98
+ | 验收无法在不运行另一业务 Task 的情况下独立完成 | — | 检查耦合,重划接口边界(INVEST-I)|
119
99
 
120
- **DoD 格式**(按任务类型):
100
+ > `/archi.plan` 预估 spec.md Scenario > 6 或 plan.json Phase > 4,须暂停并提示返回 `/archi.scope` 重新拆分。
121
101
 
122
- | 任务类型 | goal 格式 |
102
+ **DoD 格式**:
103
+ | 类型 | goal 格式 |
123
104
  |:---|:---|
124
105
  | `FEAT-xx` | `完成后,用户可 <可验证的用户行为>;边界:<明确不做的事>` |
125
- | `INF-xx` | `完成后,<基础设施产出物描述>,通过 <验证命令> 验证;边界:<明确不做的事>` |
126
- | `POLISH-xx` | `完成后,<质量指标> 从 <基线> 提升至 <目标>;边界:<明确不做的事>` |
127
-
128
- > DoD 是 `/archi.plan` 生成 spec.md 验收标准和 plan.json 测试用例的基准。FEAT 任务须描述用户可感知结果;INF 任务须描述基础设施产出物和验证方式;POLISH 任务须描述可量化的质量目标。禁写实现细节(文件路径、函数名、测试命令由 plan 阶段决定)。
106
+ | `INF-xx` | `完成后,<基础设施产出物>,通过 <验证命令> 验证;边界:<不做的事>` |
107
+ | `POLISH-xx` | `完成后,<质量指标> 从 <基线> 提升至 <目标>;边界:<不做的事>` |
129
108
 
130
- 以下情况归属父任务,禁独立成条:**轻量**结果页 / 完成页、空状态页、确认弹窗。
109
+ > DoD 是 `/archi.plan` 生成 spec.md 验收标准和 plan.json 测试用例的基准。禁写实现细节(文件路径、函数名由 plan 阶段决定)。
131
110
 
132
- > **豁免**:结果页含独立数据可视化组件(图表库)、复杂动效逻辑或独立业务计算时,**不适用**父任务归属规则,须独立成业务 Task。
133
-
134
- ---
111
+ 豁免(归属父任务):轻量结果页 / 完成页 / 空状态 / 确认弹窗(不含独立数据可视化或复杂动效时)
112
+ > **例外**:结果页含独立数据可视化组件(图表库)、复杂动效逻辑或独立业务计算时,须独立成 Task。
135
113
 
136
114
  ### Step 2 · 架构师视角 → Infra 任务
137
115
 
138
- 从业务 Task 反推共享基础,禁预设基建。
139
-
140
- 对所有业务 Task 问:多个 Task 同时依赖 X 且 X 须在 Task 前存在 → X 是 Infra 任务。
116
+ 反推共享基础:多个 Task 同时依赖 X 且 X 须在 Task 前存在 → X 是 Infra。
141
117
 
142
118
  | Infra 类型 | 判断标准 |
143
119
  |:---|:---|
144
- | 项目脚手架 / 全局 Schema / 类型定义 | 所有业务 Task 均依赖;须覆盖 Step 0 标定的项目类型清单 |
145
- | 共享核心引擎(打字引擎、规则引擎等) | 满足以下**任一**条件:① 2 个以上业务 Task 直接调用;② 纯逻辑层、可独立单元测试、与 UI 完全解耦。ID 仍用 `INF-xx`(本质是基础设施),`tag` 可标注为业务域标签(如 `Core`、`Engine`) |
120
+ | 项目脚手架 / 全局 Schema | 所有业务 Task 依赖;须覆盖 Step 0 清单 |
121
+ | 共享核心引擎 | 满足**任一**:① 2+ 业务 Task 直接调用;② 纯逻辑、可独立单测、与 UI 解耦。`tag` 可标注 `Core`/`Engine` |
146
122
  | 第三方集成层 | 多个业务 Task 复用同一外部服务 |
147
123
 
148
- **共享引擎规划契约**:共享核心引擎类 INF 任务的 `description` 末尾须声明主要导出接口(函数签名或关键 interface 名称)。
149
- 下游 Task 的 `/archi.plan` 会话可直接对接该接口,无需读上游实现,保障跨任务规划的一致性与可预测性。
124
+ **共享引擎规划契约**:共享核心引擎 INF 任务的 `description` 末尾须声明主要导出接口(函数签名或关键 interface 名称)。下游 Task 的 `/archi.plan` 可直接对接该接口,无需读上游实现。
150
125
 
151
126
  **Infra 任务粒度原则:避免微粒化,但禁止跨层堆积**:
127
+ - **禁微粒化**:同层配置项(如 ESLint + Prettier + TS strict)→ 合并
128
+ - **禁跨层堆积**:每层独立成任务;跨层堆积会拉长关键路径、推迟业务 Task 启动
152
129
 
153
- - **禁微粒化**:无实质技术差异的同层配置项(如 ESLint + Prettier + TypeScript strict + commitlint)→ 合并,减少任务数、降低依赖链噪音。
154
- - **禁跨层堆积**:每个独立的架构层各有独立技术细节,合并后 AI 上下文同样会失焦;且将多层堆入同一 INF 任务会把关键路径拉至最长,推迟所有业务 Task 的启动时机。
155
-
156
- > **架构层参考**(每层有独立实现边界,原则上各自成任务):
157
- > 项目脚手架(构建 / 代码质量工具链)| 数据层(DB 连接 / ORM / 迁移)| 认证层(Auth 中间件 / Session / JWT)| API 路由层(路由注册 / 中间件链 / 全局错误处理)| 前端基础设施(主题 / Design Token / 全局布局)| 第三方服务集成(各服务独立成 INF 任务)
130
+ > **架构层参考**(每层独立实现边界):项目脚手架 | 数据层 | 认证层 | API 路由层 | 前端基础设施 | 第三方集成
158
131
 
159
132
  | 信号 | 动作 |
160
133
  |:---|:---|
161
- | 同一架构层内的关联配置项(如代码质量工具链各项、或路由骨架与全局错误中间件同属 API 路由层)| 合并 |
162
- | 跨越独立架构层(如 DB 连接层 + Auth 中间件、或 API 路由 + 前端主题系统)| 拆分 |
163
- | 技术栈完全不同(如本地存储层 vs 主题配置)| 拆分 |
164
- | 含 OS 级系统 API(托盘、全局热键、文件关联等)| **强制拆分**(Step 0 强制规则,不受"同层合并"条件约束) |
165
- | Infra 产出物被 ≥2 个业务 Task 直接调用(接口型) | 独立成任务(须声明导出接口契约) |
134
+ | 同架构层内关联配置项 | 合并 |
135
+ | 跨独立架构层(如 DB + Auth)| 拆分 |
136
+ | 技术栈完全不同 | 拆分 |
137
+ | 含 OS API(托盘、热键)| **强制拆分**(Step 0 规则)|
138
+ | ≥2 业务 Task 直接调用 | 独立成任务(须声明导出接口)|
166
139
 
167
- **隐式标准功能扫描**:以下功能通常不在 Brief 中出现,须按归属分类主动补充(禁遗漏):
168
-
169
- *须补充为独立业务 Task(Phase 2,有用户可见行为)*:
170
-
171
- | 检查项 | 触发条件 |
172
- |:---|:---|
173
- | 用户 Profile / 账号设置页 | 项目含 Auth(INF 层有认证中间件)|
174
- | 账号安全 / 密码设置页 | 含 Auth 且用户可修改密码或绑定第三方账号 |
175
- | 通知中心 / 消息列表页 | 含通知基础设施且通知有"已读/未读"状态 |
140
+ **隐式标准功能扫描**(Brief 常遗漏,须主动补充):
176
141
 
177
- *须补充为 INF 任务(Phase 1,基础设施)*:
178
-
179
- | 检查项 | 触发条件 |
180
- |:---|:---|
181
- | 通知基础设施(服务端推送/消息队列层)| ≥1 Task 口头提及"通知/提醒"但未建 INF Task |
182
- | 搜索基础设施(PG FTS 索引 / 外部引擎部署)| ≥2 个业务 Task 各自描述"搜索"功能;须在此决策方案后以 INF Task 承载,下游 Task 依赖它 |
183
- | 权限 / 角色管理层(RBAC)| Auth 且有 ≥2 种用户角色(如 admin / user)|
184
- | 文件存储集成层(S3 / OSS 封装)| ≥1 Task 涉及文件上传 / 下载 / 预览 |
185
- | 邮件 / 短信发送集成 | Task 提及"发送邮件 / 验证码 / 短信通知" |
186
- | 支付集成层 | Task 提及"支付 / 下单 / 结账 / 退款" |
187
-
188
- ---
142
+ | 检查项 | 触发条件 | 归属 |
143
+ |:---|:---|:---|
144
+ | 用户 Profile / 账号设置页 | Auth | FEAT-xx(Phase 2)|
145
+ | 账号安全 / 密码设置页 | 含 Auth 且可修改密码/绑定第三方 | FEAT-xx(Phase 2)|
146
+ | 通知中心 / 消息列表页 | 含通知基础设施且有已读/未读状态 | FEAT-xx(Phase 2)|
147
+ | 通知基础设施 | Task 口头提及"通知"但未建 INF | INF-xx(Phase 1)|
148
+ | 搜索基础设施 | 2+ 业务 Task 描述"搜索" | INF-xx(Phase 1)|
149
+ | RBAC 权限管理 | Auth 且有 2+ 种角色 | INF-xx(Phase 1)|
150
+ | 文件存储集成(S3/OSS)| Task 涉及文件上传/下载/预览 | INF-xx(Phase 1)|
151
+ | 邮件/短信/支付集成 | Task 提及对应功能 | INF-xx(Phase 1)|
189
152
 
190
- ### Step 3 · NFR 过滤与 Polish 任务识别
153
+ ### Step 3 · NFR 过滤与 Polish 识别
191
154
 
192
- 横切关注点按**工作量权重**决定处理方式:轻量级注入 goal,重量级独立成 `POLISH-xx` 任务。
155
+ 横切关注点按**工作量权重**决定处理方式。
193
156
 
194
- > **"首个任务"定义**(用于 NFR 注入):在依赖链中,`deps` 仅含 INF 层(无业务前置依赖)且最早涉及该 NFR 能力的任务。同层(同 Batch)有多个候选时,取 ID 最小的那个。
157
+ > **"首个任务"定义**(用于 NFR 注入):依赖链中 `deps` 仅含 INF 层(无业务前置依赖)且最早涉及该 NFR 的任务。同层多个候选时取 ID 最小。
195
158
 
196
159
  **判定标准**:
197
-
198
160
  | 信号 | 处理 |
199
161
  |:---|:---|
200
- | 仅需业务 Task 内"顺手做"(如用 i18n key 替代硬编码) | **NFR 注入** — 写入首个相关任务 goal 末尾 `[NFR] <说明>` |
201
- | 需独立基础设施搭建(如集成 next-intl、创建翻译文件体系) | **INF 任务** — 建 `INF-xx`,Phase 1 |
202
- | 需跨功能专项工作,且验收可独立度量(如 Lighthouse ≥ 90、全面 a11y 审计) | **POLISH 任务** — 建 `POLISH-xx`,Phase 3 |
203
-
204
- **按类型对照**:
162
+ | 仅需"顺手做"(如用 i18n key)| **NFR 注入** — 写入首个相关任务 goal:`[NFR] <说明>` |
163
+ | 需独立基础设施(如集成 i18n 框架)| **INF 任务** — Phase 1 |
164
+ | 可独立度量(如 Lighthouse ≥ 90)| **POLISH 任务** — Phase 3 |
205
165
 
206
166
  | 类型 | 轻量级 → NFR 注入 | 重量级 → 独立任务 |
207
167
  |:---|:---|:---|
208
- | 国际化 | 业务 Task 内用 i18n key | 集成 i18n 框架 + 翻译文件结构 → `INF-xx`;全量翻译覆盖 + 语言切换 UI → `POLISH-xx` |
209
- | 视觉主题(配置型) | 品牌色 Token 注入脚手架 | — |
210
- | 视觉主题(功能型) | — | 深色/浅色切换 + OS 偏好检测 → `FEAT-xx`(有用户可见行为) |
168
+ | 国际化 | 业务 Task 内用 i18n key | 集成框架 → `INF-xx`;全量翻译 → `POLISH-xx` |
169
+ | 视觉主题(配置型)| 品牌色 Token 注入脚手架 | — |
170
+ | 视觉主题(功能型)| — | 深色/浅色切换 + OS 偏好检测 → `FEAT-xx` |
211
171
  | 动效风格 | 过渡时长约定注入首个含动效 Task | — |
212
- | 性能优化 | 单个 Task 内的懒加载/缓存 | 跨功能专项优化(首屏 < 2s、包体积目标)→ `POLISH-xx` |
213
- | 可访问性 | 单个 Task 内的 ARIA 属性 | 全面 a11y 审计 + 修复 → `POLISH-xx` |
214
- | 打包分发 | — | 桌面端打包 + 自动更新配置 → `POLISH-xx` |
215
-
216
- ---
172
+ | 性能优化 | 单个 Task 内懒加载/缓存 | 首屏 < 2s、包体积 `POLISH-xx` |
173
+ | 可访问性 | 单个 Task ARIA 属性 | 全面 a11y 审计 → `POLISH-xx` |
174
+ | 打包分发 | — | 桌面端打包 + 自动更新 → `POLISH-xx` |
217
175
 
218
176
  ### Step 4 · 依赖与并行优化
219
177
 
220
- - **真实依赖链**:禁所有业务 Task 统一只挂 `INF-01`,须反映真实业务关系。
221
- - **业务实体依赖(优先于最小依赖)**:若功能 B 的核心操作主体由功能 A 产生(即 A 完成前 B 的数据实体不存在),则 B 须声明对 A 的依赖。此规则优先于最小依赖原则。示例:Usage Log 记录的主体是 Prompt,Prompt 由 FEAT-Prompt_Create 创建 → Usage Log Task 须依赖 Prompt Task,而不仅依赖 INF 层。
222
- - **最小依赖原则**:能并行的任务不加多余依赖,最大化 Batch 并行度。
223
-
224
- ---
178
+ - **真实依赖链**:禁所有业务 Task 只挂 `INF-01`,须反映真实业务关系
179
+ - **业务实体依赖(优先于最小依赖)**:若 B 的核心操作主体由 A 产生,则 B 须依赖 A。例:Usage Log 记录 Prompt,Prompt 由 FEAT-Prompt_Create 创建 → Usage Log Task 依赖 Prompt Task
180
+ - **最小依赖原则**:能并行的不加多余依赖,最大化 Batch 并行度
225
181
 
226
182
  ## 任务规则
227
183
 
228
- 1. **ID 前缀与任务类型**:
229
-
230
- ID 前缀是任务类型的**唯一标识**,`/archi.plan` 根据前缀选择 spec 验收格式。
231
-
232
- | ID 前缀 | 任务类型 | 含义 | Phase 归属 |
233
- |:---|:---|:---|:---|
234
- | `INF-xx` | Infrastructure | 基础设施:脚手架、Schema、工具链、第三方集成 | Phase 1 |
235
- | `FEAT-xx` | Feature | 业务功能:用户可感知的行为 | Phase 2 |
236
- | `POLISH-xx` | Quality | 质量打磨:性能优化、全面 i18n、a11y 审计、打包分发 | Phase 3 |
237
- | `EDIT-xx` | Edit | 修改已有功能(仅增量追加模式) | 与被修改任务同 Phase |
238
-
239
- 沿用已有 Roadmap 编号水位,从各前缀最大值 +1 起;全新项目从 `INF-01` / `FEAT-01` 起。
184
+ 1. **ID 前缀**:`INF-xx`(基础设施)| `FEAT-xx`(业务功能)| `POLISH-xx`(质量打磨)| `EDIT-xx`(修改,仅增量模式)
240
185
 
241
186
  2. **Phase 结构**:
187
+ | Phase | ID | 内容 |
188
+ |:---|:---|:---|
189
+ | Phase 1 | `phase-infra` | INF-xx(脚手架、数据层、认证、API 骨架)|
190
+ | Phase 2 | `phase-core` | FEAT-xx(业务功能)|
191
+ | Phase 3 | `phase-polish` | POLISH-xx(质量优化);Brief 无打磨需求时省略 |
242
192
 
243
- | Phase | ID | 名称 | 内容 |
244
- |:---|:---|:---|:---|
245
- | Phase 1 | `phase-infra` | Infrastructure | INF-xx 任务(脚手架、数据层、认证、API 骨架等) |
246
- | Phase 2 | `phase-core` | Core Features | FEAT-xx 任务(业务功能) |
247
- | Phase 3 | `phase-polish` | Polish & Launch | POLISH-xx 任务(质量优化、打包分发);Brief 无打磨需求时省略此 Phase |
248
-
249
- 3. **tag 字段 = 业务领域标签**:
250
-
251
- `tag` 用于标注任务所属的**业务领域**(如 `Core`、`Community`、`Auth`、`Data`),自由文本,由 Brief 内容决定。
252
-
253
- > **注意**:`tag` 不决定任务类型 — 任务类型由 ID 前缀决定。例如 `FEAT-05`(`tag: Community`)的任务类型是 Feature 而非 Community。
254
-
255
- 4. **设计决策注入**:Brief 中已有设计决策 → 注入对应任务 `goal` 末尾:`[用户预设] <内容>`;同一条决策禁在多任务重复。`/archi.plan` 将其视为不可更改的硬约束,直接写入 spec.md,不再提问。
256
-
257
- 5. **EDIT 任务**:需修改已有功能 → 创建 `EDIT-xxx`,goal 注明修改范围;仅增量追加模式下使用。
193
+ 3. **tag 字段**:业务领域标签(如 Core, Auth, Data),不决定任务类型
258
194
 
259
- 6. **Slug 命名**:`slug` `tasks/<slug>/` 文件夹名,须清晰表达任务内容,格式为 `Pascal_Snake_Case`(如 `Typing_Engine_Core`)。每个任务对应唯一一个 task 子目录,禁重名。
195
+ 4. **设计决策注入**:Brief 已有决策 注入对应任务 goal 末尾:`[用户预设] <内容>`;同一条决策禁在多任务重复
260
196
 
261
- ---
197
+ 5. **Slug**:`Pascal_Snake_Case`,对应 `tasks/<slug>/` 文件夹名
262
198
 
263
- ## Task JSON Schema(Tier 1 严格,禁增删字段)
199
+ ## Task JSON Schema(Tier 1,禁增删字段)
264
200
 
265
201
  ```json
266
202
  {
267
203
  "id": "FEAT-01",
268
- "title": "Task Title In English",
204
+ "title": "Task Title",
269
205
  "status": "pending | blocked",
270
- "description": "<1-2 句说明这个任务要构建什么、覆盖哪些范围。共享引擎类任务须在末尾声明主要导出接口>",
271
- "goal": "完成后,用户可 <可验证的用户行为>;边界:<明确不做的事>",
206
+ "description": "1-2 句说明。共享引擎类任务须在末尾声明主要导出接口",
207
+ "goal": "完成后,用户可 <行为>;边界:<不做的事>",
272
208
  "deps": ["INF-01"],
273
- "tag": "<业务领域标签,自由文本。如 Core, Community, Auth, Data, UI 等>",
274
- "slug": "Task_Title_Snake_Case"
209
+ "tag": "业务领域标签",
210
+ "slug": "Task_Slug"
275
211
  }
276
212
  ```
277
213
 
278
- > **ID 前缀 vs tag 职责分离**:
279
- > - `id` 前缀(`INF-` / `FEAT-` / `POLISH-` / `EDIT-`)= 任务类型,决定 `/archi.plan` 的 spec 验收格式
280
- > - `tag` = 业务领域标签,仅用于人类分类浏览,不影响 AI 行为
281
-
282
- `deps` 为空或全部 `done` → `pending`;有未完成 deps → `blocked`
283
-
284
- ---
285
-
286
- ## 中间产物
214
+ `deps` 全部 `done` `pending`;有未完成 `deps` → `blocked`
287
215
 
288
- > 此 Skill 为子程序:产出结构化数据后,控制权交还调用方。
289
- > - `/archi.scope` → 调用方展示给用户确认,OK 后写入 `roadmap.json`
290
- > - `/archi.start` → 调用方直接写入 `roadmap.json`
216
+ ## 输出验证
291
217
 
292
- 产出三部分数据:
218
+ □ `global/roadmap.json` 已生成且含有效 `phases` 数组
293
219
 
294
- **① 任务数据**(直接对应 `roadmap.json` 的 phases/tasks 结构):
220
+ ## 产出物
295
221
 
296
- ```json
297
- {
298
- "phases": [
299
- {
300
- "id": "phase-infra",
301
- "name": "Infrastructure",
302
- "tasks": [
303
- { "id": "INF-01", "title": "...", "status": "pending", "description": "...", "goal": "...", "deps": [], "tag": "Infra", "slug": "..." }
304
- ]
305
- },
306
- {
307
- "id": "phase-core",
308
- "name": "Core Features",
309
- "tasks": [
310
- { "id": "FEAT-01", "title": "...", "status": "blocked", "description": "...", "goal": "...", "deps": ["INF-01"], "tag": "Core", "slug": "..." }
311
- ]
312
- },
313
- {
314
- "id": "phase-polish",
315
- "name": "Polish & Launch",
316
- "tasks": [
317
- { "id": "POLISH-01", "title": "...", "status": "blocked", "description": "...", "goal": "...", "deps": ["FEAT-01"], "tag": "Quality", "slug": "..." }
318
- ]
319
- }
320
- ]
321
- }
322
- ```
323
-
324
- **② NFR 归并清单**(须随任务数据一并返回给调用方;调用方写入 roadmap 时追加为 `nfr` 顶层字段;`/archi.plan` 的 `step_1_load` 须读取此清单):
222
+ **① 任务数据**:`roadmap.json` `phases[].tasks[]` 结构
325
223
 
326
- | NFR 名称 | 注入任务 ID | 约束内容摘要 | 影响范围(其他相关任务 ID)|
224
+ **② NFR 归并清单**(roadmap `nfr` 顶层字段):
225
+ | NFR | 注入任务 | 约束摘要 | 影响范围 |
327
226
  |:---|:---|:---|:---|
328
- | (示例)i18n | FEAT-01 | 所有文案须通过 i18n key 引用,禁硬编码字符串 | FEAT-02, FEAT-03 |
329
-
330
- **③ 并行执行批次**(DAG 拓扑层次图,同一 Layer 内任务可交给不同 AI 会话并行处理):
227
+ | i18n | FEAT-01 | 文案须 i18n key | FEAT-02, FEAT-03 |
331
228
 
229
+ **③ 并行批次**(DAG 拓扑层次):
332
230
  ```
333
231
  Layer 0 ║ INF-01
334
- Layer 1 ║ INF-02 · INF-03 ← 均依赖 INF-01
335
- Layer 2 ║ FEAT-01 · FEAT-02 ← 各自依赖 INF-02 / INF-03
336
- Layer 3 ║ FEAT-03 ← 依赖 FEAT-01
337
- Layer 4 ║ POLISH-01 · POLISH-02 ← 依赖相关 FEAT 任务
232
+ Layer 1 ║ INF-02 · INF-03
233
+ Layer 2 ║ FEAT-01 · FEAT-02
234
+ Layer 3 ║ FEAT-03
235
+ Layer 4 ║ POLISH-01 · POLISH-02
338
236
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: archi-design-patterns
3
- description: Architext 技术方案结构化模式库。定义四种核心机制描述模式(State Machine / Pipeline / Decision Matrix / Protocol)的标准格式与自检清单,供 /archi.plan step_4 生成 design.md § 2 时引用,亦供 /archi.code step_5 审计实现与设计一致性时引用。
3
+ description: Apply structured design patterns for technical solutions. Use when writing design documents or reviewing implementation consistency.
4
4
  ---
5
5
 
6
6
  # 技术方案结构化模式库
@@ -137,3 +137,8 @@ design.md § 2 Core Mechanisms 内容
137
137
  ---
138
138
 
139
139
  > **中间产物**:此 Skill 为子程序,产出机制描述 + 自检结果后控制权交还调用方(step_4_generate 或 step_5_audit),继续后续流程。
140
+
141
+ ## 输出验证
142
+
143
+ □ `design.md` § 2 核心机制已填充选定模式
144
+ □ 每个模式自检清单全部通过
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: archi-feature-relations
3
- type: reviewer
4
- description: featureRelations 联动处理器。在独立上下文中处理 map.json featureRelations 的注册/检查/清理操作,确保聚合型 Task 与其来源的联动关系正确维护。
3
+ description: Manage feature relations linkage in map.json. **Must run in isolated context/subagent.** Use when creating aggregator tasks or verifying task dependencies.
5
4
  ---
6
5
 
7
6
  # featureRelations 联动处理器
@@ -116,3 +115,8 @@ IMPACT: [影响说明]
116
115
  ---
117
116
 
118
117
  > **中间产物**:此 Skill 为审查型子程序,产出结果后控制权交还调用方。
118
+
119
+ ## 输出验证
120
+
121
+ □ `map.json` `featureRelations` 数组已更新(register/cleanup 模式)
122
+ □ 关联检查结果已输出(check 模式)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: archi-interview-protocol
3
- description: Architext 补充访谈协议。规范信息缺口的提问方式:选择题优先、AI 推荐 + [推荐] 标注、[Z] 自定义兜底、AI+/AI- 完整分析、选项说明描述具体行为。产出标准 Q-table INPUT 提示行,供 /archi.start、/archi.scope、/archi.plan 的补充确认步骤引用。
3
+ description: Conduct structured interviews to fill information gaps. Use when requirements are unclear or need user clarification.
4
4
  ---
5
5
 
6
6
  # 补充访谈协议
@@ -19,7 +19,7 @@ description: Architext 补充访谈协议。规范信息缺口的提问方式:
19
19
  > - 负责:问题如何提(格式/规则/语气)
20
20
  > - 不负责:问什么内容(由调用方的缺口列表决定)、用户回答后如何处理(由调用方决定)
21
21
 
22
- ## 调用方与触发条件
22
+ ## 调用模式
23
23
 
24
24
  | 调用方 | 触发步骤 | 触发条件 | 问题数上限 |
25
25
  |:---|:---|:---|:---|