要 Claude 建一個專案系統,跑著跑著,發現 CLAUDE.md 來到 1309 行。跟 CLAUDE 討論,將來要如何建立專案的架構,請 CLAUDE 提供一個模板:
此模板適用於使用 claude.ai(規劃)+ Claude Code(建置)的開發流程。 每次開新專案時,複製此模板到專案根目錄,依序執行。
版本:1.0 | 建立日期:2026-03-24
流程總覽
Stage 1:需求收集(1-2 天)
↓ 輸出:REQUIREMENTS.md
Stage 2:架構設計(1 天)
↓ 輸出:docs/ 全部文件
Stage 3:建置執行(持續)
↓ 輸出:程式碼 \+ TASK.md
Stage 4:迭代循環
↓ 回到 Stage 1 或 Stage 3
核心原則:先想完再動手。建置過程中不加新功能,記到 BACKLOG.md。
Stage 1:需求收集
地點: claude.ai(瀏覽器對話) 時間: 1-2 天 目標: 把所有想法一次聊完,產出完整需求文件
1.1 準備清單
在開始對話前,先自己想清楚:
[ ] 這個系統解決什麼問題?
[ ] 誰會使用?(角色列表)
[ ] 核心功能有哪些?(不超過 10 個)
[ ] 加值功能有哪些?(可以晚做的)
[ ] 有哪些外部系統需要整合?(金流、通知、第三方 API…)
[ ] 部署在哪裡?(本地 / 雲端 / 兩者都要)
[ ] 有沒有現成的類似產品可以參考?
[ ] 預算和時間限制?
1.2 與 Claude 討論的順序
第 1 輪:說明核心需求,讓 Claude 產出功能清單
第 2 輪:逐一討論每個功能的細節和邊界條件
第 3 輪:討論商業邏輯(定價、租戶、付費流程…)
第 4 輪:討論技術偏好和限制
第 5 輪:確認完整性 — 問 Claude「還有什麼我遺漏的?」
1.3 檢查點:需求是否完整?
[ ] 所有使用者角色都定義了
[ ] 每個功能的輸入/輸出都清楚
[ ] 邊界條件和例外處理都討論了
[ ] 第三方整合都列出來了
[ ] 不會再「想到什麼加什麼」了
1.4 輸出
請 Claude 產出:
REQUIREMENTS.md — 完整功能需求(含角色、功能、商業邏輯、整合需求)
⚠️ 直到你確認「需求完整了,不會再加」,才進入 Stage 2。
Stage 2:架構設計
地點: claude.ai(瀏覽器對話) 時間: 1 天 目標: 產出所有技術文件,拆好 Phase 和 Task
2.1 請 Claude 產出以下文件
| 順序 | 文件 | 內容 | 建議行數 |
|---|---|---|---|
| 1 | docs/ARCHITECTURE.md | 技術選型、系統架構圖、API 設計原則 | 200-300 |
| 2 | docs/DATABASE.md | 所有表定義 + 關聯 + ERD | 300-500 |
| 3 | docs/DECISIONS.md | 所有討論決策記錄(類似 Step 4 的 A~H) | 200-300 |
| 4 | docs/PHASES.md | Phase 分解 + 每個 Task 的驗收標準 | 300-400 |
| 5 | docs/API.md | API 端點規格(URL + 參數 + 回傳) | 按需求 |
| 6 | docs/其他.md | 按專案需要(I18N / 金流 / 通知 / …) | 按需求 |
2.2 建立主控檔 CLAUDE.md
# [專案名稱] — 建置指引
## 當前任務
Phase X:[名稱]
詳細 Task 列表見 → docs/PHASES.md#phase-x
## 文件索引
| 文件 | 內容 |
|——|——|
| docs/REQUIREMENTS.md | 完整需求 |
| docs/ARCHITECTURE.md | 架構 + 技術選型 |
| docs/DATABASE.md | 所有表定義 |
| docs/DECISIONS.md | 討論決策記錄 |
| docs/PHASES.md | Phase 分解 + Task |
| docs/API.md | API 端點規格 |
| TASK.md | 進度追蹤 |
| BACKLOG.md | 未來功能暫存 |
## 全局規則
– [不變的核心規則,如資料隔離、audit log、安全性…]
– [程式碼風格、命名慣例…]
– [測試要求…]
CLAUDE.md 不超過 200 行。 細節全在 docs/ 裡。
2.3 建立空的追蹤檔
TASK.md — 進度追蹤(Claude Code 建置時自動更新)
BACKLOG.md — 未來功能暫存區(建置過程中想到新功能寫這裡)
2.4 檢查點:準備好建置了嗎?
[ ] 所有 docs/ 文件都產出了
[ ] CLAUDE.md 精簡且指向正確
[ ] Phase 拆分合理(每個 Phase 有明確的 Checkpoint)
[ ] 每個 Task 有驗收標準
[ ] BACKLOG.md 已建立(空的)
[ ] 所有文件已傳到 Server
Stage 3:建置執行
地點: Server 上的 Claude Code 時間: 持續 目標: 按 Phase 逐步建置
3.1 啟動 Claude Code
ssh user@server
cd /path/to/project
claude
Claude Code 啟動後會自動讀取 CLAUDE.md。
3.2 每個 Phase 的執行流程
1. Claude Code 讀取 CLAUDE.md
2. 從 CLAUDE.md 的「當前任務」找到 Phase
3. 讀取 docs/PHASES.md 中該 Phase 的 Task 列表
4. 按需讀取其他 docs/(DATABASE.md、API.md…)
5. 逐一執行 Task
6. 每個 Task 完成後更新 TASK.md
7. Phase 完成後輸出 Task Completion Report
3.3 建置過程中的紀律
✅ 做:按 Task 順序執行
✅ 做:每個 Task 完成後更新 TASK.md
✅ 做:遇到問題回 claude.ai 討論
❌ 不做:中途加新功能 → 寫進 BACKLOG.md
❌ 不做:跳過 Task
❌ 不做:在同一個 Phase 裡改需求
3.4 Phase 之間的銜接
Phase N 完成
↓
1. Claude Code 輸出 Task Completion Report
2. 把報告貼到 claude.ai
3. 在 claude.ai 確認結果、討論問題
4. 更新 CLAUDE.md 的「當前任務」指向 Phase N+1
5. 檢查 BACKLOG.md,決定是否有功能要插入下一個 Phase
6. 回到 Claude Code 繼續
3.5 如果需要更新文件
1. 在 claude.ai 討論修改內容
2. 產出更新後的文件
3. 傳到 Server
4. 在 Claude Code 中說:「讀取更新後的 docs/XXX.md」
5. 繼續建置
Stage 4:迭代
地點: claude.ai → Server 時間: 每個 Phase 結束後 目標: 檢討、調整、規劃下一輪
4.1 Phase 完成後的檢討
[ ] 所有 Task 都 PASS 了嗎?
[ ] 有哪些 PARTIAL 需要補完?
[ ] 效能和資源使用是否正常?
[ ] 有沒有發現規格漏洞需要修正?
4.2 BACKLOG 處理
1. 檢視 BACKLOG.md 裡的項目
2. 評估每個項目的優先順序和複雜度
3. 決定哪些放入下一個 Phase
4. 更新 docs/PHASES.md
5. 更新 CLAUDE.md 的「當前任務」
4.3 文件拆分時機
當任何一份文件超過 500 行時,考慮拆分:
DATABASE.md 太長 → 拆成 DATABASE-CORE.md + DATABASE-PLATFORM.md
PHASES.md 太長 → 已完成的 Phase 移到 docs/archive/PHASE-1-3.md
API.md 太長 → 拆成 API-TENANT.md + API-PLATFORM.md
專案目錄結構模板
/project-root/
├── CLAUDE.md ← 主控檔(< 200 行)
├── TASK.md ← 進度追蹤
├── BACKLOG.md ← 未來功能暫存
├── docs/
│ ├── REQUIREMENTS.md ← 完整需求
│ ├── ARCHITECTURE.md ← 架構 + 技術選型
│ ├── DATABASE.md ← 表定義 + ERD
│ ├── DECISIONS.md ← 討論決策
│ ├── PHASES.md ← Phase + Task 定義
│ ├── API.md ← API 規格
│ └── archive/ ← 已完成 Phase 的歸檔
├── backend/
├── frontend/
├── docker-compose.yml
├── .env.example
└── README.md
給 Claude 的提示詞模板
開新專案時(Stage 1)
我要開發一個 [系統名稱]。
背景:[1-2 句說明]
使用者:[角色列表]
核心功能:[功能列表]
部署環境:[Server 資訊]
請幫我整理完整的需求,產出 REQUIREMENTS.md。
在我確認需求完整之前,不要開始任何技術設計。
進入架構設計時(Stage 2)
需求已確認完整。請根據 REQUIREMENTS.md 產出以下文件:
1. docs/ARCHITECTURE.md
2. docs/DATABASE.md
3. docs/DECISIONS.md(列出需要我確認的問題)
4. docs/PHASES.md
5. CLAUDE.md(精簡主控檔,< 200 行)
6. BACKLOG.md(空的)
每份文件獨立,不要把所有東西塞在一個檔案裡。
啟動 Claude Code 時(Stage 3)
讀取 /path/to/project/CLAUDE.md,確認當前 Phase,
然後讀取對應的 docs/ 文件,開始執行 Task。
每完成一個 Task 更新 TASK.md。
建置中想到新功能時
[不要跟 Claude Code 說]
[寫進 BACKLOG.md,等 Phase 結束後再評估]
常見錯誤 & 避免方式
| 錯誤 | 後果 | 避免方式 |
|---|---|---|
| 邊建邊加功能 | 文件膨脹、版本混亂 | 寫進 BACKLOG.md |
| 一份文件做所有事 | Claude Code 效率低 | 拆成 docs/ 多份文件 |
| 跳過需求確認 | 建到一半才發現缺功能 | Stage 1 花 1-2 天徹底聊完 |
| 不更新 TASK.md | 換 session 後不知道做到哪 | 每個 Task 完成後立即更新 |
| 在 Claude Code 裡改需求 | 規格和程式碼不同步 | 回 claude.ai 改文件再傳過去 |
| Phase 結束不檢討 | 問題累積越來越多 | 每個 Phase 完成後回 claude.ai 討論 |
| 不用 git | 改壞了沒辦法回溯 | Phase 完成後 git tag |
版本管理建議
# 每個 Phase 完成後
git add .
git commit -m “Phase 3.5 complete: Platform Admin + tenant lifecycle”
git tag phase-3.5-done
# 需要回溯時
git diff phase-3-done..phase-3.5-done
記住:最好的專案不是最快開始建的,是需求最完整的。 花 2 天想清楚,省 2 週重來。