# /wiki-init — 初始化或接入 LLM Wiki 系統 初始化這個專案的 LLM Wiki 記憶系統。 新專案建立空白結構,已有專案掃描現有文件並建立 wiki。 --- ## 執行流程 ### 第一步:偵測專案狀態 檢查以下項目,判斷是新專案還是已有專案: - 根目錄有沒有 `.claude/wiki/` - 根目錄有沒有 `docs/` - 有沒有散落的 `.md` 檔案 **新專案**(幾乎空的)→ 直接建立結構,跳到第三步 **已有專案**(有文件)→ 執行第二步 ### 第二步:已有專案的掃描(已有專案才執行) 1. 遞迴找出所有 `.md` 檔案 2. **先套用 `.claude/wiki/.wikiignore`**:命中 pattern 的檔案整個排除,不讀不編入。 - 若 `.wikiignore` 不存在,從範本建立一份(預設排除 `.env`/`*.pem`/`*secret*` 等) - 被排除的檔案在清單裡標「🚫 .wikiignore 排除」,**不可被覆蓋** 3. 對其餘檔案標注建議位置和信心度 4. 列出清單給使用者確認,**停下來等確認** > 機敏防護(三層): > - **L1 .wikiignore**:整檔排除(這一步) > - **L2 行內標記**:檔案要編入但某段不要 → 遇到 `` … `` 之間的內容**略過**,只留「(此處機敏,已略過)」 > - **L3 hook**:萬一機敏值仍被寫進 wiki,`wiki-secret-scan.sh` 會 exit 2 擋下 > 編入任何檔案前,先檢查是否含密碼/金鑰/個資——有就改記「位置」而非「值」。 分類規則: ``` 有明確子系統 + 設計內容 → docs/3-specs/[子系統]/ 解釋為什麼做某個決定 → docs/2-architecture/decisions/ 說明怎麼操作 → docs/4-guides/ 記錄發生過的事 → docs/5-records/ 給外部使用者看的 → docs/6-user/ 不確定 → 列為「待確認」,問使用者 ``` ### 第三步:建立缺少的結構 只建立不存在的目錄和檔案,**已有的一律不動**: 目錄: ``` docs/{1-vision,2-architecture/decisions,3-specs,4-guides,5-records/{incidents,test-reports},6-user} .claude/wiki/ ``` 檔案(不存在才建): - `.claude/wiki/INDEX.md` - `.claude/wiki/status.md` - `.claude/wiki/mistakes.md` - `.claude/wiki/decisions-summary.md` - `docs/README.md` ### 第四步:訪談(每次一個問題) 依序問: 1. 這個專案做什麼?(一句話) 2. 有哪些絕對不能違反的限制?(技術棧、架構原則等) 3. 現在進行到哪個階段? 4. 有沒有 CC 曾經犯過的錯要先記下來? 把答案填進 `CLAUDE.md`(如果存在)或建立新的。 ### 第五步:已有專案的文件歸檔 (第二步確認後執行) 按照確認好的分類移動檔案,完成後更新 `CLAUDE.md` 的路徑引用。 ### 第六步:完成報告 告知: ``` ✅ wiki-init 完成 建立了:[列出新建的目錄和檔案] 跳過了:[列出已有因此不動的] 下一步:用 /wiki-capture 把重要決策存進 wiki ```