docs-system — v1.0.0
在任何儲存庫中安裝並維護一個完整的文件系統。當一個專案需要將其文件組織、分類、建立索引並保持同步時,或當被要求「設定文件系統 / 文件分類法 / 文件彙編」時,使用此技能。
此技能由四個腳本(位於 scripts/)實作;您需要依序呼叫它們。所有腳本都具有冪等性且保留歷史記錄(使用 git mv);遷移操作會先透過 --dry-run 讓您審查,然後才實際執行。
使用時機
- 儲存庫中有鬆散、未分類的文件 → 安裝系統並進行遷移。
- 文件被建立或編輯 → 重新產生該資料夾的彙編(必備步驟)。
- 有人詢問文件索引 / 詞彙表 / 「紀念碑」/ 分類法。
命令(腳本)
| 命令 | 腳本 | 用途 |
|---|---|---|
| bootstrap | scripts/docs-bootstrap.sh <repo> | 安裝工具包:建立分類資料夾、複製治理文件(分類法/範本/快速入門/註冊表/詞彙表)、安裝 4 個腳本、將文件規則附加到代理檔案。冪等。 |
| migrate | `scripts/docs-migrate.sh [--dry-run | --apply] ` |
| compile | scripts/docs-compile.sh <folder> | (重新)建立 <folder>/MEMORIAL.md — 一個按日期排序的彙編,包含每份文件的索引、詞彙表連結以及完整內容。確定性重新建置:冪等 / 自動附加 / 去重 / 重新排序。--clean <folder> 會移除該檔案。 |
| append | scripts/docs-append.sh <doc> ["summary"] | 將一份文件的單一連結行加入其資料夾的 README.md 索引中(冪等)。 |
標準工作流程
# 1. 設定(每個儲存庫一次)
cp docs-system.conf.example .docs-system.conf # 編輯 PROJECT_NAME、AGENT_RULES、PLAN_BUCKET
# 2. 安裝
scripts/docs-bootstrap.sh .
# 3. 遷移現有文件 — 先執行 DRY-RUN,檢視後再套用
scripts/docs-migrate.sh --dry-run .
scripts/docs-migrate.sh --apply .
# 4. 建立彙編
for d in documentation features testing reviews changes PLANS; do
scripts/docs-compile.sh "docs/$d"
done
# 5. 完成:重新植入 docs/documentation/DOCUMENTATION-REGISTRY.md,編輯 GLOSSARY.md 中的專案術語
強制性的持續規則
在您建立或編輯 docs/<folder>/ 下的任何文件之後,請執行 scripts/docs-compile.sh docs/<folder>,並將重新產生的 MEMORIAL.md 與該文件一起提交。
請勿手動編輯 MEMORIAL.md(它是自動產生的)。此規則也會由 bootstrap 寫入目標儲存庫的代理規則檔案中。
文件標題標記(強制執行)
每個 .md 檔案在其 H1 標題下方需包含:
<!-- version --> · <!-- classification: TYPE --> · <!-- date --> · <!-- last-updated -->。
date 僅設定一次(建立時);僅有 last-updated 會在編輯時變更。類型包括:
FEATURE / TESTING / DESIGN / GAPS / ANALYSIS / CHANGE / STUDY / REVIEW / ARCHITECTURE / SUMMARY / PLAN。
安全性 / 還原
docs-migrate.sh預設使用--dry-run;在執行--apply之前請先檢視輸出的表格。- 還原彙編:
scripts/docs-compile.sh --clean docs/<folder>或find docs -name MEMORIAL.md -delete。 - 所有操作均受 git 追蹤;
git revert可還原一次執行。移動操作是重新命名(歷史記錄保留)。
參考資料
references/PLAYBOOK.md— 完整程序、設定選項、驗證、還原。