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,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Project Constitution: Vision, Personas, Principles & Boundaries.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Product Vision: [項目名稱]
|
|
6
|
-
|
|
7
|
-
> **Version:** 1.0.0
|
|
8
|
-
> **Status:** Active
|
|
9
|
-
> **Role:** The "Constitution" of the project. All Tasks and Specs must align with this.
|
|
10
|
-
|
|
11
|
-
## 1. Core Vision (核心願景)
|
|
12
|
-
|
|
13
|
-
**Elevator Pitch:**
|
|
14
|
-
[產品名稱] 是一個 [目標市場/類別] 平台,旨在幫助 [目標用戶] 解決 [核心痛點],通過 [核心解決方案/獨特點] 實現 [最終價值]。
|
|
15
|
-
|
|
16
|
-
**North Star Metric (北極星指標):**
|
|
17
|
-
|
|
18
|
-
* [指標名稱]: [描述 - 例如:用戶每日專注時長]
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 2. Target Audience (目標用戶與畫像)
|
|
23
|
-
|
|
24
|
-
### Primary Persona (核心用戶)
|
|
25
|
-
|
|
26
|
-
* **Role:** [例如:備考的學生]
|
|
27
|
-
* **Key Traits:** [關鍵詞]
|
|
28
|
-
* **Pain Points:**
|
|
29
|
-
* [痛點 1]
|
|
30
|
-
* [痛點 2]
|
|
31
|
-
* **Goals:**
|
|
32
|
-
* [希望達成的結果]
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## 3. Product Principles (產品原則)
|
|
37
|
-
|
|
38
|
-
* **[原則 1]:** [例如:極簡優先 - 任何增加點擊的操作都需要額外理由]
|
|
39
|
-
* **[原則 2]:** [例如:鼓勵而非懲罰 - 完不成任務時給鼓勵,而不是紅色的警告]
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 4. Design & Experience (設計與體驗語言) [?UI]
|
|
44
|
-
|
|
45
|
-
> **Note:** 本節僅適用於有 UI 的專案。具體色值和圓角定義請嚴格參閱 `[[__DOCS_DIR__]]/global/design_tokens.json`。
|
|
46
|
-
|
|
47
|
-
### Visual Style (視覺風格)
|
|
48
|
-
|
|
49
|
-
* **Keywords:** [例如:溫暖、專注、無干擾]
|
|
50
|
-
* **Density:** [例如:大留白,沉浸式]
|
|
51
|
-
* **Animation:** [例如:輕微的微交互,不要花哨的轉場]
|
|
52
|
-
|
|
53
|
-
### Tone of Voice (文案語調)
|
|
54
|
-
|
|
55
|
-
* **Personality:** [例如:像一個陪讀的夥伴,而不是嚴厲的老師]
|
|
56
|
-
* **Do's:** [例如:用"我們一起"代替"你應該"]
|
|
57
|
-
* **Don'ts:** [例如:不要使用機械的錯誤碼報錯]
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 5. Boundaries (邊界與反目標)
|
|
62
|
-
|
|
63
|
-
### In Scope (核心範圍)
|
|
64
|
-
|
|
65
|
-
* [核心功能 A]
|
|
66
|
-
* [核心功能 B]
|
|
67
|
-
|
|
68
|
-
### Out of Scope (明確不做)
|
|
69
|
-
|
|
70
|
-
* **[反目標 1]:** [例如:不做社交排行榜]
|
|
71
|
-
* **[反目標 2]:** [例如:不提供深色模式切換(默認即深色)]
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 🤖 AI Maintenance Guide
|
|
76
|
-
|
|
77
|
-
**Trigger**: 僅在項目初始化 (`/archi.start`) 或重大戰略轉型 (`/archi.revise`) 時修改。
|
|
78
|
-
|
|
79
|
-
**Action**:
|
|
80
|
-
1. **Alignment**: 確保 Section 3 (Principles) 與 `02_tech_stack.md` 中的技術選型不衝突。
|
|
81
|
-
2. **Completeness**: 必須填滿所有 `[ ]` 佔位符,嚴禁保留 "Example" 字樣。
|
|
82
|
-
3. **Consistency**: 所有的 Task Spec (`.spec.md`) 都必須引用此文件的 Vision 以確保不跑題。
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
<protocol_audit>
|
|
2
|
-
**Trigger**: `/archi.audit [id]`
|
|
3
|
-
**Goal**: 獨立深度程式碼審查。帶 `<id>` 審查該任務的程式碼實現;無 `<id>` 執行專案級體檢。不修改程式碼,僅輸出審查報告與修復工單。
|
|
4
|
-
|
|
5
|
-
<meta>
|
|
6
|
-
<style>Investigative, Thorough, Evidence-Based</style>
|
|
7
|
-
<language>繁體中文</language>
|
|
8
|
-
<principles>
|
|
9
|
-
1. **Read-Only**: 禁改任何程式碼檔案。審查 ≠ 修復。
|
|
10
|
-
2. **Evidence-Based**: 每個發現須附檔案路徑、行號、程式碼片段。
|
|
11
|
-
3. **Actionable Output**: 每個問題須附推薦修復命令(`/archi.fix`, `/archi.edit` 等)。
|
|
12
|
-
4. **Vision Anchored**: 始終以 `vision.md` 為方向基準,偵測偏離。
|
|
13
|
-
5. **Report Persistence**: 審查結果須寫入檔案 — 任務級 → `tasks/<id>_*/audit.md`(覆蓋),專案級 → `audits/YYYY-MM-DD.md`(按日期存檔,同日覆蓋)。
|
|
14
|
-
</principles>
|
|
15
|
-
</meta>
|
|
16
|
-
|
|
17
|
-
<step_1_resolve>
|
|
18
|
-
**Role**: 系統分析師
|
|
19
|
-
**Mode Gate**:
|
|
20
|
-
|
|
21
|
-
| 輸入 | 模式 | 後續步驟 |
|
|
22
|
-
|:---|:---|:---|
|
|
23
|
-
| `/archi.audit <id>` | 任務級深度審查 | step_2_task → step_3_report |
|
|
24
|
-
| `/archi.audit` | 專案級體檢 | step_2_project → step_3_report |
|
|
25
|
-
|
|
26
|
-
**任務級 — Resolve ID**:
|
|
27
|
-
1. 從 `[[__DOCS_DIR__]]/global/roadmap.json` 解析 `<id>` → Task Name、Slug、狀態。
|
|
28
|
-
2. **Status Gate** — 僅 `active` 或 `done` 可審查:
|
|
29
|
-
|
|
30
|
-
| 狀態 | 處理 |
|
|
31
|
-
|:---|:---|
|
|
32
|
-
| `active` / `done` | 通過 |
|
|
33
|
-
| `pending` | 拒絕 — 無程式碼可審查,先執行 `/archi.plan` + `/archi.code` |
|
|
34
|
-
| `blocked` | 拒絕 — 前置依賴未完成 |
|
|
35
|
-
|
|
36
|
-
3. **Load Context**:
|
|
37
|
-
- `[[__DOCS_DIR__]]/global/vision.md` — 專案方向基準
|
|
38
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/spec.md` — 功能邏輯
|
|
39
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/plan.json` — 任務清單
|
|
40
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/ui.md` — 任務 UI 範圍聲明(如存在)
|
|
41
|
-
- [?UI] `[[__DOCS_DIR__]]/global/ui_context.md` — AI 畫面索引(定位對應畫面 ID)
|
|
42
|
-
- [?UI] `[[__DOCS_DIR__]]/global/ui_concept.html` — 唯讀視覺參考(#10 合規對比的視覺標準源)
|
|
43
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/audit.md` — 上次審計報告(如存在,用於對比)
|
|
44
|
-
- `02_tech_stack.md` — 技術紅線
|
|
45
|
-
- [?UI] `[[__DOCS_DIR__]]/global/design_tokens.json`
|
|
46
|
-
- [?Data] `[[__DOCS_DIR__]]/global/data_snapshot.json`
|
|
47
|
-
4. 讀取該任務對應的所有程式碼檔案。
|
|
48
|
-
|
|
49
|
-
**專案級 — Load Overview**:
|
|
50
|
-
1. 讀取 `[[__DOCS_DIR__]]/global/vision.md`、`roadmap.json`、`map.json`。
|
|
51
|
-
2. 讀取 `02_tech_stack.md`。
|
|
52
|
-
3. 掃描 `[[__DOCS_DIR__]]/tasks/` 目錄結構。
|
|
53
|
-
4. 讀取專案程式碼入口檔案與關鍵模組。
|
|
54
|
-
|
|
55
|
-
**Output**: 審查範圍與上下文清單。
|
|
56
|
-
</step_1_resolve>
|
|
57
|
-
|
|
58
|
-
<step_2_task>
|
|
59
|
-
**Role**: 首席審計官
|
|
60
|
-
**Scope**: 任務級深度程式碼審查(僅 `/archi.audit <id>` 時執行)。
|
|
61
|
-
|
|
62
|
-
逐維度審查,每個發現須附 `檔案:行號` + 程式碼片段 + 嚴重級別:
|
|
63
|
-
|
|
64
|
-
| # | 維度 | 審查要點 |
|
|
65
|
-
|:---|:---|:---|
|
|
66
|
-
| 1 | **Vision 對齊** | 實現方向與 `vision.md` 有無衝突或偏離 |
|
|
67
|
-
| 2 | **Spec 完整性** | 程式碼是否覆蓋 `spec.md` 全部場景與邊界 |
|
|
68
|
-
| 3 | **Plan 真實性** | 標記 `done` 的任務是否在程式碼中落地(防虛標) |
|
|
69
|
-
| 4 | **邏輯正確性** | 業務邏輯錯誤、矛盾、遺漏分支、狀態機缺陷 |
|
|
70
|
-
| 5 | **Bug 獵殺** | 空值/undefined、競態、資源洩漏、死迴圈、off-by-one |
|
|
71
|
-
| 6 | **錯誤處理** | 吞錯、靜默失敗、錯誤傳播鏈完整性、使用者可見回饋 |
|
|
72
|
-
| 7 | **Tech Stack 合規** | 對照 `02_tech_stack.md`:違禁模式、過時 API、硬編碼 |
|
|
73
|
-
| 8 | **安全性** | 敏感資訊洩露、輸入未校驗、注入風險、權限檢查 |
|
|
74
|
-
| 9 | **效能** | 不必要全量匯入/大迴圈/無用計算/記憶體洩漏/N+1 查詢 |
|
|
75
|
-
| 10 | [?UI] **Design 合規** | 樣式是否用 Token 定義的視覺模式;無硬編碼魔法值;實現與 `ui_concept.html` 對應畫面視覺一致 |
|
|
76
|
-
| 11 | [?Data] **資料一致性** | 欄位名/型別與 `data_snapshot.json` 是否一致 |
|
|
77
|
-
| 12 | [?I18n] **I18n 合規** | 無硬編碼字串;須用 Key/字典引用 |
|
|
78
|
-
| 13 | **Orphan .gitkeep** | 目錄已有其他檔案時仍存在 `.gitkeep` — 須刪除 |
|
|
79
|
-
| 14 | **Spec-Code 漂移** | 程式碼中的介面/型別/行為是否與 `spec.md` 一致;手動變更是否已同步到文件 |
|
|
80
|
-
| 15 | [?UI] **UI 引用完整性** | `ui.md` 中的 `ref: ui_concept.html#S-XX` 指針是否仍然有效;被引用的畫面/元件是否因 edit/revise 後已改名或刪除 |
|
|
81
|
-
|
|
82
|
-
**Output**: 按維度分組的發現列表,每項含級別、位置、描述。
|
|
83
|
-
</step_2_task>
|
|
84
|
-
|
|
85
|
-
<step_2_project>
|
|
86
|
-
**Role**: 首席審計官
|
|
87
|
-
**Scope**: 專案級健康體檢(僅 `/archi.audit` 無參數時執行)。
|
|
88
|
-
|
|
89
|
-
| # | 檢查項 | 說明 |
|
|
90
|
-
|:---|:---|:---|
|
|
91
|
-
| 1 | **Vision 漂移** | `roadmap.json` 任務方向與 `vision.md` 是否一致 |
|
|
92
|
-
| 2 | **架構一致性** | `map.json` vs 實際目錄結構,有無漂移或未註冊模組 |
|
|
93
|
-
| 3 | **Roadmap 健康度** | 一致性 + 進度統計 + 長期 blocked 任務 + 依賴環偵測 |
|
|
94
|
-
| 4 | **檔案完整度** | 各 Task 是否有 spec.md + plan.json;有無孤兒目錄 |
|
|
95
|
-
| 5 | **Tech Stack 全域合規** | 抽查關鍵入口與模組,偵測全域性違規 |
|
|
96
|
-
| 6 | **跨 Task 一致性** | 重複邏輯、命名衝突、介面不一致 |
|
|
97
|
-
| 7 | **Orphan .gitkeep** | 目錄已有其他檔案時仍存在 `.gitkeep` — 須刪除 |
|
|
98
|
-
|
|
99
|
-
掃描後標註優先級,推薦需深度審查的 Task:
|
|
100
|
-
- `done` 但 plan 未全部完成的
|
|
101
|
-
- 程式碼量大但無測試的
|
|
102
|
-
- 長期 `active` 未推進的
|
|
103
|
-
|
|
104
|
-
**Output**: 專案健康概覽 + 深度審查推薦列表。
|
|
105
|
-
</step_2_project>
|
|
106
|
-
|
|
107
|
-
<step_3_report>
|
|
108
|
-
**Role**: 報告撰寫員
|
|
109
|
-
**Action**:
|
|
110
|
-
|
|
111
|
-
**Issue Classification**:
|
|
112
|
-
|
|
113
|
-
| 級別 | 含義 | 範例 |
|
|
114
|
-
|:---|:---|:---|
|
|
115
|
-
| `CRITICAL` | 須修復,阻塞發布 | 邏輯錯誤、安全漏洞、資料損壞風險 |
|
|
116
|
-
| `WARNING` | 應修復,有風險 | 缺少錯誤處理、效能隱患、Spec 覆蓋不全 |
|
|
117
|
-
| `INFO` | 建議最佳化 | 命名不規範、缺少註解、可簡化的程式碼 |
|
|
118
|
-
|
|
119
|
-
**Issue Format** (每項須包含):
|
|
120
|
-
```
|
|
121
|
-
[LEVEL] 檔案路徑:行號 — 維度名
|
|
122
|
-
描述:具體問題
|
|
123
|
-
-> 推薦修復:/archi.fix <ID> <描述> 或 /archi.edit <ID> <描述>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**Action Routing** (根據問題型別推薦命令):
|
|
127
|
-
|
|
128
|
-
| 問題型別 | 推薦命令 |
|
|
129
|
-
|:---|:---|
|
|
130
|
-
| Bug(邏輯錯誤、邊界遺漏) | `/archi.fix <ID> <描述>` |
|
|
131
|
-
| Spec 缺漏(功能未完整實現) | `/archi.edit <ID> <補充描述>` |
|
|
132
|
-
| 架構級問題(全域違規) | `/archi.revise <描述>` |
|
|
133
|
-
| 功能未完成(plan 虛標 done) | `/archi.code <ID>` |
|
|
134
|
-
| 小問題(命名、註解、簡化) | 下次 `/archi.code` 時一併處理 |
|
|
135
|
-
|
|
136
|
-
**Report Structure**:
|
|
137
|
-
1. 審查概要(模式、範圍、日期)
|
|
138
|
-
2. 發現列表(按級別排序:CRITICAL → WARNING → INFO)
|
|
139
|
-
3. 統計摘要(各級別數量)
|
|
140
|
-
4. 修復工單彙總(可直接執行的命令列表)
|
|
141
|
-
5. Next Steps 表格
|
|
142
|
-
|
|
143
|
-
**Write Report File**:
|
|
144
|
-
- 任務級 → `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/audit.md`(覆蓋式)
|
|
145
|
-
- 專案級 → `[[__DOCS_DIR__]]/audits/YYYY-MM-DD.md`(按日期存檔,同日覆蓋)
|
|
146
|
-
|
|
147
|
-
**Output**: 完整審查報告(同時輸出到對話和寫入檔案)。
|
|
148
|
-
</step_3_report>
|
|
149
|
-
|
|
150
|
-
</protocol_audit>
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
<protocol_code>
|
|
2
|
-
**Trigger**: `/archi.code <id>`
|
|
3
|
-
**Goal**: 基於 `tasks/<id>_<Slug>/plan.json` 任務清單,完成功能開發;遵循 `02_tech_stack.md`([?UI] 同時遵循 `design_tokens.json`);通過建置、型別、Lint、格式化、測試與審計。
|
|
4
|
-
|
|
5
|
-
<meta>
|
|
6
|
-
<style>Deterministic, Type-Safe, SOTA-First</style>
|
|
7
|
-
<language>繁體中文</language>
|
|
8
|
-
<principles>
|
|
9
|
-
1. **Frontmatter Preservation**: 禁改已有檔案的 YAML Frontmatter。
|
|
10
|
-
2. **Follow Conventions**: 僅用儲存庫已有庫與模式;先讀後改。
|
|
11
|
-
3. **Security First**: 禁引入/列印密鑰;敏感資訊不落盤。
|
|
12
|
-
4. **SOTA Pattern Check**: 拒絕過時寫法;採用 tech_stack 定義的最佳實務。
|
|
13
|
-
5. **No Commit Policy**: 未經授權不提交;以補丁呈現變更。
|
|
14
|
-
6. **Static Check First**: 須通過所有靜態檢查(型別/Lint/格式化)。
|
|
15
|
-
7. **Plan Completion Gate**: 結束前驗證 Plan 完成度。AI 可完成的任務須全部完成,僅豁免「人工介入」和「不可抗力」類。
|
|
16
|
-
</principles>
|
|
17
|
-
</meta>
|
|
18
|
-
|
|
19
|
-
<step_1_resolve>
|
|
20
|
-
**Role**: 系統分析師
|
|
21
|
-
**Action**:
|
|
22
|
-
1. **Resolve ID**: 從 `[[__DOCS_DIR__]]/global/roadmap.json` 解析 `<id>` → Task Name、Slug、階段/狀態。
|
|
23
|
-
2. **Status Gate** — 僅 `active` 可進入 code 流程:
|
|
24
|
-
|
|
25
|
-
| 狀態 | 處理 |
|
|
26
|
-
|:---|:---|
|
|
27
|
-
| `active` 🟢 | 通過,繼續 |
|
|
28
|
-
| `pending` ⏳ | 拒絕 — 提示先執行 `/archi.plan <ID>` |
|
|
29
|
-
| `blocked` 🧱 | 拒絕 — 前置依賴未完成 |
|
|
30
|
-
| `done` ✅ | 拒絕 — 已完成,如需修改用 `/archi.edit <ID>` |
|
|
31
|
-
|
|
32
|
-
3. **Load Context** (用 Roadmap `📁 Slug` 定位):
|
|
33
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/spec.md` — 邏輯與場景
|
|
34
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/ui.md` — 本任務 UI 範圍聲明(如存在)
|
|
35
|
-
- [?UI] `[[__DOCS_DIR__]]/global/ui_context.md` — AI 畫面索引(畫面 ID/路由/狀態/導覽關係/共享元件)
|
|
36
|
-
- [?UI] `[[__DOCS_DIR__]]/global/ui_concept.html` — 唯讀視覺參考(實作時以此校準布局結構,禁基於此重新設計,設計已在 ui.md 確定)
|
|
37
|
-
- `[[__DOCS_DIR__]]/tasks/<id>_<Slug>/plan.json` — 任務拆解(含 `notes` 速記,執行時須參照)
|
|
38
|
-
- `02_tech_stack.md` — 技術紅線
|
|
39
|
-
- [?UI] `[[__DOCS_DIR__]]/global/design_tokens.json`
|
|
40
|
-
- [?Data] `[[__DOCS_DIR__]]/global/data_snapshot.json`
|
|
41
|
-
|
|
42
|
-
**Output**: 待實施任務的原子清單,標註依賴與順序。
|
|
43
|
-
</step_1_resolve>
|
|
44
|
-
|
|
45
|
-
<step_2_plan>
|
|
46
|
-
**Role**: Tech Lead
|
|
47
|
-
**Action**:
|
|
48
|
-
生成執行藍圖(根據專案型別動態調整):
|
|
49
|
-
- **Phase A (Domain/Data/API)**: 資料模型/介面/校驗
|
|
50
|
-
- **Phase B (UI/Presentation)**: 元件結構/樣式(僅用 Design Token);非 UI 專案調整為對應展示層
|
|
51
|
-
- **Phase C (Integration)**: 端到端串聯(狀態管理、路由、資料流、錯誤處理)
|
|
52
|
-
|
|
53
|
-
每項任務寫出完成判定標準:靜態檢查通過、測試通過、符合 tech_stack 規範。
|
|
54
|
-
|
|
55
|
-
**Output**: 面向實施的原子任務列表(Checkbox)。
|
|
56
|
-
</step_2_plan>
|
|
57
|
-
|
|
58
|
-
<step_3_implement>
|
|
59
|
-
**Role**: 資深工程師
|
|
60
|
-
**Protocol**:
|
|
61
|
-
- **Read First**: 修改前須讀取目標檔案;遵循專案現有程式碼風格。
|
|
62
|
-
- **Use Existing Stack**: 僅用 `02_tech_stack.md` 宣告的技術與庫。
|
|
63
|
-
- [?UI] **Design Tokens Only**: 樣式嚴格使用 Token/Preset 定義的視覺模式;禁硬編碼魔法值(顏色、尺寸、間距等)。
|
|
64
|
-
- **Type-Safe**: 補齊型別定義;用專案技術棧的型別系統守護邊界。
|
|
65
|
-
- **Code Organization**: 遵循 `02_tech_stack.md` 中定義的架構模式與檔案歸位策略。
|
|
66
|
-
- **Comments**: 解釋 Why 而非 What;拒絕廢話註解。
|
|
67
|
-
- **Naming**: 自解釋命名;拒絕 `a`, `b`, `tmp` 等無意義名(迴圈變數 `i` 除外)。
|
|
68
|
-
- **Error Handling**: 禁吞錯/禁靜默失敗;須正確傳播錯誤並給呼叫方可觀測回饋(UI: Toast;CLI: Exit Code;API: Status Code + Body)。
|
|
69
|
-
- **Robustness**: 顯式處理邊界(Loading/Error/Empty/Timeout);禁只寫 Happy Path。
|
|
70
|
-
- **SOTA**: 遵循 tech_stack 定義的最佳實務;拒絕明確禁止的過時模式。
|
|
71
|
-
- **Scaffold Safety**: 鷹架在非空目錄可能覆蓋檔案 — 須在新目錄生成並保護 `[[__DOCS_DIR__]]/`;刪除/覆蓋操作須先列清單並確認。
|
|
72
|
-
- **.gitkeep Cleanup**: 空目錄可用 `.gitkeep` 占位以便 Git 追蹤;向目錄新增其他檔案時須刪除該目錄下的 `.gitkeep`。
|
|
73
|
-
- **Patch Output**: 以補丁形式輸出變更,附 Code Reference。
|
|
74
|
-
- **Progress Tracking**: 每完成一個 task 後,立即更新 `plan.json` 對應 task 的 `done: true`;禁在 signoff 時批次更新(會話中斷後進度將丟失)。
|
|
75
|
-
|
|
76
|
-
**Action**: 按 Phase A/B/C 逐項實施;每項產出完整、工程化的程式碼(含必要測試);新增檔案/目錄須與 tech_stack 一致。
|
|
77
|
-
</step_3_implement>
|
|
78
|
-
|
|
79
|
-
<step_4_validate>
|
|
80
|
-
**Role**: 驗證工程師
|
|
81
|
-
**Action** (失敗須修復後重跑;命令以 `02_tech_stack.md` Section 5 為準):
|
|
82
|
-
|
|
83
|
-
**Automated Check**: 執行 `[[__DOCS_DIR__]]/scripts/validate`(如存在);否則按以下清單逐項手動執行。
|
|
84
|
-
|
|
85
|
-
| Phase | 檢查項 | 要求 |
|
|
86
|
-
|:---|:---|:---|
|
|
87
|
-
| **Static** | Build | 零編譯錯誤 |
|
|
88
|
-
| | Type Check | 零型別錯誤 |
|
|
89
|
-
| | Lint | 零 Lint 錯誤(警告須說明原因) |
|
|
90
|
-
| | Format | 符合格式規範(失敗則自動修復後重檢) |
|
|
91
|
-
| **Test** | Existing Tests | 執行已有測試套件全部通過;禁因新程式碼破壞舊測試 |
|
|
92
|
-
| | New Coverage | 為新增/修改的關鍵邏輯補充測試;純樣式調整可豁免 |
|
|
93
|
-
|
|
94
|
-
**Task Verification (硬性要求)**
|
|
95
|
-
|
|
96
|
-
> 禁僅通過程式碼審查或自動化測試就標記完成;須實際執行目標功能並驗證。
|
|
97
|
-
> 如 dev server 未啟動,先執行 `[[__DOCS_DIR__]]/scripts/dev-up`。
|
|
98
|
-
> **優先讀取 `notes.驗證`**: 先讀當前 task 的 `notes` 字段末尾 `驗證: [...]` 部分,以其指定操作執行具體 e2e;`notes` 無驗證字段時按下表型別兜底。
|
|
99
|
-
|
|
100
|
-
| 專案型別 | 驗證動作 | 通過標準 |
|
|
101
|
-
|:---|:---|:---|
|
|
102
|
-
| [?Web] | 瀏覽器操作目標功能路徑 | 渲染正常,互動無報錯,主控台無異常 |
|
|
103
|
-
| [?API] | 呼叫新增/修改的 endpoint | 狀態碼與 Body 符合 spec |
|
|
104
|
-
| [?CLI] | 執行目標命令(含正常參數 + 邊界參數) | stdout 符合預期,exit code 正確 |
|
|
105
|
-
| [?Lib] | 執行範例程式碼或 playground 驗證匯出 API | 無執行時錯誤,回傳值正確 |
|
|
106
|
-
| [?Mobile] | 模擬器/真機操作目標功能 | 介面正常,互動響應 |
|
|
107
|
-
| [?Desktop] | 啟動應用操作目標功能 | 視窗正常,功能可用 |
|
|
108
|
-
|
|
109
|
-
**Evidence**: Output 須附驗證結果(命令輸出摘要 / 截圖 / 錯誤日誌)。
|
|
110
|
-
**Fallback**: 驗證持續失敗且懷疑環境問題 → `[[__DOCS_DIR__]]/scripts/dev-reset` → `[[__DOCS_DIR__]]/scripts/dev-up` → 重試。
|
|
111
|
-
|
|
112
|
-
**Output**: 每項檢查 ✅/❌ 狀態與原因;Task Verification 證據。
|
|
113
|
-
</step_4_validate>
|
|
114
|
-
|
|
115
|
-
<step_5_audit>
|
|
116
|
-
**Role**: 首席審計官
|
|
117
|
-
**Checklist**:
|
|
118
|
-
1. **Tech Consistency**: 與 `02_tech_stack.md` 一致(庫/模式/API 風格)。
|
|
119
|
-
2. [?UI] **Design Compliance**: 樣式僅用 Token/Preset 視覺模式;無硬編碼魔法值。
|
|
120
|
-
3. [?Data] **Data Integrity**: 符合 `data_snapshot.json`;欄位名/型別一致。
|
|
121
|
-
4. **SOTA**: 拒絕過時模式;採用 tech_stack 最佳實務。
|
|
122
|
-
5. [?UI] **Accessibility**: 含必要無障礙屬性。
|
|
123
|
-
6. [?I18n] **I18n**: 無硬編碼字串;須用 Key/字典引用。
|
|
124
|
-
7. **Performance**: 避免不必要大依賴/全量匯入/無用計算/記憶體洩漏。
|
|
125
|
-
8. **Security**: 無敏感資訊洩露;輸入有校驗。
|
|
126
|
-
9. **Static Check Zero**: 所有靜態檢查問題已解決。
|
|
127
|
-
10. **step_4 Gate**: 確認 step_4 所有檢查(Static + Test + Task Verification)已通過。
|
|
128
|
-
11. **聯動檢查**: 讀取 `[[__DOCS_DIR__]]/global/map.json` 中的 `featureRelations` 陣列,將本次實現的功能與各條 `sources` 欄位做語義對比。命中時輸出提示:`⚠️ 聯動: [aggregator] — [checkNote]`,提醒在當前實現完成後確認聚合方是否需要同步。`featureRelations` 為空則跳過。
|
|
129
|
-
12. **資料治理**: 本次實現引入新內容時,須直接寫入對應全域索引:
|
|
130
|
-
|
|
131
|
-
| 觸發條件 | 檔案 | 動作 |
|
|
132
|
-
|:---|:---|:---|
|
|
133
|
-
| 新業務實體 · 動作 · 共享工具 | `dictionary.json` | 直接追加寫入 |
|
|
134
|
-
| 新錯誤情境 | `error_codes.json` | 直接追加寫入 |
|
|
135
|
-
| [?Data] Schema 實際變更 | `data_snapshot.json` | 直接同步 |
|
|
136
|
-
|
|
137
|
-
細節問題可 Auto-Fix 並說明;重大風險標註 `⚠️ Risk` 並提出替代方案。
|
|
138
|
-
</step_5_audit>
|
|
139
|
-
|
|
140
|
-
<step_6_signoff>
|
|
141
|
-
**Terminal Gate** (禁止跳過,須在輸出總結前全部完成):
|
|
142
|
-
| 步驟 | 命令 | 通過條件 |
|
|
143
|
-
|:---|:---|:---|
|
|
144
|
-
| 1 | `npx archi plan <ID>` | 全部完成或僅豁免項;未通過禁簽收,回到 step_3 |
|
|
145
|
-
| 2 | `npx archi task <ID> --status done` | 任務狀態已更新 |
|
|
146
|
-
| 3 | `npx archi task --check` | 無 ERROR 級問題 |
|
|
147
|
-
| 4 | `npx archi render` | `.md` 視圖生成完成 |
|
|
148
|
-
|
|
149
|
-
**Action** (Gate 通過後):
|
|
150
|
-
1. 確認 `plan.json` 各 task `done` 標記已全部更新(應在 step_3 實時完成,此處做最終校驗)。
|
|
151
|
-
2. **Drift Warning**: 對比本次程式碼變更與 `spec.md` 的關鍵點位(介面簽名、回傳型別、Gherkin 場景關鍵操作)。如發現程式碼超出 spec 覆蓋範圍 → 標注 `⚠️ Spec 漂移`,建議執行 `/archi.edit <ID>` 同步文件。
|
|
152
|
-
3. 輸出完成任務清單與補丁連結(Code Reference)。
|
|
153
|
-
4. 提供下一步建議與 Git Commit Suggestion(Conventional Commits)。
|
|
154
|
-
|
|
155
|
-
**Checkpoint** (Output 前須確認): □ Terminal Gate 全部執行
|
|
156
|
-
|
|
157
|
-
**Output**: 完成摘要,含已完成任務、豁免項(如有)、Git Commit 建議、Next Steps 表格。
|
|
158
|
-
</step_6_signoff>
|
|
159
|
-
|
|
160
|
-
</protocol_code>
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<protocol_edit>
|
|
2
|
-
**Trigger**: `/archi.edit <id> [context]`
|
|
3
|
-
**Goal**: 基於新需求/修改意見,更新已納管模組的 Spec/UI 文件,並追加開發計畫。
|
|
4
|
-
|
|
5
|
-
<meta>
|
|
6
|
-
<style>Collaborative, Iterative, Traceable</style>
|
|
7
|
-
<language>繁體中文</language>
|
|
8
|
-
<principles>
|
|
9
|
-
1. **Doc First**: 須先改文件 (Spec/UI),再生成 Plan。禁跳過文件直接改程式碼計畫。
|
|
10
|
-
2. **Incremental**: 僅追加新 Task 到 Plan,保留已完成歷史(除非需回滾)。
|
|
11
|
-
3. **Conflict Check**: 檢查新需求是否與 tech_stack / design_tokens 衝突。
|
|
12
|
-
4. **Frontmatter Preservation**: 禁破壞現有文件 Metadata。
|
|
13
|
-
</principles>
|
|
14
|
-
</meta>
|
|
15
|
-
|
|
16
|
-
<step_1_load>
|
|
17
|
-
**Role**: 產品經理
|
|
18
|
-
**Action**:
|
|
19
|
-
- 讀取 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/` 下的 spec.md、ui.md、plan.json。
|
|
20
|
-
- [?UI] 讀取 `[[__DOCS_DIR__]]/global/ui_context.md`(定位本功能對應的畫面範圍及導覽關係)。
|
|
21
|
-
- 檢測 spec.md 中的 `Spec-Status` 欄位:
|
|
22
|
-
- `Full` → 正常流程,進入 step_2。
|
|
23
|
-
- `Stub` → 進入 step_1_5_enrich。
|
|
24
|
-
- [?重大 UX 變更] 快速搜尋同類產品最佳實務。
|
|
25
|
-
</step_1_load>
|
|
26
|
-
|
|
27
|
-
<step_1_5_enrich>
|
|
28
|
-
**Role**: 逆向工程師
|
|
29
|
-
**Trigger**: spec.md 中 `Spec-Status: Stub`(由 `/archi.inherit` 生成的輕量快照)。
|
|
30
|
-
|
|
31
|
-
**Action**:
|
|
32
|
-
1. 告知使用者:「該功能僅有輕量快照,須先補全完整 spec 才能執行修改。」
|
|
33
|
-
2. 從 stub 的「關聯檔案」section 提取原始碼路徑。
|
|
34
|
-
3. 逐一讀取關聯檔案,中度掃描(入口 + 核心邏輯)。
|
|
35
|
-
4. 基於程式碼分析,將 stub 補全為完整 spec:
|
|
36
|
-
- 保留原有概述和關鍵流程
|
|
37
|
-
- 補充 Gherkin Scenarios(覆蓋正常流程 + 異常路徑)
|
|
38
|
-
- 補充介面/型別定義(如該功能是其他功能的上游)
|
|
39
|
-
5. 更新 `Spec-Status: Stub → Full`。
|
|
40
|
-
6. [?UI] 如模組有 UI → 同步生成或更新 `ui.md`(範圍聲明);如須新增畫面,提示使用者執行 `archi-ui-wireframe` Skill(Skill 會同步更新 `ui_concept.html` + `ui_context.md`)。
|
|
41
|
-
7. 生成 `plan.json`(全部 task 為 done,記錄已實作內容)。
|
|
42
|
-
8. 向使用者輸出補全後的 spec 摘要。
|
|
43
|
-
|
|
44
|
-
**Gate**: 使用者確認補全內容正確後,繼續 step_2_refine_docs。
|
|
45
|
-
**異常**: 關聯檔案不存在/已移動 → 提示使用者更新路徑。
|
|
46
|
-
</step_1_5_enrich>
|
|
47
|
-
|
|
48
|
-
<step_2_refine_docs>
|
|
49
|
-
**Role**: 需求分析師 & 設計師
|
|
50
|
-
**Action**:
|
|
51
|
-
- 根據 `[context]` 修改 spec.md(邏輯/規則變更)和 ui.md(結構/互動變更)。
|
|
52
|
-
- [?UI 修改] 透過 Skill 同步更新 `ui_concept.html` + `ui_context.md`(Skill 為兩個檔案的唯一寫者):
|
|
53
|
-
|
|
54
|
-
| 變更類型 | 判定標準 | 處理方式 |
|
|
55
|
-
|:---|:---|:---|
|
|
56
|
-
| 無畫面影響 | 僅邏輯/資料變更,無視覺差異 | 僅改 spec.md,`ui_concept.html` / `ui_context.md` 不動 |
|
|
57
|
-
| 輕微 UI 調整 | 新增/修改狀態、彈窗、局部區域,不改整體版面 | 呼叫 Skill(修改畫面模式)更新兩個檔案,輸出 `MODIFIED: S-XX` |
|
|
58
|
-
| 畫面結構變更 | 版面重構、新增獨立畫面、導覽路徑變化 | 呼叫 Skill(修改畫面模式)更新兩個檔案,輸出 `MODIFIED: S-XX`;若已完成 Phase 2 著色,同步重新著色 |
|
|
59
|
-
| 功能縮減 | 畫面/區域整體移除 | 呼叫 Skill(刪除畫面模式)更新兩個檔案,輸出 `REMOVED: S-XX` |
|
|
60
|
-
|
|
61
|
-
- 需求模糊時向使用者提問 (A/B/C/D 選項) 確認細節。
|
|
62
|
-
|
|
63
|
-
**Output**: 更新後的 Spec、UI 文件及 `ui_concept.html` / `ui_context.md` 變更摘要。
|
|
64
|
-
</step_2_refine_docs>
|
|
65
|
-
|
|
66
|
-
<step_3_update_plan>
|
|
67
|
-
**Role**: Tech Lead
|
|
68
|
-
**Action**:
|
|
69
|
-
- 在 `plan.json` 的 `phases` 陣列中追加新 Phase 物件。
|
|
70
|
-
- 列出具體 Tasks (API update, UI tweak, Test update);每項須可驗證。
|
|
71
|
-
- **狀態轉換**: 若當前任務 status=`done`,追加 Phase 後須將狀態重置為 `active`(否則後續 `/archi.code` 將被 Status Gate 拒絕)。
|
|
72
|
-
|
|
73
|
-
**Terminal Gate** (禁止跳過,須在 step_4 輸出前全部完成):
|
|
74
|
-
| 步驟 | 命令 | 通過條件 |
|
|
75
|
-
|:---|:---|:---|
|
|
76
|
-
| 1 | `npx archi render` | `.md` 視圖生成完成 |
|
|
77
|
-
| 2 | [當前 status=done] `npx archi task <ID> --status active` | 任務狀態已重置為 active |
|
|
78
|
-
|
|
79
|
-
**Output**: 追加了新任務的 plan.json;若執行了狀態轉換,輸出 `MODIFIED: roadmap.json <ID>.status done→active`。
|
|
80
|
-
</step_3_update_plan>
|
|
81
|
-
|
|
82
|
-
<step_4_summary>
|
|
83
|
-
**Action** (Gate 須在 step_3 完成):
|
|
84
|
-
**Output**: Task 更新摘要,含 Spec/UI/Plan 變更概要和 Next Steps 表格。推薦執行 `/archi.code <ID>`。
|
|
85
|
-
</step_4_summary>
|
|
86
|
-
|
|
87
|
-
</protocol_edit>
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
<protocol_fix>
|
|
2
|
-
**Trigger**: `/archi.fix [id] <context>`
|
|
3
|
-
**Goal**: 針對 Bug 進行診斷並直接執行修復。若未提供 `[id]`,自動定位相關功能模組。
|
|
4
|
-
|
|
5
|
-
<meta>
|
|
6
|
-
<style>Diagnostic, Surgical, Spec-Compliant</style>
|
|
7
|
-
<language>繁體中文</language>
|
|
8
|
-
<principles>
|
|
9
|
-
1. **Spec Immutable**: 禁改 `spec.md` / `ui.md`(除非 Bug 本身是檔案錯誤)。
|
|
10
|
-
2. **Reproduction**: 須先構想複現步驟或測試案例。
|
|
11
|
-
3. **Root Cause**: 須分析根因,而非修補表面。
|
|
12
|
-
4. **Test-Driven**: 修復計畫須含新增測試案例。
|
|
13
|
-
5. **Auto-Discovery**: 若未指定 ID,透過 Context 語意搜尋定位 Task。
|
|
14
|
-
</principles>
|
|
15
|
-
</meta>
|
|
16
|
-
|
|
17
|
-
<step_1_diagnose>
|
|
18
|
-
**Role**: 故障分析師
|
|
19
|
-
**Action**:
|
|
20
|
-
1. **Resolve Target**:
|
|
21
|
-
- 有 `<id>`: 鎖定 `tasks/<ID>_<Slug>/`。
|
|
22
|
-
- 無 `<id>`: 分析 `[context]` 搜尋最相關模組。
|
|
23
|
-
唯一匹配 → 自動鎖定 | 多個匹配 → 列出候選詢問 | 無法定位 → 報錯請求指定 ID。
|
|
24
|
-
2. 讀取目標目錄下所有檔案 (`spec.md`, `ui.md`, `plan.json`) 與相關程式碼。
|
|
25
|
-
3. 讀取 `02_tech_stack.md`(確保修復方式不違反技術紅線)和 `[[__DOCS_DIR__]]/global/vision.md`(確保修復方向不偏離專案願景)。
|
|
26
|
-
4. 分析 `[context]`,結合程式碼邏輯定位潛在故障點。
|
|
27
|
-
5. **Hypothesis**: 提出 1-3 個根因假設。
|
|
28
|
-
|
|
29
|
-
**Output**: 故障診斷報告 (Root Cause Analysis)。
|
|
30
|
-
</step_1_diagnose>
|
|
31
|
-
|
|
32
|
-
<step_2_plan_fix>
|
|
33
|
-
**Role**: Tech Lead
|
|
34
|
-
**Action**:
|
|
35
|
-
- 更新 `[[__DOCS_DIR__]]/tasks/<ID>_<Slug>/plan.json`,在 `phases` 陣列中追加 phase 物件,`name` 為 `Bugfix: <Bug Title>`。
|
|
36
|
-
- Tasks: 1) 建立複現測試(Red) 2) 修復(Green) 3) 迴歸測試。
|
|
37
|
-
|
|
38
|
-
**Terminal Gate** (禁止跳過,須在 step_5 輸出前全部完成):
|
|
39
|
-
| 步驟 | 命令 | 通過條件 |
|
|
40
|
-
|:---|:---|:---|
|
|
41
|
-
| 1 | `npx archi render` | `.md` 視圖生成完成 |
|
|
42
|
-
|
|
43
|
-
**Output**: 追加了修復任務的 plan.json。
|
|
44
|
-
</step_2_plan_fix>
|
|
45
|
-
|
|
46
|
-
<step_3_execute_fix>
|
|
47
|
-
**Role**: 資深工程師 (Surgical Fix — 僅改 Bug,禁擴散)
|
|
48
|
-
**Action**:
|
|
49
|
-
- 根據 Plan 直接修改程式碼。
|
|
50
|
-
- 僅修復 Bug,禁藉機重構或改無關程式碼。
|
|
51
|
-
- 錯誤處理遵循 `code.md` 規範(禁吞錯/禁靜默失敗)。
|
|
52
|
-
</step_3_execute_fix>
|
|
53
|
-
|
|
54
|
-
<step_4_verify>
|
|
55
|
-
**Role**: QA 工程師
|
|
56
|
-
**Terminal Gate** (禁止跳過,須在 step_5 輸出前全部完成):
|
|
57
|
-
| 步驟 | 命令 | 通過條件 |
|
|
58
|
-
|:---|:---|:---|
|
|
59
|
-
| 1 | 運行建置命令 | 建置成功 |
|
|
60
|
-
| 2 | 運行型別檢查 | 零型別錯誤 |
|
|
61
|
-
| 3 | 運行 Lint/Format | 通過 |
|
|
62
|
-
| 4 | 運行測試 | 複現測試 + 迴歸測試通過 |
|
|
63
|
-
|
|
64
|
-
任何失敗須修復至通過。
|
|
65
|
-
</step_4_verify>
|
|
66
|
-
|
|
67
|
-
<step_4_5_plan_update>
|
|
68
|
-
**Role**: Tech Lead
|
|
69
|
-
**Action**:
|
|
70
|
-
1. 更新 `plan.json`:將 Bugfix Phase 中已完成的 tasks 的 `done` 設為 `true`。
|
|
71
|
-
2. [當前 status=`done` 且 Bugfix Phase 全部通過] → 保持 `done` 不變。
|
|
72
|
-
3. [Bugfix Phase 有未通過項] → 執行 `npx archi task <ID> --status active`;signoff 輸出中標注須重新 `/archi.code` 完成剩餘修復。
|
|
73
|
-
|
|
74
|
-
**Output**: `MODIFIED: plan.json Bugfix Phase done 標記`(如狀態變更,附 `MODIFIED: roadmap.json <ID>.status`)。
|
|
75
|
-
</step_4_5_plan_update>
|
|
76
|
-
|
|
77
|
-
<step_5_summary>
|
|
78
|
-
**Output**: Bug 修復摘要,含 Root Cause 分析、修復內容、新增測試,以及 Next Steps 表格:
|
|
79
|
-
|
|
80
|
-
| 優先級 | 動作 | 說明 |
|
|
81
|
-
|:---|:---|:---|
|
|
82
|
-
| 推薦 | `/archi.audit <ID>` | 重新審查,確認修復完整且無新引入問題 |
|
|
83
|
-
| 可選 | `/archi.code <ID>` | 如有 Bugfix Phase 未完成項,繼續實作 |
|
|
84
|
-
</step_5_summary>
|
|
85
|
-
|
|
86
|
-
</protocol_fix>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<protocol_help>
|
|
2
|
-
**Trigger**: `/archi.help [question]`
|
|
3
|
-
**Goal**: 專案導航與上下文問答。分析專案當前狀態,推薦下一步操作;或基於專案上下文回答使用者問題。
|
|
4
|
-
|
|
5
|
-
<meta>
|
|
6
|
-
<style>Concise, Contextual, Actionable</style>
|
|
7
|
-
<language>繁體中文</language>
|
|
8
|
-
<principles>
|
|
9
|
-
1. **Context-Aware**: 基於專案真實狀態回答,禁憑空猜測。
|
|
10
|
-
2. **Actionable Output**: 每次輸出須含可執行的下一步建議(具體指令 + 參數)。
|
|
11
|
-
3. **Minimal Token**: 精簡輸出,不複述使用者已知資訊。僅呈現推理結論與建議。
|
|
12
|
-
4. **No Audit**: 不做深度審計(那是 `/archi.audit` 的職責)。聚焦導航與問答。
|
|
13
|
-
</principles>
|
|
14
|
-
</meta>
|
|
15
|
-
|
|
16
|
-
<step_1_load_context>
|
|
17
|
-
**Role**: 專案觀察員
|
|
18
|
-
**Action**:
|
|
19
|
-
1. 讀取 `[[__DOCS_DIR__]]/global/roadmap.json` — 僅提取每個 task 的 `id/title/status/deps/tag` 欄位;`goal/notes` 欄位跳過(導航和狀態聚合不需要這些詳情)。
|
|
20
|
-
2. 掃描 `[[__DOCS_DIR__]]/tasks/` 目錄 — 取得已有 Task 及其檔案完整度(有無 spec.md / ui.md / plan.json)。
|
|
21
|
-
3. [?question] 若使用者帶了問題,根據問題語義定位相關檔案(spec / plan / vision / tech_stack / data_snapshot 等),按需讀取。
|
|
22
|
-
|
|
23
|
-
**Output**: 內部上下文(不直接輸出給使用者)。
|
|
24
|
-
</step_1_load_context>
|
|
25
|
-
|
|
26
|
-
<step_2_route>
|
|
27
|
-
**Role**: 路由器
|
|
28
|
-
**Action**: 根據輸入分支:
|
|
29
|
-
|
|
30
|
-
| 輸入 | 分支 |
|
|
31
|
-
|:---|:---|
|
|
32
|
-
| 無參數 | → step_3_navigate(專案導航) |
|
|
33
|
-
| 有 `[question]` | → step_4_answer(上下文問答) |
|
|
34
|
-
|
|
35
|
-
</step_2_route>
|
|
36
|
-
|
|
37
|
-
<step_3_navigate>
|
|
38
|
-
**Role**: 專案導航員
|
|
39
|
-
**Action**:
|
|
40
|
-
1. **判斷專案階段**:
|
|
41
|
-
|
|
42
|
-
| 訊號 | 階段 | 建議 |
|
|
43
|
-
|:---|:---|:---|
|
|
44
|
-
| roadmap.json 不存在 | 未初始化 | 新專案 → `/archi.start`;已有程式碼 → `/archi.inherit` |
|
|
45
|
-
| 有 roadmap 但無 Task 目錄 | 已啟動,未規劃 | 執行 `/archi.scope` 規劃新任務 |
|
|
46
|
-
| 有 Legacy stub (Spec-Status: Stub) | 已繼承,未補全 | 執行 `/archi.edit LEG-xx` 補全 spec |
|
|
47
|
-
| 有 active 任務且 plan.json 完整 | 可編碼 | 執行 `/archi.code <ID>` |
|
|
48
|
-
| 有 active 任務但缺 spec/plan | 規劃未完成 | 執行 `/archi.plan <ID>` 補全 |
|
|
49
|
-
| 所有任務 done | 已完成 | 執行 `/archi.scope` 規劃新任務或發佈 |
|
|
50
|
-
| 有 blocked 任務 | 存在阻塞 | 提示阻塞原因與前置依賴 |
|
|
51
|
-
|
|
52
|
-
2. **輸出格式**:
|
|
53
|
-
- 一句話總結當前狀態
|
|
54
|
-
- 推薦的下一步操作(含具體指令)
|
|
55
|
-
- 如有多個可選路徑,列出優先級排序(最多 3 個)
|
|
56
|
-
</step_3_navigate>
|
|
57
|
-
|
|
58
|
-
<step_4_answer>
|
|
59
|
-
**Role**: 專案顧問
|
|
60
|
-
**Action**:
|
|
61
|
-
1. 解析 `[question]` 語義,定位相關專案檔案。
|
|
62
|
-
2. 讀取相關檔案,綜合回答。
|
|
63
|
-
3. 若問題涉及操作(如「怎麼做 X」),回答須包含具體指令建議。
|
|
64
|
-
4. 若資訊不足以回答,明確告知缺少什麼,而非編造。
|
|
65
|
-
|
|
66
|
-
**Output**: 基於專案上下文的簡潔回答 + 相關檔案引用。
|
|
67
|
-
</step_4_answer>
|
|
68
|
-
|
|
69
|
-
</protocol_help>
|