本規範定義開發團隊在產品程式庫中使用 docs/ 目錄的方式。docs/ 是產品開發的共享事實源,用於保存正式規格、模組說明、開發計畫、操作手冊,以及按需要保留的設計資料。
docs/ 不是臨時筆記區,也不是程式碼的複製品。文件應讓開發者與 QA 能快速定位目前有效的規格、實作計畫及驗證依據。
docs/
├── README.md # 文件入口、索引與推薦閱讀順序
├── specs/ # PRD、SAD、系統級或跨模組設計文件
│ ├── prd-*.md
│ ├── sad-*.md
│ └── <system-or-cross-module-design>.md
├── plans/ # 有序的迭代計畫、執行狀態與驗證證據
│ └── 001-<feature-slug>.md
├── modules/ # 單一模組的詳細規格與穩定契約
│ └── <module-slug>.md
├── guides/ # 整合、操作、聯調及故障排查手冊
└── designs/ # UI 設計過程、架構圖等(按需要建立)除上述核心目錄外,可依產品發展需要增加其他目錄,但必須先定義用途與維護責任,並避免與現有目錄重複。
README.md:文件入口與索引docs/README.md 是開發團隊進入產品文件的第一入口,應保持簡潔並至少包含:
specs/、plans/、modules/、guides/、designs/ 的索引。新增、搬移或淘汰文件時,必須同步更新 README,避免文件存在但無法被團隊發現。
specs/:產品、系統與跨模組規格specs/ 只存放下列文件:
單一模組的詳細邏輯不放入 specs/,應放入 modules/。短期任務拆解、執行狀態與驗證證據不放入 specs/,應放入 plans/。
plans/:開發計畫與狀態管理每個迭代或功能使用一個有序 Plan,例如 001-user-authentication.md。Plan 是本規範中唯一需要管理執行狀態的文件類型。
Plan 應記錄:
specs/ 或 modules/ 下的文件。建議使用 draft、approved、in_progress、blocked、completed、cancelled 作為 Plan 狀態。團隊可依既有流程調整,但同一產品內必須保持一致。
modules/:單一模組詳細規格每份模組文件描述一個模組的長期有效知識,包括:
模組文件不應複製 Plan 的任務狀態與執行日誌,只保留完成後仍然有效的最新規格。
guides/:可操作的手冊存放整合、操作、聯調、部署前置與故障排查說明,例如對外整合手冊、AIFF 接入手冊或本機開發指南。
Guide 應標示適用版本、前置條件、操作步驟、驗證方式與常見失敗處理。範例中的密碼、Token、私鑰與內部網址必須使用安全佔位符。
designs/:按需要保留的設計資料涉及 AI 輔助 UI 設計、重要互動、架構圖或需要保留設計過程時,可建立 designs/。設計定案後,與開發相關的穩定規則仍應回寫到 specs/ 或 modules/,避免設計過程檔案成為唯一規格來源。
Plan 完成後,必須依實際執行結果回補文件。回補的目標是讓 specs/ 與 modules/ 反映目前真實且最新的產品邏輯,而不是只記錄「工作已完成」。

回補時應遵循以下規則:
specs/。modules/。QA 可以結合以下文件產出驗收標準、Test Case、回歸範圍與測試證據:
| 文件來源 | QA 主要用途 |
|---|---|
specs/ | 確認產品目標、系統行為、跨模組流程與正式契約 |
modules/ | 確認單一模組的輸入輸出、限制、錯誤處理及邊界案例 |
plans/ | 確認本次變更範圍、驗收標準、風險、實際結果與測試證據 |
若 QA 發現實際行為與規格不一致:
specs/ 或 modules/,再更新驗收標準與 Test Case。# 001 <功能名稱>
## 狀態
- status: draft
- owner: <負責人>
- updated_at: YYYY-MM-DD
## 背景與目標
## 非目標與邊界
## 前置規格
- [ ] `../specs/<spec>.md`
- [ ] `../modules/<module>.md`
## 影響範圍與依賴
## 任務拆解與狀態
## 驗收標準
## 風險與決策
## 驗證命令與證據
## 文件回補(完成前最後一步)
- [ ] 依實際結果更新相關 `specs/`
- [ ] 依實際結果更新相關 `modules/`
- [ ] 檢查 `docs/README.md` 索引與相關 `guides/`
- [ ] 檢查文件、程式碼與測試證據是否一致Plan 不應引用 designs/、臨時分析稿或口頭結論作為唯一前置規格。若必要決策尚未進入 specs/ 或 modules/,應先完成規格整理再開始正式開發。
本文件只規範 docs/ 的目錄用途與文件維護結果,不限定開發團隊必須使用哪一套 AI 協作方法、Skills、Agent、提示詞或 AI Coding 規範。
開發團隊可依產品規模、技術棧與協作習慣自行選擇,例如:
由於 AI 工具與最佳實務持續快速演進,團隊可自行導入、替換或組合相關方案,不需要為了符合本規範而綁定特定工具或固定實作方式。
無論採用何種方式,產出的文件仍須符合本規範:
specs/ 或 modules/ 下的正式文件。specs/ 或 modules/。換言之,Skills 與 AI 工作流屬於可替換的執行工具;docs/ 的結構、內容邊界與回補結果才是本規範要求的共同契約。
一項開發工作只有同時滿足以下條件,才可將 Plan 標記為 completed:
specs/ 與 modules/,或差異已完成規格更新。specs/ 或 modules/。本規範的核心不是增加文件數量,而是讓開發團隊在任何時間都能從 docs/ 找到可執行、可驗證且與目前產品一致的資訊。