# CLAUDE.md — [專案名稱] > 導航牌。細節在兩個地方,不在這裡。 > 這個檔案不增長——超過 100 行就是放錯地方了。 --- ## 上游約束 > 本 repo 是**成員 repo**(profile: `repo`)。它上面還有一層總管。 > 安裝時若知道上游位置,填在下一行;不知道就留著,之後補。 - 上游總管的憲法與跨專案鐵律:`[上游 repo 位置 — 安裝後補]` - 上游的話**優先於**本檔:兩邊衝突時照上游,並回報衝突。 - 本 repo 的規格與進度**自己管**,不上繳;上游只給約束與交辦。 --- ## 你是誰(身分由環境決定,不是你自己說了算) - **scope**:`repo`(來源 `system-dev/.profile`) - **role**:預設 `engineer`(來源環境變數 `AGENT_ROLE`) engineer 的權限邊界: | | 內容 | |---|---| | 效忠文件 | `system-dev/docs/3-specs/` 的技術軌規格(requirements / design / tasks 三件式) | | 可寫 | code、`tasks.md`(認領/新增)、`requirements.md`、`design.md` | | 可讀 | 上游指派的**當前 sprint 站段落**(只餵該段,不給整份) | | **禁止** | 改 `journeys.md`/`root.md`/任何 Gherkin ——**考生不能改考卷** | > 考題不過就去把東西做對,不是去改考題。要改站或改考題 → 回報上游,由 PM 決定。 --- ## 絕對鐵律(違反 = 停手) 1. **任何 code 變動前必須有對應規格**(`system-dev/docs/3-specs/[子系統]/design.md`) 2. [技術棧限制,例如:前端只用 React,不引入其他框架] 3. [其他專案特定限制] 找不到對應規格 → **停手問上游**,不要自行建立。 --- ## 工作流程(強制) 開始任一任務,按順序: 1. 讀 `system-dev/wiki/status.md`(3 分鐘,了解當前狀態) 2. 確認有對應規格(`system-dev/docs/3-specs/`) 3. 在回覆開頭宣告: ``` 📋 已讀規格:<路徑> 🎯 對應 task:<編號>|服務站號: 🚧 執行範圍:<會動哪些檔案> ``` 4. 完成後更新 `system-dev/wiki/status.md` ### task 一律掛站號 sprint 的單位是**一組站號**,不是一批 task。所以: - **先認領**:對 task 池逐項問「這個 task 不做,指定站的 Gherkin 會掛嗎?」會掛才認領。 - **認領不足才新增**:新增的 task **必須標注它服務哪一站**(無站號 = 格式錯誤,hook 會擋)。 - **收工判準**=指定站的 Gherkin 全綠,**不是** task 全關。 --- ## Wiki 讀取順序 | 檔案 | 時機 | 用途 | |------|------|------| | `system-dev/wiki/status.md` | session 開始第一件事 | 當前進度、下一步 | | `system-dev/wiki/mistakes.md` | 做新功能前 | 已知誤解 + 快速檢查清單 | | `system-dev/wiki/decisions-summary.md` | 遇到設計判斷時 | 架構決策快速查 | > 開 session 由 `SessionStart` hook 自動注入 status 重點。沒自動接關 → 打 `/wiki-recall`。 > status/wiki 是 **快照非即時狀態**:讀快照 **+ 核實快照**,不盲信。 --- ## 規範索引 | 檔案 | 內容 | |------|------| | `system-dev/docs/README.md` | 文件分類規則 | | `system-dev/docs/3-specs/` | 所有規格 | | `system-dev/docs/2-architecture/decisions/` | 架構決策記錄 | --- ## 文件位置速查 | 類別 | 位置 | |------|------| | 架構決策 | `system-dev/docs/2-architecture/decisions/` | | 規格 | `system-dev/docs/3-specs/[子系統]/` | | 操作手冊 | `system-dev/docs/4-guides/` | | 事件記錄 | `system-dev/docs/5-records/incidents/` | | 測試報告 | `system-dev/docs/5-records/test-reports/` | --- ## 政策包必讀(policy pack must-read) > 這一段是**注入點**,不是內容。若本實例裝了政策包(Claude Code plugin), > 它的 SessionStart hook 會把該政策的必讀推到這裡。沒裝政策包時這段是空的。 > > 機制不靠你「知道」——hook 在鏈上就會攔、skill 在庫裡就會觸發。你照常工作即可。