Claude Code 開發流程

筆者使用 Claude Code 協作開發的方式

Step 1 前置作業

撰寫 CLAUDE.md

markdown
## 專案說明
 - 專案的用途、背景與目標。
## 專案結構
## 使用的技術
  - 使用的技術棧,如語言、框架、第三方套件等。
## 開發模式
  - 列點如 Service、Repository Pattern、MVC、DDD、TDD 等。
## 開發原則
  - 對話開始前,使用 /using-superpowers skills 查看有無 Skills 可以使用
  - 使用 superpowers 的 /subbagent-driven-development, /dispatching-parallel-agents skills 開發
    - Opus — (預設模型)架構設計、複雜除錯
    - Sonnet — 一般功能開發、Code Review
    - Haiku — 檔案搜尋、格式化、簡單讀寫
  - 開發前 Context7 MCP 查閱文件
  - 做新功能,使用 /feature-dev 進行開發
  - Conventional Commits message
  - 程式碼、文件是事實來源,不要憑空猜測
  - 遵照專案既有風格與目錄結構

/plugin 配置 mcp, skills, subagent

mcp

  • Figma
  • Context7
  • csharp-lsp, php-lsp : 對應語言的 code intellegence

skills, subagents

  • superpowers
  • feature-dev

這兩個 skills 都可以在 /plugin 找到,claude code 直接下載就可以。 使用 superpowers, feature-dev 等 skills 會自行安排 subagent 去做分工,也可以自己在 /.claude/subagent/ 建立 subagent。 若有自己需要的 skills 可以下載到 /.claude/skills/,或是製作符合自己開發流程的 skills

Step 2 設計、規劃階段

  1. 搭配 /brainstorming, figma mcp 確認需求撰寫 prd
  2. 切分模組,將各個模組的需求、成功標準,寫到 prd.md 檔案。
  3. 設計資料庫,撰寫 dbml 檔案,

/brainstorming (superpowers 內建 skills,會呼叫 code exploer 等 subagent),可以使用 figma mcp 對設計稿

Step 3 開發階段

1. 開啟新分支,使用 shift + tab 開啟 /plan 模式,參考 prd.md 搭配 /feature-dev skills 進行開發

/feature-dev 有七個階段,確認後才執行下一步:

  1. Discovery:釐清需求,確認要建什麼、解決什麼問題
  2. Codebase Exploration:根據 codebase 派出 2-3 個 code-explorer subagent,看程式碼架構、專案模式
  3. Clarifying Questions:列出模糊的地方,並且確認
  4. Architecture Design:使用 code-architect subagent 根據第二步 codebase 掃描,根據專案架構,設計多個實作方向
  5. Implementation:遵循專案慣例、開發程式碼
  6. Quality Review:使用 code-reviewer 啟動簡潔性、正確性、專案慣例三個 subagent 審查
  7. Summary:總結

第四步,是避免不遵循專案既有慣例以及重複造輪子的重要步驟

2. 使用內建 /simplify 做最後 review

3. 人工 code review 確認修改沒問題,進行 commit

4. 反覆 Step 2, 3

可以使用 github cli 來進行 PR 管理

常見 QA

Q1 : 怎麼避免 AI 不按照專案既有規範開發 A1 : 開發前 /plan 確認實作細節,等調整到定位,再給 agent 進行開發

Q2 : 如何避免 AI 一直犯一樣的錯誤 A2 : 只要有 AI 犯錯的地方,就在 CLAUDE.md 補上敘述。

總結

工時大部分落在

  1. AI 設定:專案內容、規則、使用工具(mcp, skills) setup
  2. 開發前:需求, case 釐清、架構、程式碼、模組規劃
  3. 開發中:確認實作方向是否符合我們的想像,以及調度 skills, subagent。
  4. 開發後:程式碼確認、手動測試

各個開發階段總結

AI 設定,確定 AI 開發流程,補齊 mcp, skills 以及寫清楚使用時機以及方式,可以確保

  1. 每個功能,開發流程一致,品質相近

開發前 /plan 模式搭配 /feature-dev skills 來進行 preview,可以擋下

  1. AI 不照專案既有規範、工具開發
  2. 確定架構、範圍、方向,避免大規模修改

開發中 /subbagent-driven-development, /dispatching-parallel-agents 啟動子代理執行計劃

  1. 不污染 context
  2. 平行子代理開發,加速程式碼撰寫

開發後 /simplify

  1. Code Reuse Review — 檢查新寫的程式碼,有沒有重複了 codebase 裡已有的 utility、helper 等等
  2. Code Quality Review — 檢查冗餘程式碼、不必要的抽象、註解
  3. Efficiency Review:檢查效能