29e3636bd2
不想被編入 wiki 的內容(密碼/金鑰/個資)三層防線: - L1 .wikiignore:整個機敏檔不編入(glob,像 .gitignore) - L2 行內標記 <!-- wiki:ignore -->:檔案內某段不編入 - L3 wiki-secret-scan.sh hook:機敏值真寫進 .claude/wiki/ → exit 2 擋 L3 偵測密碼賦值/PEM 私鑰/AWS·GitHub·Slack·Google·Stripe 金鑰/JWT/ 連線字串帳密/台灣身分證/信用卡號;wiki-secret-ok 行尾標記可豁免誤判。 wiki-init/wiki-capture/SKILL 寫入 L1+L2 協議。 誠實限制:L1/L2 靠 CC 自律、L3 靠 regex(有偽陽/偽陰),減少意外外洩 非保險箱——真正的密鑰本就不該進版控。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
87 lines
2.9 KiB
Markdown
87 lines
2.9 KiB
Markdown
# /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 行內標記**:檔案要編入但某段不要 → 遇到 `<!-- wiki:ignore -->` … `<!-- wiki:end -->` 之間的內容**略過**,只留「(此處機敏,已略過)」
|
||
> - **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
|
||
```
|