這個資料夾記錄這個專案的為什麼——原則、方向、教訓——也就是程式碼本身留不住的東西。它讓 AI(和新加入的人)在動手前,先讀懂專案的意圖與限制。
由 knowie 維護:一個讓 AI 結構化地維護專案知識的工具。不熟 knowie 也沒關係——下面就能讀懂。
principles.md— 原則:專案不可妥協的核心信念與規則(分「根本原則」和從它推導的「延伸原則」)。vision.md— 願景:要解決什麼問題、現在走到哪、路線圖。experience.md— 經驗:開發中蒸餾出的教訓(踩過的坑、學到的模式)。
concepts/— 母概念:反覆出現的核心概念;三個核心檔只放指針,細節在這。episodes/— 情節記憶:值得回憶的完整現場(教訓/決策背後的故事)。history/— 因果軌跡:為什麼變成現在這樣(決策的轉移、被否決的選項)。draft/— 短期記憶:還沒定案、正在醞釀的想法。
從三個核心檔讀起;每個檔底部有「關鍵延伸」表,告訴你某個主題該往哪個子檔深入。
如果你用支援 knowie 的 AI 工具(如 Claude Code),這些指令幫你維護這個知識庫:
/knowie-init— 從零建立知識庫/knowie-capture— 把一段討論/想法統整進對的地方/knowie-consolidate— 你主動把成熟的 draft 固化出去(capture 的對稱另一端)/knowie-next— 根據知識庫規劃下一步該做什麼/knowie-judge— 檢查一致性、對齊程式碼、整理/knowie-migrate— 結構升級時遷移知識庫
(只是想讀懂專案?忽略這段沒關係。)
judge 會掃「指向程式碼的路徑還在不在」。而三種東西長得一模一樣:
🔴 真的過時 該修
⟨曾經⟩ 歷史敘述——那個路徑【當時是對的】,不該改
⟨規劃⟩ 還沒做的東西——未來式,不該改
沒有標記的話,後兩種每次都會被報一次,而 knowie 的 Converge 不變式說 「再跑一次應該接近 no-op」。
一個每次都報同樣結果的檢查,與一個沒有人跑的檢查,最後效果一樣 ——因為人會學會跳過它。
history/、episodes/、draft/retired/ 三個目錄天生是「曾經」
——掃描直接排除,不需要逐處標記。
排除目錄 history/ / episodes/ / draft/retired/
排除寫法 刪除線 ~~舊路徑~~ / 帶 ⟨曾經⟩ 或 ⟨規劃⟩ 標記的
剩下的 🔴 才是真的過時2026-08-17 第一次套用:14 筆 → 0 筆。
行內的 [[X]] 是指名,不是路徑。它涵蓋三種東西:
[[投影]] → concepts/投影.md
[[經驗]] → experience.md(三個入口檔同理)
[[build-guardrail]] → skills/build-guardrail/SKILL.md
[[X]] 找不到對應的 concepts 檔」不等於死引用——2026-08-19 的
judge 掃出 10 筆,只有 1 筆是真的(回退程式碼但不回退知識 少了一個逗號),
其餘是 skills、三檔、以及 markdown 裡的程式碼片段誤判。
一個掃描如果不知道自己在掃什麼命名空間,它的每一筆命中都要人再判一次 ——而那正是它想省掉的工。
真正的連結用 [](相對路徑),圖由連結導出,不儲存(見 principles P8)。