文件初始化
這是一次性的大規模任務。在此之後的變更,請使用 engineering:documentation-sync。
1. 盤點
列出現有的文件,並將每份標記為 存在、薄弱(存在但幾乎空白或過期)或 缺失。至少檢查以下項目:
README.md、CONTRIBUTING.md、CHANGELOG.md、ARCHITECTURE.md 或 docs/architecture/、決策記錄、CLAUDE.md、SECURITY.md、LICENSE、API 參考、配置參考、runbook。
git ls-files '*.md' | grep -v node_modules
2. 讓使用者選擇
顯示來自 resources/doc-catalog.md 的選單。將每種類型標記為存在、薄弱或缺失。標記你推薦用於此類專案的類型。
- 已存在的文件不會重寫。使用者可以為薄弱文件選擇「修訂」。
- 由使用者挑選。不要撰寫使用者未選擇的類型。
3. 建立事實表
在任何人開始撰寫之前,先收集多份文件都會用到的事實。從程式碼與 git 中取得,而不是憑記憶。將它們寫入一個暫存檔案。
| 事實 | 來源 |
|---|---|
| 專案名稱與一句話目的 | README、manifest、使用者 |
| 當前版本 | manifest、最新標籤(git describe --tags --abbrev=0) |
| 語言、框架及其版本 | manifest 與鎖定檔案 |
| 安裝、測試、lint、建置與執行命令 | engineering:development-commands |
| 元件及其名稱 | 目錄佈局、進入點、compose 檔案 |
| 環境變數與設定 | .env.example,以及讀取設定的程式碼(搜尋 process.env、os.environ、getenv) |
| 重要日期 | 第一個提交(git log --reverse)、標籤 |
| 目前可運作與不可運作的部分 | 使用者、未解決的 issue |
如果兩個來源不一致,請詢問使用者。不要靜默選擇其中一個。每位作者只使用事實表與程式碼。
4. 撰寫
- 三份文件或更少: 親自依序撰寫。
- 超過三份: 為每份文件或小組啟動一個子代理,一次最多四個。每個子代理需獲得:
- 它負責的具體檔案,以及不得更改任何其他檔案的規則;
- 事實表;
- 來自
resources/doc-catalog.md中其類型的章節大綱; - 使用簡化技術英語撰寫的指示(若已安裝
simple-english技能); - 報告它需要但未找到的事實,而不是憑空編造。
請勿編造歷史、數字、使用者或功能。寫「TBD」並將其列出供使用者處理。
5. 檢查文件集
遵循 resources/consistency-check.md。修復所有問題後再繼續。
6. 提交
將文件放到一個分支上(engineering:git-branching)並開啟 PR(engineering:github-pr-merge)。在 PR 主體中,列出每份新文件以及每個需要使用者回答的「TBD」。
相關技能
engineering:documentation-sync:在此之後維護這些文件的正確性。gener8v:brownfield:將現有程式碼庫導入 gener8v 管道。它會寫入.gener8v/上下文,而非這些專案文件。