feat: 安裝結構收進 system-dev/(不污染用戶根目錄)+ 舊版自動遷移 + bump 1.9.0
工具產物原散在用戶根目錄(docs 七層、scripts),又把 wiki/VERSION 寄生在 CC 原生
.claude/ 裡,用戶分不清哪個 docs 是工具的。這版徹底收斂:除 .claude/(settings/
commands/hooks)與 CLAUDE.md 留根,工具所有資料收進 system-dev/。
對應 SDD: system-dev/docs/3-specs/install-layout/(內部記錄,依原則不推)。
- 新結構 system-dev/{VERSION,wiki/,docs/,scripts/};.claude/ 只剩 CC 機制檔
- wiki 改寫產物落點正式化:install 建 system-dev/wiki/cards/(.gitkeep)
- docs 雙語義拆開:工具文件→system-dev/docs/;用戶 raw source 維持原處只讀
- scripts 一開始就裝進 system-dev/scripts/
- 舊版自動遷移雙保險:update.sh 冪等搬移(wiki 含 .git、docs 白名單)
+ session-start hook 偵測舊結構未遷移時提示(low-code 用戶兜底)
- wiki-secret-scan 觸發路徑改 system-dev/wiki/**(否則新結構防護失效)
- 全套路徑引用同步:CLAUDE/SKILL/wiki-*/sdd-*/hooks/INDEX/README(中英)
- 沙盒驗證:遷移含 .git commit 一致、冪等、用戶自填 docs 保留;全 bash -n 過
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1 +0,0 @@
|
||||
1.8.2
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
### 第二步:尋找對應 SDD
|
||||
|
||||
在 `docs/3-specs/` 下尋找對應的子系統目錄,確認有沒有:
|
||||
在 `system-dev/docs/3-specs/` 下尋找對應的子系統目錄,確認有沒有:
|
||||
- `design.md`(設計文件)
|
||||
- `tasks.md`(任務清單)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
**情況 A:找到對應 SDD**
|
||||
```
|
||||
✅ 找到 SDD:docs/3-specs/[子系統]/
|
||||
✅ 找到 SDD:system-dev/docs/3-specs/[子系統]/
|
||||
📋 design.md:[確認]
|
||||
📋 tasks.md:[確認,列出相關 task]
|
||||
🎯 對應 task:[編號和描述]
|
||||
@@ -34,7 +34,7 @@
|
||||
```
|
||||
⚠️ 找不到對應 SDD
|
||||
任務:[描述]
|
||||
建議在 docs/3-specs/[建議子系統名]/ 建立 SDD
|
||||
建議在 system-dev/docs/3-specs/[建議子系統名]/ 建立 SDD
|
||||
|
||||
要我幫你起草 design.md 嗎?(需要你確認後才動手)
|
||||
```
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
|
||||
把任何內容寫進 wiki 前,先確認**不含**密碼 / API 金鑰 / 私鑰 / 連線字串帳密 / 個資(身分證、信用卡)。
|
||||
- 命中 → 不要記「值」,改記「位置」(例:「DB 密碼放 `.env`,不入 wiki」)
|
||||
- 來源整檔機敏 → 提醒使用者加進 `.claude/wiki/.wikiignore`
|
||||
- 來源整檔機敏 → 提醒使用者加進 `system-dev/wiki/.wikiignore`
|
||||
- 真要保留示範格式 → 該行尾加 `wiki-secret-ok` 標記
|
||||
> 這是協議層自律。最後一道 `wiki-secret-scan.sh` hook 會在寫入 `.claude/wiki/` 時機械攔截,但別依賴它兜底——當場就不要把機敏值帶進來。
|
||||
> 這是協議層自律。最後一道 `wiki-secret-scan.sh` hook 會在寫入 `system-dev/wiki/` 時機械攔截,但別依賴它兜底——當場就不要把機敏值帶進來。
|
||||
|
||||
### 第一步:辨識對話中的可記錄內容
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
| 類型 | 判斷標準 | 存到哪 |
|
||||
|------|---------|-------|
|
||||
| 架構決策 | 「為什麼選A不選B」「我們決定用X」 | `decisions-summary.md` + `docs/2-architecture/decisions/` |
|
||||
| 架構決策 | 「為什麼選A不選B」「我們決定用X」 | `decisions-summary.md` + `system-dev/docs/2-architecture/decisions/` |
|
||||
| CC 的誤解被糾正 | CC 說了某件事,使用者說「不是,是...」 | `mistakes.md` |
|
||||
| 重要狀態更新 | 完成了某件事、阻擋了某件事 | `status.md` |
|
||||
| 技術發現 | 踩到坑、找到解法、重要行為確認 | `mistakes.md` 或對應 SDD |
|
||||
@@ -59,10 +59,10 @@
|
||||
## [主題] — [YYYY-MM-DD]
|
||||
**結論**:[一句話]
|
||||
**原因**:[簡短說明]
|
||||
**詳細**:docs/2-architecture/decisions/[檔名]
|
||||
**詳細**:system-dev/docs/2-architecture/decisions/[檔名]
|
||||
```
|
||||
|
||||
重大決策同時在 `docs/2-architecture/decisions/` 建立 ADR 檔案。
|
||||
重大決策同時在 `system-dev/docs/2-architecture/decisions/` 建立 ADR 檔案。
|
||||
|
||||
### 第四步:確認
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
唯一例外:原文是**不可改動的正式文件**(簽署過的規格、法規、合約),必須逐字讀原文——這種才在 wiki 裡用指針指回去,並註明「逐字依原文」。除此之外,一律改寫。
|
||||
|
||||
**raw source 永遠唯讀**:所有產出只往 `.claude/wiki/` 寫,絕不改動、搬移、重新命名原文。
|
||||
**raw source 永遠唯讀**:所有產出只往 `system-dev/wiki/` 寫,絕不改動、搬移、重新命名原文。
|
||||
|
||||
---
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
### 第一步:偵測專案狀態
|
||||
|
||||
檢查以下項目,判斷是新專案還是已有專案:
|
||||
- 根目錄有沒有 `.claude/wiki/`
|
||||
- 根目錄有沒有 `system-dev/wiki/`
|
||||
- 根目錄有沒有 `docs/`(或 vault 的 `pages/`、`journals/`、根目錄 `.md`)
|
||||
- 有沒有散落的 `.md` 檔案
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
### 第二步:已有專案的掃描(已有專案才執行)
|
||||
|
||||
1. 遞迴找出 raw source 裡所有 `.md` 檔案
|
||||
2. **先套用 `.claude/wiki/.wikiignore`**:命中 pattern 的檔案整個排除,不讀不編入。
|
||||
2. **先套用 `system-dev/wiki/.wikiignore`**:命中 pattern 的檔案整個排除,不讀不編入。
|
||||
- 若 `.wikiignore` 不存在,從範本建立一份(預設排除 `.env`/`*.pem`/`*secret*` 等)
|
||||
- 被排除的檔案在清單裡標「🚫 .wikiignore 排除」,**不可被覆蓋**
|
||||
3. 對其餘檔案標注**改寫計畫**:會萃取成哪些 wiki 條目。一份原文可能拆成多個概念原子條目,多份相關原文也可能合併成一條。
|
||||
@@ -66,7 +66,7 @@
|
||||
wiki 採**三層 + 標籤橫切**架構(183 卡實證,issue #8):
|
||||
|
||||
```
|
||||
.claude/wiki/
|
||||
system-dev/wiki/
|
||||
├── INDEX.md ← 頂層:標籤視圖(不是資料夾列表)
|
||||
├── TAXONOMY.md ← 標籤字典(分類骨架,受控擴充:先查重再登記)
|
||||
├── status.md / mistakes.md / decisions-summary.md
|
||||
@@ -80,16 +80,16 @@ wiki 採**三層 + 標籤橫切**架構(183 卡實證,issue #8):
|
||||
|
||||
> **桶子索引固定叫 `00-INDEX.md`**(issue #6):`00-` 前綴讓它排序最前、一眼可辨(像 README 之於資料夾),AI 載入任何 `cards/<bucket>/` 一律先讀它,不必猜。檔內 H1 仍寫主題名(如 `# PKM 知識管理`),語意不丟。
|
||||
|
||||
一般專案仍可同時建 `docs/` 分類樹(SDD 等):
|
||||
一般專案仍可同時建 `system-dev/docs/` 分類樹(SDD 等):
|
||||
```
|
||||
docs/{1-vision,2-architecture/decisions,3-specs,4-guides,5-records/{incidents,test-reports},6-user}
|
||||
system-dev/docs/{1-vision,2-architecture/decisions,3-specs,4-guides,5-records/{incidents,test-reports},6-user}
|
||||
```
|
||||
(純 PKM vault 不需要 `docs/` 分類樹時,只建 `.claude/wiki/`。)
|
||||
(純 PKM vault 不需要 `system-dev/docs/` 分類樹時,只建 `system-dev/wiki/`。)
|
||||
|
||||
檔案(不存在才建):
|
||||
- `.claude/wiki/INDEX.md`、`TAXONOMY.md`
|
||||
- `.claude/wiki/status.md`、`mistakes.md`、`decisions-summary.md`
|
||||
- `docs/README.md`(一般專案才需要)
|
||||
- `system-dev/wiki/INDEX.md`、`TAXONOMY.md`
|
||||
- `system-dev/wiki/status.md`、`mistakes.md`、`decisions-summary.md`
|
||||
- `system-dev/docs/README.md`(一般專案才需要)
|
||||
|
||||
### 第四步:訪談(每次一個問題)
|
||||
|
||||
@@ -168,7 +168,7 @@ gloss: 一句話定義這個概念是什麼(給下游語義 normalize 用,
|
||||
**INDEX.md 是標籤視圖**(非資料夾列表),`00-INDEX.md` 是桶內容器(只連不重寫,H2/H3 分節)。
|
||||
頂層索引指桶子索引帶路徑:`[[pkm/00-INDEX]]`。
|
||||
|
||||
> 與 claude.ai Cowork 的 `docs/SKILL.md` 改寫邏輯一致,兩條路徑(CC / Cowork)產出同一種 wiki。
|
||||
> 與 claude.ai Cowork 的 `system-dev/docs/SKILL.md` 改寫邏輯一致,兩條路徑(CC / Cowork)產出同一種 wiki。
|
||||
|
||||
### 第六步:完成報告 + 驗證
|
||||
|
||||
|
||||
@@ -17,18 +17,18 @@ init(建) → update(存,session 末) ↔ **recall(接,session 初)** → ca
|
||||
|
||||
### 第一步:讀 status.md(當前進度)
|
||||
|
||||
讀 `.claude/wiki/status.md`,掌握:
|
||||
讀 `system-dev/wiki/status.md`,掌握:
|
||||
- 正在做什麼、阻擋點
|
||||
- 下次 session 第一件事
|
||||
- 待負責人確認、已知問題
|
||||
|
||||
### 第二步:讀 decisions-summary.md(為什麼這樣做)
|
||||
|
||||
讀 `.claude/wiki/decisions-summary.md`,掌握相關的架構決策——避免重新討論已定案的事。
|
||||
讀 `system-dev/wiki/decisions-summary.md`,掌握相關的架構決策——避免重新討論已定案的事。
|
||||
|
||||
### 第三步:讀 mistakes.md(別重犯)
|
||||
|
||||
讀 `.claude/wiki/mistakes.md`,掌握已知誤解 + 快速檢查清單。
|
||||
讀 `system-dev/wiki/mistakes.md`,掌握已知誤解 + 快速檢查清單。
|
||||
|
||||
### 第四步:掃 wishlist / HANDOFF(如果有)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# 掛在 settings.json 的 PreToolUse(matcher: Write|Edit)。
|
||||
# stdin 收到 JSON:{ tool_name, tool_input: { file_path, ... } }
|
||||
# 行為:動到 code 檔(.ts/.go/...)但 docs/3-specs/ 下沒有任何 SDD → 警告(exit 2 擋)。
|
||||
# 行為:動到 code 檔(.ts/.go/...)但 system-dev/docs/3-specs/ 下沒有任何 SDD → 警告(exit 2 擋)。
|
||||
#
|
||||
# 誠實限制(抄 arcrun):只擋語法層明顯違規(直接寫 code 檔)。
|
||||
# 藏在 helper 裡、用 bash 繞道的改動擋不到。
|
||||
@@ -32,25 +32,25 @@ esac
|
||||
|
||||
# 改 SDD 自己 / 測試檔 → 放行
|
||||
case "$FILE_PATH" in
|
||||
*docs/3-specs/*) exit 0 ;;
|
||||
*system-dev/docs/3-specs/*) exit 0 ;;
|
||||
*_test.*|*.test.*|*.spec.*|*/tests/*|*/test/*) exit 0 ;;
|
||||
esac
|
||||
|
||||
# docs/3-specs/ 下完全沒有 design.md → 攔
|
||||
# system-dev/docs/3-specs/ 下完全沒有 design.md → 攔
|
||||
SDD_COUNT=0
|
||||
if [ -d "docs/3-specs" ]; then
|
||||
SDD_COUNT=$(find docs/3-specs -name 'design.md' -not -path '*TEMPLATE*' 2>/dev/null | wc -l | tr -d ' ')
|
||||
if [ -d "system-dev/docs/3-specs" ]; then
|
||||
SDD_COUNT=$(find system-dev/docs/3-specs -name 'design.md' -not -path '*TEMPLATE*' 2>/dev/null | wc -l | tr -d ' ')
|
||||
fi
|
||||
|
||||
if [ "$SDD_COUNT" -eq 0 ]; then
|
||||
cat >&2 <<EOF
|
||||
🚫 SDD 協議攔截:要動 code 檔 ($FILE_PATH),但 docs/3-specs/ 下找不到任何 SDD。
|
||||
🚫 SDD 協議攔截:要動 code 檔 ($FILE_PATH),但 system-dev/docs/3-specs/ 下找不到任何 SDD。
|
||||
|
||||
絕對鐵律:任何 code 變動前必須有對應 SDD(design.md)。
|
||||
|
||||
請先:
|
||||
1. 確認這個改動屬於哪個子系統
|
||||
2. 在 docs/3-specs/[子系統]/ 建立 design.md(可用 /sdd-check 協助)
|
||||
2. 在 system-dev/docs/3-specs/[子系統]/ 建立 design.md(可用 /sdd-check 協助)
|
||||
3. 在回覆開頭宣告已讀 SDD + 對應 task
|
||||
|
||||
小修改(修 bug、改文字)若確定豁免,請明確說明範圍後由人放行。
|
||||
@@ -59,5 +59,5 @@ EOF
|
||||
fi
|
||||
|
||||
# 有 SDD:放行,但留痕提醒要宣告(stderr 警告,不擋)
|
||||
echo "📋 提醒:docs/3-specs/ 下有 SDD。動手前請確認已讀對應 design.md 並在回覆宣告。" >&2
|
||||
echo "📋 提醒:system-dev/docs/3-specs/ 下有 SDD。動手前請確認已讀對應 design.md 並在回覆宣告。" >&2
|
||||
exit 0
|
||||
|
||||
@@ -10,7 +10,19 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
STATUS_FILE=".claude/wiki/status.md"
|
||||
STATUS_FILE="system-dev/wiki/status.md"
|
||||
|
||||
# ── 舊結構防呆(1.9.0 遷移第 2 層保險)──
|
||||
# 新版 wiki 收進 system-dev/。若偵測到舊位置 .claude/wiki/ 還在、但新位置沒 status,
|
||||
# 代表使用者升級了規則卻沒跑遷移(low-code 使用者常見)→ 出聲提示,讓 CC 當場可代為遷移,
|
||||
# 不要默默用不到新結構而出錯。
|
||||
if [ -d ".claude/wiki" ] && [ ! -f "$STATUS_FILE" ]; then
|
||||
echo "⚠️ 偵測到舊版 wiki 結構(.claude/wiki/),尚未遷移到 system-dev/wiki/。"
|
||||
echo " 請跑:bash system-dev/scripts/update.sh"
|
||||
echo " 或直接叫我(CC):「幫我把 wiki 遷移到 system-dev/」——我可以代為搬移。"
|
||||
echo " (未遷移時接關與 /wiki-init 會找錯位置。)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 沒有 wiki 就安靜退出(exit 0),不干擾還沒 /wiki-init 的專案
|
||||
if [ ! -f "$STATUS_FILE" ]; then
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
#
|
||||
# 為什麼存在:wiki 的 ignore 規則(.wikiignore + 行內標記)是「協議層」,靠 CC 遵守。
|
||||
# 但密碼/金鑰/個資外洩是「不可逆」後果——只靠口頭約束太危險。
|
||||
# 這支 hook 是機械式底線:CC 真的把機敏資訊寫進 .claude/wiki/ 的那一刻 → exit 2 擋下。
|
||||
# 這支 hook 是機械式底線:CC 真的把機敏資訊寫進 system-dev/wiki/ 的那一刻 → exit 2 擋下。
|
||||
#
|
||||
# 掛在 settings.json 的 PreToolUse(matcher: Write|Edit)。
|
||||
# stdin 收到 JSON:{ tool_name, tool_input: { file_path, content?, new_string? } }
|
||||
# 行為:只在目標路徑是 .claude/wiki/** 時啟動,掃要寫入的內容,命中機敏特徵 → exit 2。
|
||||
# 行為:只在目標路徑是 system-dev/wiki/** 時啟動,掃要寫入的內容,命中機敏特徵 → exit 2。
|
||||
#
|
||||
# 誠實限制(抄 sdd-guard):regex 偵測有偽陰/偽陽。
|
||||
# 擋的是「明顯特徵的機敏字串被自動抄進 wiki」,擋不了刻意混淆/編碼的繞道。
|
||||
@@ -33,7 +33,7 @@ fi
|
||||
|
||||
# 只管寫進 wiki 的動作。其他路徑放行(這支專責 wiki 洩漏,不是全域 secret scanner)
|
||||
case "$FILE_PATH" in
|
||||
*.claude/wiki/*) ;;
|
||||
*system-dev/wiki/*) ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
|
||||
@@ -102,7 +102,7 @@ wiki 是會被 CC 反覆讀取、可能進版控的記憶空間。
|
||||
請改成下列任一做法:
|
||||
1. 不要把機敏值寫進 wiki,改記「位置」(例:「DB 密碼放 1Password / .env,不入 wiki」)
|
||||
2. 確定是誤判(例:在示範格式)→ 該行尾加註記 wiki-secret-ok 後重寫
|
||||
3. 整個來源檔本就機敏 → 加進 .claude/wiki/.wikiignore,別讓它被編入
|
||||
3. 整個來源檔本就機敏 → 加進 system-dev/wiki/.wikiignore,別讓它被編入
|
||||
|
||||
誠實限制:本掃描靠特徵比對,有偽陽/偽陰,是「意外外洩的機械底線」而非保險箱。
|
||||
真正的密鑰本就不該進版控。
|
||||
|
||||
+16
-16
@@ -7,7 +7,7 @@
|
||||
|
||||
## 絕對鐵律(違反 = 停手)
|
||||
|
||||
1. **任何 code 變動前必須有對應 SDD**(`docs/3-specs/[子系統]/design.md`)
|
||||
1. **任何 code 變動前必須有對應 SDD**(`system-dev/docs/3-specs/[子系統]/design.md`)
|
||||
2. [技術棧限制,例如:前端只用 React,不引入其他框架]
|
||||
3. [其他專案特定限制]
|
||||
|
||||
@@ -19,15 +19,15 @@
|
||||
|
||||
開始任一任務,按順序:
|
||||
|
||||
1. 讀 `.claude/wiki/status.md`(3 分鐘,了解當前狀態)
|
||||
2. 確認有對應 SDD(`docs/3-specs/`)
|
||||
1. 讀 `system-dev/wiki/status.md`(3 分鐘,了解當前狀態)
|
||||
2. 確認有對應 SDD(`system-dev/docs/3-specs/`)
|
||||
3. 在回覆開頭宣告:
|
||||
```
|
||||
📋 已讀 SDD:<路徑>
|
||||
🎯 對應 task:<編號>
|
||||
🚧 執行範圍:<會動哪些檔案>
|
||||
```
|
||||
4. 完成後更新 `.claude/wiki/status.md`
|
||||
4. 完成後更新 `system-dev/wiki/status.md`
|
||||
|
||||
---
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
|
||||
| 檔案 | 時機 | 用途 |
|
||||
|------|------|------|
|
||||
| `.claude/wiki/status.md` | session 開始第一件事 | 當前進度、下一步 |
|
||||
| `.claude/wiki/mistakes.md` | 做新功能前 | 已知誤解 + 快速檢查清單 |
|
||||
| `.claude/wiki/decisions-summary.md` | 遇到設計判斷時 | 架構決策快速查 |
|
||||
| `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 是 **快照非即時狀態**:讀快照 **+ 核實快照**,不盲信。
|
||||
@@ -52,7 +52,7 @@
|
||||
| 由誰整理 | 規則檔(採集當下必讀) |
|
||||
|----------|------------------------|
|
||||
| **Claude Code(CC)** | `/wiki-init`(初始化/採集)、`/wiki-capture`(存結論),規則寫在指令內文 |
|
||||
| **Claude.ai(Cowork)** | `docs/SKILL.md`(skill `wiki-cowork-scan`),與 CC 共用同一套規則 |
|
||||
| **Claude.ai(Cowork)** | `system-dev/docs/SKILL.md`(skill `wiki-cowork-scan`),與 CC 共用同一套規則 |
|
||||
|
||||
兩條路徑**輸出格式相同、規則一致**:gloss、typed-edge、標籤的寫法在兩份裡都有,任一方整理過另一方不覆蓋。
|
||||
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
| 檔案 | 內容 |
|
||||
|------|------|
|
||||
| `docs/README.md` | 文件分類規則 |
|
||||
| `docs/3-specs/` | 所有 SDD |
|
||||
| `docs/2-architecture/decisions/` | 架構決策記錄 |
|
||||
| `system-dev/docs/README.md` | 文件分類規則 |
|
||||
| `system-dev/docs/3-specs/` | 所有 SDD |
|
||||
| `system-dev/docs/2-architecture/decisions/` | 架構決策記錄 |
|
||||
|
||||
---
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
|
||||
| 類別 | 位置 |
|
||||
|------|------|
|
||||
| 架構決策 | `docs/2-architecture/decisions/` |
|
||||
| SDD | `docs/3-specs/[子系統]/` |
|
||||
| 操作手冊 | `docs/4-guides/` |
|
||||
| 事件記錄 | `docs/5-records/incidents/` |
|
||||
| 測試報告 | `docs/5-records/test-reports/` |
|
||||
| 架構決策 | `system-dev/docs/2-architecture/decisions/` |
|
||||
| SDD | `system-dev/docs/3-specs/[子系統]/` |
|
||||
| 操作手冊 | `system-dev/docs/4-guides/` |
|
||||
| 事件記錄 | `system-dev/docs/5-records/incidents/` |
|
||||
| 測試報告 | `system-dev/docs/5-records/test-reports/` |
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1.9.0
|
||||
@@ -12,7 +12,7 @@ description: "掃描本機 Documents 下所有裝了 system-dev-template 的資
|
||||
| 層 | 規則 |
|
||||
|------------|-------------------------------------------|
|
||||
| raw source | 只讀,不動 |
|
||||
| `.claude/wiki/` | 唯一輸出地點,只增不覆 |
|
||||
| `system-dev/wiki/` | 唯一輸出地點,只增不覆 |
|
||||
| `CLAUDE.md` | 不動 |
|
||||
| `logseq/`、`.obsidian/`、`assets/` | 絕對不動 |
|
||||
|
||||
@@ -22,12 +22,12 @@ description: "掃描本機 Documents 下所有裝了 system-dev-template 的資
|
||||
|
||||
## 第一步:發現所有目標資料夾
|
||||
|
||||
掃描 `~/Documents`(遞迴深度 3 層),找出所有含 `.claude/wiki/` 的資料夾。
|
||||
掃描 `~/Documents`(遞迴深度 3 層),找出所有含 `system-dev/wiki/` 的資料夾。
|
||||
|
||||
```
|
||||
~/Documents/
|
||||
project-a/.claude/wiki/ ← ✅ 目標
|
||||
Logseq/.claude/wiki/ ← ✅ 目標
|
||||
project-a/system-dev/wiki/ ← ✅ 目標
|
||||
Logseq/system-dev/wiki/ ← ✅ 目標
|
||||
其他資料夾/ ← ❌ 跳過
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ description: "掃描本機 Documents 下所有裝了 system-dev-template 的資
|
||||
|
||||
## 第二步:對每個資料夾偵測 vault 類型
|
||||
|
||||
進入每個目標資料夾的**根目錄**(`.claude/wiki/` 的上兩層),依序判斷:
|
||||
進入每個目標資料夾的**根目錄**(`system-dev/wiki/` 的上兩層),依序判斷:
|
||||
|
||||
### 判斷順序(與 install.sh 一致)
|
||||
|
||||
@@ -60,7 +60,7 @@ else
|
||||
|
||||
## 第三步:讀取現有 wiki 狀態
|
||||
|
||||
進入 `.claude/wiki/`,讀取:
|
||||
進入 `system-dev/wiki/`,讀取:
|
||||
|
||||
- `INDEX.md`:目前已有哪些 wiki 頁面
|
||||
- `status.md`:上次整理時間、進度
|
||||
@@ -228,6 +228,6 @@ cards/<bucket>/
|
||||
- ❌ 修改任何 raw source 檔案
|
||||
- ❌ 修改 `CLAUDE.md`
|
||||
- ❌ 動 `logseq/`、`.obsidian/`、`assets/` 資料夾
|
||||
- ❌ 刪除 `.claude/wiki/` 裡已有的頁面(只增補,不刪除)
|
||||
- ❌ 刪除 `system-dev/wiki/` 裡已有的頁面(只增補,不刪除)
|
||||
- ❌ 把機敏資訊(密碼、金鑰、個資)寫進 wiki(遇到跳過並記錄)
|
||||
- ❌ 整理沒有 `.claude/wiki/` 的資料夾(那不是這個 skill 的目標)
|
||||
- ❌ 整理沒有 `system-dev/wiki/` 的資料夾(那不是這個 skill 的目標)
|
||||
@@ -1,4 +1,4 @@
|
||||
# .claude/wiki/ — LLM 記憶系統
|
||||
# system-dev/wiki/ — LLM 記憶系統
|
||||
|
||||
> 新 session 開始時從這裡導航。
|
||||
> 目的:讓 CC 不需要重新學習已知的事。
|
||||
@@ -21,7 +21,7 @@
|
||||
1. 只增不刪——記錄 append,決策改了加新條目說明「舊決策已更新」
|
||||
2. status.md 每次 session 結束更新
|
||||
3. mistakes.md 每次被糾正後 append
|
||||
4. 發現新的重要決策 → 同時更新 decisions-summary.md 和 docs/2-architecture/decisions/
|
||||
4. 發現新的重要決策 → 同時更新 decisions-summary.md 和 system-dev/docs/2-architecture/decisions/
|
||||
|
||||
---
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
# 架構決策摘要
|
||||
|
||||
> 遇到設計判斷時查這裡。
|
||||
> 完整脈絡在 docs/2-architecture/decisions/。
|
||||
> 完整脈絡在 system-dev/docs/2-architecture/decisions/。
|
||||
|
||||
---
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
## [主題] — [YYYY-MM-DD]
|
||||
**結論**:[一句話]
|
||||
**原因**:[簡短說明]
|
||||
**詳細**:docs/2-architecture/decisions/[對應檔案]
|
||||
**詳細**:system-dev/docs/2-architecture/decisions/[對應檔案]
|
||||
Reference in New Issue
Block a user