用 Claude Code 從零建立最小可行 Harness,打造 Web To-Do List 應用程式

在 AI Coding 時代,Prompt Engineering 已經不夠用了。真正的進階技能是 Harness Engineering:為 AI Coding Agent 打造一套完整的規則系統,讓 Claude、Cursor 等 AI 能夠可靠、自主地開發、測試、修正並長期維護專案

什麼是 Harness Engineering?
Harness Engineering 就是設計一套「韁繩」,讓 AI 不會亂跑、能自我驗證、遵守標準,並從完全空白的資料夾開始,自主產生高品質的完整專案。它包含專案憲法、自動化驗證迴圈、任務管理機制與品質閘道,是 2026 年最重要的新世代 AI 工程技能。

這篇文章將手把手帶你使用 Claude Code,從零開始建立最小可行 Harness(Minimal Viable Harness),並以一個現代化的 Web 版 To-Do List 應用程式 作為實際練習專案。

所有 Prompt 和指令皆可直接複製使用,適合初學者。完成後,你將擁有一套能讓 Claude 穩定自主開發的完整 Harness。

為什麼用 Web To-Do List 專案來練習?

To-Do List 是最經典的練習專案:

  • 包含前端介面、狀態管理、CRUD 操作
  • 使用 localStorage 持久化資料(無需後端)
  • 容易測試功能(新增、編輯、刪除、標記完成、篩選)
  • 能完整驗證 Harness 的「寫 → 測 → 修」閉環

技術棧:Next.js 15 App Router + TypeScript + Tailwind CSS + localStorage

準備工作(3 分鐘)

這個步驟的目的:建立一個乾淨的起點,讓整個專案從第一行程式碼開始都由 Claude 產生。

對 Harness 的效果:確保「單一真相來源」,培養 AI 的完整自主性。

執行指令(直接複製):
“`bash
mkdir todo-list-harness
cd todo-list-harness


步驟 1:建立核心 Harness 文件 —— CLAUDE.md(最重要的一步)

這個步驟在做什麼? 讓 Claude 產生一份專案「憲法」檔案,定義所有規則、結構與行為準則。

對 Harness 達成的效果:這是整個系統的最高準則,讓 AI 在不同對話中都能保持一致性與紀律,是 Harness Engineering 最核心的「韁繩」。

直接複製以下 Prompt 貼給 Claude:

你現在是我的 Harness Engineering 專家。我們要從完全空白的資料夾開始,建立最小可行的 harness,讓你(Claude)可以可靠地自主開發一個 Web To-Do List 應用程式。
專案目標:使用 Next.js 15 App Router + TypeScript + Tailwind CSS + localStorage 打造一個現代化的 Web To-Do List,功能包含:
- 新增、編輯、刪除 To-Do 項目
- 標記完成/未完成
- 篩選(全部 / 進行中 / 已完成)
- 響應式設計(手機、平板、桌面皆可使用)
第一步:請在根目錄建立一個名為 `CLAUDE.md` 的檔案,內容必須包含以下 8 個章節(全部用繁體中文撰寫,並且極度明確、嚴格、可執行):
1. **Project Overview**(專案總覽、目標、技術棧)
2. **Repository Structure**(推薦的完整資料夾結構)
3. **Coding Standards & Naming Conventions**(TypeScript、Tailwind、Component、檔案命名規則)
4. **Quality Gates**(lint、type check、test、build 必須 100% 通過)
5. **Testing Strategy**(unit test + integration test + 基本 smoke test)
6. **Agent Workflow Rules**(每次修改 code 後的「寫 code 測試 bug」閉環規則)
7. **Forbidden Actions**(禁止直接修改 production config、禁止執行破壞性指令、禁止忽略錯誤等)
8. **How to Ask for Help / When to Stop**(什麼情況要找我人類審核、何時停止)
這個 CLAUDE.md 是之後所有互動的最高準則,請現在就產生完整檔案內容

步驟 2:產生完整的專案 Scaffold(初始骨架)

這個步驟在做什麼? 讓 Claude 根據 CLAUDE.md 自動產生整個專案的檔案結構與可立即執行的程式碼。

對 Harness 達成的效果:建立可運作的基礎骨架,讓後續開發只需「迭代」而非從零開始。

直接複製以下 Prompt 貼給 Claude:

根據我們剛建立的 CLAUDE.md,請現在為這個 Web To-Do List 專案產生完整的初始 Scaffold(骨架)。
要求:
- 使用 Next.js 15 App Router + TypeScript + Tailwind CSS
- 產生完整的資料夾結構(app/、components/、lib/ 等)
- 產生所有必要設定檔(next.config.mjs、tailwind.config.ts、tsconfig.json、eslint.config.js、postcss.config.js 等)
- 產生 .gitignore、README.md
- 產生一個可立即執行的 To-Do List 原型(包含基本 CRUD,使用 localStorage 儲存資料)
- 產生 vitest 測試框架設定(包含至少一個範例 test)
請一次產生所有檔案,並在最後告訴我:
1. 執行 `npm install` 的指令
2. 執行 `npm run dev` 後的預期結果(網址與畫面描述)

執行指令(直接複製):

npm install
npm run dev

開啟瀏覽器輸入 http://localhost:3000,確認 To-Do List 介面正常顯示。


步驟 3:建立自動化 Feedback Loop(寫-測-修閉環)

這個步驟在做什麼? 建立自動檢查機制,讓 AI 每次修改程式碼後都能自行驗證品質。

對 Harness 達成的效果:打造「自我修正」能力,這是讓 AI 能可靠長期開發的關鍵閉環。

直接複製以下 Prompt 貼給 Claude:

現在幫我建立最小可行的 feedback loop harness。
請執行以下兩件事:
1. 修改 package.json,新增以下 scripts:
- "lint": "eslint . --ext .ts,.tsx"
- "type-check": "tsc --noEmit"
- "test": "vitest run"
- "build": "next build"
- "harness-verify": "npm run lint && npm run type-check && npm run test && npm run build && echo '✅ Harness Verify PASS'"
2. CLAUDE.md 中新增「Feedback Loop Protocol」章節,內容包含:
- 每次修改 code 後的標準流程(寫 code 執行 harness-verify 若失敗則自動修復)
- 失敗時的重試規則(最多 retry 3 次)
- 什麼情況必須停止並來找我人類審核
請產生修改後的完整 package.json 內容與 CLAUDE.md 更新後的章節。

步驟 4:建立 Task Management 系統(長期記憶機制)

這個步驟在做什麼? 建立 docs/ 資料夾,讓 AI 擁有任務追蹤與長期記憶能力。

對 Harness 達成的效果:讓 AI 跨多次對話也能接續工作,不會遺忘先前決定。

直接複製以下 Prompt 貼給 Claude:

請在專案內建立 docs/ 資料夾,並在裡面產生以下三個檔案:
1. `docs/execution-plan.md`(記錄所有任務、進度、目前狀態)
2. `docs/architecture-decisions.md`(ADR - 架構決策記錄)
3. `docs/quality-gates.md`(品質閘道詳細說明)
同時更新 CLAUDE.md,新增規定:
「以後所有新功能都要先更新 execution-plan.md 再開始寫 code。」
請產生這三個檔案的完整內容,並更新 CLAUDE.md。

步驟 5:第一次完整驗證 Harness

這個步驟在做什麼? 讓 Claude 執行完整流程,新增新功能並通過所有檢查。

對 Harness 達成的效果:真正驗證整套 Harness 是否能正常運作。

直接複製以下 Prompt 貼給 Claude:

我們的 Minimal Viable Harness 已全部建立完成。
請嚴格遵守 CLAUDE.md 的所有規則,執行以下完整流程:
1. 執行 `npm run harness-verify` 並給出完整輸出
2. 如果全部通過,請新增一個新功能:「支援拖曳排序 To-Do 項目」(使用 @dnd-kit/core 與 @dnd-kit/sortable)
- 先更新 docs/execution-plan.md
- 然後實作功能
- 最後再次執行 `npm run harness-verify`
全程必須在每個步驟結束後詳細告訴我結果。如果任何檢查失敗,請自動修復直到通過為止。

當看到 ✅ Harness Verify PASS 時,恭喜你!最小可行 Harness 已成功建立。

發表迴響

探索更多來自 轉念學 - 敏捷三叔公的學習之旅 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading