完整學習指南 · 2026

歡迎來到 Claude Code 學習中心

從零開始,循序漸進掌握 Anthropic 出品的終端機 AI 程式設計助手 — 從安裝、指令、Python 開發、Git 協作,一路到多代理進階應用。

什麼是 Claude Code?

Claude Code 是 Anthropic 推出的命令列 AI 編程助手。它直接在你的終端機(Terminal / PowerShell)中執行,能夠:

📖

讀懂整個專案

自動探索專案結構,理解程式碼之間的關聯與依賴。

✏️

編輯多個檔案

跨檔案重構、新增功能、修復 bug 都能一次完成。

執行終端指令

跑測試、安裝套件、執行腳本,全程不離開對話。

🌿

管理 Git 與 GitHub

提交、推送、建立 PR、處理 Issue 都能交給它。

🤖

多代理協作

派出子代理同時處理多個獨立任務,加速大型工作。

🔌

連接外部工具

透過 MCP 連接資料庫、API、設計工具、雲端服務。

為什麼選擇 Claude Code?

相較於其他 AI 編程工具,Claude Code 有幾個獨特之處:

  • 在你最熟悉的環境中工作:不需切換到 IDE 外掛或瀏覽器分頁,就在你每天使用的終端機中。
  • 真正理解大型程式碼庫:Claude 模型在處理上萬行程式碼的跨檔案邏輯上表現特別出色。
  • 高度可擴展:透過 Sub-agents、Hooks、Skills、MCP,可以打造完全客製化的開發助手。
💡 適合誰學?

本指南適合所有 Python 工程師、Web 開發者、DevOps、資料科學家,以及想要學會用 AI 加速開發的任何人。完全沒接觸過終端機也沒關係,安裝章節會手把手帶你完成。

如何使用本網站

左側導覽列分為七大區塊,建議按照順序學習:

  1. 入門:了解 Claude Code 的定位與優勢
  2. 安裝與設定:手把手完成 Windows / Mac 的安裝
  3. 常用指令:依分類學習所有核心指令
  4. Python 開發:建立第一個 Claude Code 加持的 Python 專案
  5. Git & GitHub:用 Claude Code 取代繁瑣的版本控制操作
  6. 規格驅動開發:學會用文件先行的方式產出高品質程式
  7. 進階應用:解鎖子代理、MCP、Hooks 等強力工具
🎯 學習小撇步

每段程式碼右上角都有「複製」按鈕,可一鍵貼到終端機執行。遇到不懂的指令,直接在 Claude Code 中輸入 /help 就能查看完整說明。

Claude Code 與其他工具比較

了解 Claude Code 在 AI 編程工具生態中的定位,幫你判斷它是不是你需要的工具。

主流 AI 編程工具一覽

Claude Code

類型:終端機 AI 代理

  • 跨檔案重構強
  • 支援多代理協作
  • MCP 擴充生態
  • Headless 自動化

Cursor

類型:AI 優先 IDE

  • 內建 AI 的 VSCode fork
  • 視覺化編輯體驗
  • 多模型切換
  • 適合 IDE 重度使用者

GitHub Copilot

類型:IDE 補全外掛

  • 即時程式碼補全
  • 整合 VSCode、JetBrains
  • Chat 模式可對話
  • 適合補全為主的工作

Cline / Aider

類型:開源 AI 代理

  • 可自選模型(含本地)
  • Aider 主打 Git 整合
  • Cline 在 VSCode 中執行
  • 適合進階使用者客製

適用情境快速判斷

你的需求 推薦工具 原因
跨多檔案的重構、新功能開發 Claude Code 對大型程式碼庫理解與規劃能力最強
視覺化編輯體驗、UI 工作流 Cursor IDE 原生體驗 + AI 整合
快速程式碼補全 GitHub Copilot 低延遲行內建議
自動化、CI/CD、批次任務 Claude Code Headless 模式 + Sub-agents 支援
與 Git/GitHub 深度整合 Claude Code 或 Aider 原生 Git 操作支援
使用本地或開源模型 Aider / Cline 支援 Ollama、Llama 等

Claude Code 的獨特優勢

1. Terminal-First 設計哲學

不是另一個 IDE 外掛,而是把 AI 變成你的終端機夥伴。對於習慣 vim、emacs、tmux 工作流的工程師特別友好。

2. 強大的代理架構

支援同時派出多個子代理處理不同任務(例如:一個做測試、一個做文件、一個做重構),主代理協調整合結果。

3. 可深度客製

透過 CLAUDE.md、Hooks、Skills、MCP 四大機制,可以把 Claude Code 打造成完全符合團隊習慣與專案需求的助手。

4. 訂閱方案彈性

Pro ($20/月) 已足夠個人開發者使用;Max 方案則提供更高的速率限制,適合重度使用或團隊。也可直接用 API Key 計費。

💡 我可以同時用多個工具嗎?

當然可以!很多開發者會在 IDE 中用 Cursor 或 Copilot 做日常編輯,用 Claude Code 做大型重構、文件撰寫、自動化任務。三者並不衝突。

⚔️ CLI 三巨頭深度對照

Claude Code vs Codex CLI vs Antigravity CLI — 2026 年三大模型廠商的旗艦 CLI 編程代理完整比較。

2026/5 最新規格 · 完整對照

三大廠商正面對決

Anthropic、OpenAI、Google 在 2026 都已推出自家旗艦 CLI 編程代理。本頁深入對照三者的模型、安裝、客製化、訂閱、適用情境,幫你做出明智選擇。

🏁 一張圖看懂三巨頭

🟧 Claude Code

Anthropic 出品

  • 模型:Claude Opus 4.7
  • 速度:~80 tok/s
  • SWE-Bench:業界第一
  • 強項:複雜推理、長 context
  • 客製化:四大機制最豐富
  • 社群:plugins 生態最熱

🟢 Codex CLI

OpenAI 出品

  • 模型:GPT-5.5(2026/4)
  • 速度:~120 tok/s
  • Terminal-Bench 2.0:82.7%
  • 強項:Goal mode、Appshots
  • 客製化:AGENTS.md
  • 整合:ChatGPT 訂閱共用

🔵 Antigravity CLI

Google 出品

  • 模型:Gemini 3.5 Flash
  • 速度:289 tok/s(最快)
  • 架構:Desktop+CLI+SDK 三件套
  • 強項:多代理平行、語音
  • 客製化:.antigravity.yaml + SDK
  • 替代:取代 Gemini CLI

📊 完整規格對照表

項目 Claude Code Codex CLI Antigravity CLI
廠商AnthropicOpenAIGoogle
最新模型Claude Opus 4.7GPT-5.5Gemini 3.5 Flash
模型發佈2026/32026/4/232026/5/19
輸出速度~80 tok/s~120 tok/s289 tok/s
SWE-Bench Verified業界第一
Terminal-Bench 2.082.7%54.2%
長 context 推理最佳
多代理Sub-agents(循序)循序處理原生平行
沙箱本地 / 容器容器Google 託管 Linux
桌面 App✅ Codex App✅ Antigravity IDE
IDE 擴充VSCode、JetBrainsVSCode 擴充相容
SDKAPI 可用API 可用原生 SDK(Py/TS/Go)
語音命令✅ 原生
瀏覽器整合MCP 連接選用內建 Chrome 擴充
行動裝置✅ Codex Mobile

🛠️ 安裝指令對照

macOS / Linux

Terminal
# 🟧 Claude Code
curl -fsSL https://claude.ai/install.sh | bash

# 🟢 Codex CLI
npm install -g @openai/codex
# 或 brew install codex

# 🔵 Antigravity CLI
brew install google/antigravity/antigravity
# 或 curl -fsSL https://antigravity.dev/install.sh | bash

Windows

PowerShell
# 🟧 Claude Code
winget install Anthropic.ClaudeCode

# 🟢 Codex CLI
winget install OpenAI.Codex

# 🔵 Antigravity CLI
winget install Google.Antigravity

啟動指令

Terminal
claude                 # 🟧 互動模式
codex                  # 🟢 互動模式
antigravity            # 🔵 互動模式

# 認證(首次使用)
claude /login
codex login
antigravity auth login

💰 訂閱方案對照

方案Claude CodeCodex CLIAntigravity CLI
基礎方案 Pro $20/月 ChatGPT Plus $20/月 Google AI Pro $20/月
進階方案 Max $100/月 Pro $200/月 Ultra $100/月(5x)
頂級方案 Team / Enterprise Business / Enterprise Ultra+ $200/月(20x)
API 計費 ✅ Anthropic Console ✅ OpenAI API ✅ Gemini API
計費方式 固定速率限制 每日/週訊息額度 Compute-based
每 5 小時 refresh

🎨 客製化機制對照

專案級設定檔

工具設定檔名稱位置
Claude CodeCLAUDE.md專案根 / ~/.claude/
Codex CLIAGENTS.md專案根
Antigravity CLI.antigravity.yaml專案根

客製化能力

🟧 Claude Code

最豐富的客製化生態

  • CLAUDE.md:三層記憶
  • Sub-agents:專業角色
  • Hooks:事件自動化
  • Skills:可重用工作流
  • MCP:外部整合

🟢 Codex CLI

統一規格,簡潔聚焦

  • AGENTS.md:專案規範
  • Goal Mode:長時間目標
  • Appshots:截圖整合
  • MCP:可使用 MCP server
  • 跨介面同步:CLI/IDE/Web/Mobile

🔵 Antigravity CLI

SDK 賦能、可程式化

  • .antigravity.yaml:專案設定
  • SDK:Python/TS/Go
  • 多代理 API
  • Subagents:平行任務
  • SKILL.md:跨工具相容

🚀 多代理能力對照

🟧 Claude Code:Sub-agents 採循序執行,主代理派工 → 子代理完成 → 回報。客製化最深,可定義專屬角色、Skills、Hooks。
🟢 Codex CLI:循序執行,但 Goal Mode 可連續幾小時甚至幾天不間斷工作,類似 long-running agent。
🔵 Antigravity CLI:原生平行。Manager Agent 拆解任務,多個 specialized agents 同時工作,大幅縮短複雜任務時間。

🎯 適用情境推薦

你的需求推薦工具原因
跨多檔案的複雜重構🟧 Claude CodeSWE-Bench 第一,長 context 理解最強
需要極速輸出🔵 Antigravity CLI289 tok/s,3.5 倍速度優勢
需要平行處理多任務🔵 Antigravity CLI原生多代理平行架構
已訂閱 ChatGPT🟢 Codex CLI共用既有訂閱額度
需要長時間自動執行🟢 Codex CLIGoal Mode 可連續執行數小時/天
需要在手機上 review code🟢 Codex CLI有 Codex Mobile app
需要視覺化 IDE 體驗🔵 Antigravity有官方 Desktop IDE
需要可程式化 SDK🔵 Antigravity CLIPython/TS/Go 原生 SDK
豐富的社群擴充🟧 Claude Codeoh-my-claudecode、gstack、Superpowers 等
需要語音命令🔵 Antigravity CLI2026/5 原生支援
Google Cloud 深度整合🔵 Antigravity CLI原生整合 AI Studio、Firebase
Microsoft / Azure 環境🟢 Codex CLI透過 ChatGPT/Azure OpenAI

🔀 跨工具搭配建議

頂尖開發者組合 1:品質優先派

主力 Claude Code,搭配 Codex CLI 做「第二意見」review。複雜重構靠 Claude,做完讓 Codex 做獨立 review 找盲點。

範例
# Claude 做主力重構
claude "refactor the auth module to use JWT"

# Codex 做獨立 review
codex "review the recent changes for security issues"

頂尖開發者組合 2:速度優先派

主力 Antigravity CLI(快),搭配 Claude Code 做難題求解。一般任務用快的,卡關時讓 Claude 想清楚。

頂尖開發者組合 3:三王並用

oh-my-claudecode/ccg 指令同時呼叫三個模型給意見,取最優方案。適合架構決策、難題分析。

Claude Code(已裝 OMC)
/ccg "我們的資料庫應該選 PostgreSQL 還是 MongoDB?"
# 同時取得 Claude、Codex、Gemini 三方意見

📦 從別的工具遷移

從 Gemini CLI → Antigravity CLI

Gemini CLI 已退役(2026 Q3),官方提供一鍵遷移:

Terminal
antigravity migrate --from-gemini-cli

從 Codex CLI 舊版 → 新版

升級到支援 GPT-5.5 的最新版:

Terminal
npm install -g @openai/codex@latest

從 Claude Code 舊版 → 新版

Terminal
claude --update
# 或重新跑安裝指令

📈 速度與品質的取捨

速度排名:Antigravity(289) > Codex(120) > Claude(80) tok/s
🎯 品質排名(SWE-Bench 等複雜推理):Claude > Codex ≈ Antigravity
🛠️ 客製化排名:Claude(四大機制) > Antigravity(SDK) > Codex(AGENTS.md)
💰 性價比(每月 $20 入門):三者打平,各有優劣勢
🌐 生態系:Claude(社群擴充最多) ≈ Codex(整合最廣) > Antigravity(新興中)

🤔 我該選哪一個?

🟧 選 Claude Code 如果你
  • 重視程式碼品質勝於速度
  • 常做大型重構、跨檔案邏輯
  • 想要最豐富的客製化與社群擴充
  • 偏好 terminal-first 工作流
  • 需要 SWE-Bench 業界第一的編程能力
🟢 選 Codex CLI 如果你
  • 已經有 ChatGPT 訂閱想善用
  • 需要跨 CLI / IDE / Web / Mobile 無縫切換
  • 常做 Goal mode 長時間自動執行
  • 使用 macOS 想用 Appshots 截圖整合
  • 在 Microsoft / Azure 生態系工作
🔵 選 Antigravity CLI 如果你
  • 速度與多代理平行是首要考量
  • 需要 SDK 把 agent 嵌入產品
  • 已使用 Google Cloud / AI Studio / Firebase
  • 想要 Desktop App + CLI + SDK 三件套
  • 從 Gemini CLI 升級而來
💡 結論:沒有最好,只有最適合

2026 年的頂尖開發者很少只用一個工具。常見組合是:Claude Code 做複雜思考、Antigravity 做高速執行、Codex 做跨平台同步。三個都 $20/月入門,加起來 $60/月就能擁有三個世界級的 AI 編程夥伴。本指南的主軸是 Claude Code,但學會它的核心觀念後,其他兩個也能快速上手。

安裝 Claude Code

2026 年最新的官方推薦方式:使用原生安裝器(Native Installer),無需 Node.js、自動更新。

📋 開始之前你需要準備
  • 一個終端機(Windows 是 PowerShell、Mac 是 Terminal)
  • 網路連線(Claude Code 是即時呼叫雲端 API)
  • 付費的 Claude 帳號(Pro $20/月、Max、Team、Enterprise,或 Anthropic Console API Key)
  • 免費版的 Claude.ai 帳號 無法使用 Claude Code

選擇你的作業系統

打開「終端機」

按下 + Space 打開 Spotlight,輸入 terminal 並按 Enter。

這就是你接下來要互動的環境,所有指令都會在這裡執行。

使用原生安裝器(推薦方式)

複製下方指令貼到終端機並按 Enter:

Terminal
curl -fsSL https://claude.ai/install.sh | bash

安裝器會自動下載並安裝 Claude Code 到 ~/.local/bin,無需 Node.js,會自動更新。

替代方案:用 Homebrew 安裝

如果你已經用 Homebrew 管理所有套件,可以這樣裝:

Terminal
# 穩定版(推薦)
brew install claude-code

# 最新版(搶先體驗)
brew install claude-code@latest
⚠️ 注意

Homebrew 安裝不會自動更新,需要定期執行 brew upgrade claude-code

驗證安裝成功

關掉終端機再重開(或執行 source ~/.zshrc),然後輸入:

Terminal
claude --version

應該會顯示版本號(例如 2.x.x)。若顯示「command not found」請翻到「故障排除」章節。

打開 PowerShell

按下鍵盤左下角的 Windows 鍵,直接輸入 powershell,點選「Windows PowerShell」開啟。

PowerShell 就是 Windows 版的終端機,所有指令在這裡執行。

使用原生安裝器(推薦方式)

複製下方指令貼到 PowerShell 並按 Enter:

PowerShell
irm https://claude.ai/install.ps1 | iex

irmInvoke-RestMethod 的縮寫,iexInvoke-Expression。整段意思是「下載安裝腳本並執行」。

安裝完成後,設定 PATH 系統環境變數,讓系統能找到 claude.exe 的位置。複製下方指令貼到 PowerShell 並按 Enter:

PowerShell
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

這段指令會把 %USERPROFILE%\.local\bin(原生安裝器把 claude.exe 放在這裡)加進使用者層級的 PATH。執行後請關閉並重新打開 PowerShell讓設定生效。

替代方案:用 WinGet 安裝

WinGet 是 Windows 內建的套件管理器。許多使用者反映 WinGet 安裝最穩定:

PowerShell
winget install Anthropic.ClaudeCode

另一個替代:WSL(適合進階使用者)

如果你習慣 Linux 環境,可以先裝 WSL2 再用 Linux 方式安裝:

PowerShell(系統管理員)
wsl --install -d Ubuntu

裝完後重啟,進入 Ubuntu 再用 Linux 安裝指令。

驗證安裝成功

關掉 PowerShell 再重開,輸入:

PowerShell
claude --version

應該會顯示版本號。若失敗,請翻到「故障排除」章節。

💡 推薦同時安裝 Git for Windows 和 Node.js

Claude Code 在 Windows 上需要 Git 來支援版本控制操作,請至 git-scm.com 下載安裝。同時建議安裝 Node.js,部分擴充與工具會用到,請至 nodejs.org/zh-tw/download 下載安裝。

原生安裝器(所有發行版通用)

Bash
curl -fsSL https://claude.ai/install.sh | bash

套件管理器安裝

各發行版的原生套件:

Debian / Ubuntu

Bash
sudo apt update
sudo apt install claude-code

Fedora / RHEL

Bash
sudo dnf install claude-code

Alpine

Bash
apk add claude-code

驗證安裝

Bash
claude --version
claude doctor   # 檢查環境是否正確
✅ 安裝成功了!下一步

接著到「設定 cc 捷徑」章節,幫 claude 取個短綽號,每次少打四個字。

設定 cc 一鍵捷徑

每次要叫 Claude Code 都打 claude 有點長,幫它取個綽號叫 cc,之後只要兩個字母就能啟動。這在技術上叫做 alias(別名)

確認你用的是哪個 Shell

Mac 預設 Shell 是 Zsh。執行以下指令確認:

Terminal
echo $SHELL

如果顯示 /bin/zsh → 用 .zshrc;如果是 /bin/bash → 用 .bashrc.bash_profile

加入 alias 到設定檔

用以下指令一次完成(Zsh 用戶):

Terminal
echo 'alias cc="claude"' >> ~/.zshrc

Bash 用戶請把 .zshrc 改成 .bashrc

讓設定立即生效

Terminal
source ~/.zshrc

或是關掉終端機再重開,效果一樣。

測試 cc 是否能用

Terminal
cc --version

有顯示版本號就成功了!🎉

找到你的 PowerShell Profile

在 PowerShell 執行:

PowerShell
echo $PROFILE

會顯示一個路徑,類似:C:\Users\你的名字\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

若 Profile 不存在就建立它

PowerShell
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }

加入 cc 別名

PowerShell
Add-Content $PROFILE 'Set-Alias cc claude'

允許執行 Profile(首次設定)

PowerShell 預設不允許執行腳本,需要放寬權限:

PowerShell(系統管理員)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

讓設定生效並測試

PowerShell
. $PROFILE          # 重新載入 profile
cc --version     # 測試

看到版本號就成功了!🎉

💡 想取其他名字?

把上面的 cc 換成任何你喜歡的,例如 aicodeq。注意不要跟現有指令重複。

首次啟動 Claude Code

安裝完成、別名設好了,現在來啟動 Claude Code 並完成登入。

進入你的專案資料夾

Claude Code 會以「目前資料夾」為工作目錄。先 cd 到你的專案目錄:

Terminal
cd ~/projects/my-app

# 或建立新專案資料夾
mkdir hello-claude
cd hello-claude

啟動 Claude Code

Terminal
cc   # 或 claude(如果沒設別名)

首次啟動會跳出登入流程。

選擇登入方式

Claude Code 提供三種驗證方式:

  • Claude 訂閱方案登入(推薦):用 Pro / Max / Team 帳號登入,會跳到瀏覽器完成 OAuth
  • Anthropic Console API Key:用 API Key 計費,適合企業或大量呼叫
  • 雲端供應商:AWS Bedrock、Google Vertex AI、Azure Foundry

選第一個,瀏覽器會自動打開讓你授權。

看到提示符號就成功了

Claude Code
╭─────────────────────────────────────╮
│  ✻ Welcome to Claude Code           │
│                                     │
│  /help for help, /status for status │
╰─────────────────────────────────────╯

> _

看到 > 符號就表示 Claude 在等你輸入指令了!

跟 Claude 說第一句話

試著輸入:

Claude Code
幫我建立一個 hello.py,印出 "Hello, Claude Code!"

Claude 會建立檔案、寫入內容,並詢問你是否要執行它。恭喜,你正式踏出第一步了!🎉

啟動模式選項

指令用途
cc互動模式(最常用)
cc "幫我修這個 bug"單句任務後直接結束
cc --continue接續上次對話
cc --resume選擇要恢復的歷史對話
cc --model opus指定使用 Opus 模型

安裝故障排除

遇到問題不要慌!這裡整理了最常見的安裝錯誤與解決方案。

❌ command not found: claude

原因:Shell 還沒讀到新的 PATH 設定。

解法

  1. 關掉終端機完全重新開啟
  2. 或手動執行 source ~/.zshrc(Mac)/ . $PROFILE(Windows)
  3. 檢查 PATH:echo $PATH 應該包含 ~/.local/bin
Terminal
# 手動加入 PATH(Mac/Linux)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
🪟 Windows:原生安裝器沒有任何反應

原因:某些 Windows 環境下原生安裝器會靜默失敗。

解法:改用 WinGet:

PowerShell
winget install Anthropic.ClaudeCode

WinGet 會有清楚的進度條與成功訊息。

🔐 PowerShell 無法執行 Profile 腳本

原因:PowerShell 預設執行原則不允許腳本。

解法:以系統管理員身分執行:

PowerShell(管理員)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
🚫 登入時瀏覽器沒有自動打開

解法:Claude Code 會顯示一個 URL,手動複製到瀏覽器即可。登入完成後它會自動偵測到。如果還是失敗,可以改用 API Key:

Terminal
export ANTHROPIC_API_KEY="sk-ant-..."
cc
⚠️ 注意計費差異

使用 ANTHROPIC_API_KEY 會走 API 計費,不是訂閱方案的額度。若想用訂閱請先 unset ANTHROPIC_API_KEY

🐢 安裝下載速度很慢

解法

  • 檢查網路是否穩定,必要時開啟 VPN
  • 若你在中國大陸地區,需要 VPN 才能順利存取 Anthropic 服務
  • 改用 Homebrew 或 WinGet 鏡像
🔧 萬用診斷指令

Claude Code 內建診斷工具,能自動檢測環境問題:

Terminal
claude doctor

它會檢查 PATH、Node 版本(如有用到)、權限、網路、API 連線等,並給出修復建議。

基礎指令

最常用、最基本的指令,從這裡開始熟悉 Claude Code 的對話介面。

會話控制

/help
顯示所有可用指令的清單
/clear
清除目前對話,重新開始
/compact
壓縮對話歷史,釋放 context
/exit
離開 Claude Code
/login
登入或切換帳號
/logout
登出目前帳號
/status
顯示帳號、模型、使用量
/doctor
診斷環境問題

詳細用法

/help — 你的萬用查詢

不確定有什麼指令?打 /help 就對了。Claude 會列出所有指令及說明。

Claude Code
> /help

Available commands:
  /help        Show this help message
  /clear       Clear conversation history
  /compact     Compact conversation to save tokens
  /model       Change AI model
  /agents      Manage sub-agents
  ...

/clear — 完全重置

當你想開始一個全新主題時使用。所有對話歷史會被清除,但專案檔案不會受影響。

⚠️ 何時不要用 /clear

如果只是 context 太長但還想保留邏輯,請用 /compact,它會總結後保留重點。

/compact — 聰明地節省 token

當對話累積很長後,Claude 會請你 /compact。它會:

  • 把過往對話總結成精簡的記錄
  • 保留關鍵決策、檔案修改、進行中的任務
  • 清掉重複內容與已完成的細節
Claude Code
# 一般 compact
> /compact

# 帶上指示,告訴 Claude 該保留什麼
> /compact 請特別保留資料庫 schema 設計和 API 路由規劃

/status — 看看你用了多少

顯示目前狀態:

  • 登入帳號
  • 使用的模型
  • 本次對話 token 使用量
  • 訂閱方案剩餘額度
  • 專案根目錄

模型與設定指令

控制 Claude 使用哪個模型、調整權限、查看花費。

模型管理

/model — 切換模型

Claude Code 支援多個模型,可依需求切換:

Claude Code
> /model

選擇模型:
  > opus     - 最強推理能力,適合複雜任務(耗 token 多)
    sonnet   - 平衡選擇,日常開發推薦
    haiku    - 最快最便宜,適合簡單任務
模型強項適用情境
Opus 4.7最強推理、跨檔案理解架構設計、複雜重構、Debug 難題
Sonnet 4.6速度與品質平衡日常開發、寫測試、文件
Haiku 4.5速度最快、成本最低簡單編輯、批次重命名、格式化

設定與權限

/config — 開啟設定面板

調整 Claude Code 的各種行為:

Claude Code
> /config

設定項目:
  - 預設模型
  - 通知偏好
  - 自動 commit 行為
  - 編輯器整合(VSCode、Cursor)
  - 主題(淺色 / 深色)
  - 語言偏好

/permissions — 管理工具權限

控制 Claude 能執行哪些動作。第一次跑某些指令時 Claude 會詢問權限,這裡可統一管理:

Claude Code
> /permissions

允許清單(不再詢問):
  ✓ Edit files
  ✓ Run: npm test
  ✓ Run: git commit
  
拒絕清單:
  ✗ Run: rm -rf
  ✗ Run: sudo *
💡 加快開發速度的技巧

把常用且安全的指令加入允許清單,例如 pytestgit statusnpm run dev,避免每次都要按 yes。

/cost — 查看 token 消耗

看看你這次對話花了多少:

Claude Code
> /cost

本次對話:
  Input tokens:  45,231
  Output tokens: 8,452
  Estimated cost: $0.42
  訂閱方案使用率: 12%

輸出與顯示

/output-style — 輸出風格

調整 Claude 回應的詳細程度:

  • default:標準對話模式
  • concise:簡潔,只給結論
  • explain:詳細解釋每一步

/theme — 切換主題

支援淺色與深色主題:

Claude Code
> /theme dark
> /theme light

檔案與專案指令

告訴 Claude 你的專案結構、引用檔案、管理記憶。

初始化專案

/init — 自動分析專案並生成 CLAUDE.md

第一次在新專案使用 Claude Code,先跑這個:

Claude Code
> /init

Claude 會:
  1. 掃描專案結構
  2. 識別語言、框架、套件管理工具
  3. 找出主要目錄與檔案
  4. 生成 CLAUDE.md(專案指南)
  5. 建議常用指令(測試、建構、執行)

檔案引用

@ 符號 — 直接引用檔案

在訊息中輸入 @ 會彈出檔案選擇器:

Claude Code
> 幫我重構 @src/utils/api.py,把所有 sync 函式改成 async

> 比較 @models/user.py 和 @models/admin.py 的差異

/add-dir — 加入額外的工作目錄

預設 Claude 只能存取目前資料夾。如要存取其他目錄:

Claude Code
> /add-dir ~/projects/shared-lib

✓ 已加入 ~/projects/shared-lib,現在可以引用此目錄的檔案

記憶管理

/memory — 編輯 CLAUDE.md 與全域記憶

查看與編輯 Claude 的記憶層次:

Claude Code
> /memory

記憶層次:
  1. 全域:~/.claude/CLAUDE.md       (所有專案共用)
  2. 專案:./CLAUDE.md               (此專案的指引)
  3. 子目錄:./src/CLAUDE.md          (特定目錄的細節)

# 開頭 — 即時加入記憶

在對話中以 # 開頭的訊息,會被永久寫入 CLAUDE.md:

Claude Code
> # 這個專案的所有 API 路由前綴都是 /api/v2

> # 測試用 pytest,覆蓋率目標 90%

> # 不要修改 legacy/ 資料夾的程式碼

下次對話 Claude 會自動記得這些規則。

對話管理

/continue
接續最近一次對話
/resume
從歷史對話列表挑一個恢復
/export
匯出對話為 Markdown
/share
生成可分享的對話連結

代理與擴充指令

管理子代理、MCP 伺服器、Hooks、Skills 等進階擴充機制。

Sub-agents 子代理

/agents — 子代理管理

建立、查看、編輯專屬的子代理:

Claude Code
> /agents

選項:
  1. 建立新代理(互動精靈)
  2. 編輯現有代理
  3. 列出所有代理
  4. 刪除代理
  5. 切換代理(針對當前對話)

建立代理時要設定:

  • 名稱:例如 code-reviewertest-writer
  • 觸發條件:什麼任務該派給這個代理
  • 系統提示:定義它的專業角色與行為規範
  • 可用工具:限制它能讀寫哪些檔案、執行哪些指令

MCP 伺服器

/mcp — 管理 MCP 連線

MCP (Model Context Protocol) 讓 Claude 能連接外部服務(資料庫、API、Figma、Notion 等):

Claude Code
> /mcp

已連線的 MCP servers:
  ✓ github      (issues, PRs, repos)
  ✓ postgres    (查詢、執行 SQL)
  ○ figma       (未連線)
  
選項:
  - add        新增 server
  - remove     移除 server
  - status     檢查連線狀態
  - reconnect  重新連線

Hooks 鉤子

/hooks — 自動化觸發點

Hooks 讓你在特定事件發生時自動執行腳本。常見的觸發點:

Hook 名稱觸發時機典型用途
pre-editClaude 編輯檔案前備份、檢查鎖定狀態
post-editClaude 編輯檔案後跑 formatter、linter
pre-commitGit commit 前跑 pre-commit hooks
session-start每次啟動 Claude Code載入專案專屬設定
tool-useClaude 呼叫任何工具時記錄日誌、稽核

Skills 技能

/skills — 自訂技能包

Skills 是可重複使用的「迷你工作流程」:把常用的多步驟操作打包成一個指令。

Claude Code
> /skills

可用技能:
  /skill deploy        部署到 staging(含測試、build、上傳)
  /skill release       建立 release(含版號、changelog、tag)
  /skill onboard       新人 onboarding(讀文件、跑教學)
  /skill bug-triage    Bug 分類與初步分析

其他擴充指令

/review
叫 Claude 做 code review
/pr
建立 GitHub Pull Request
/issue
建立或處理 GitHub Issue
/explain
解釋一段程式碼或概念
/refactor
啟動重構流程
/test
產生或執行測試

Git 整合指令

Claude Code 對 Git 與 GitHub 有深度支援,可大幅簡化日常版控操作。

內建 Git 工作流

自然語言操作 Git

不必記指令,直接用自然語言告訴 Claude:

Claude Code
> 把現在的變更分成兩個 commit,第一個是 bug 修復,第二個是新功能

> 看一下 main 跟我這個 branch 的差異,幫我寫 PR 描述

> rebase 到最新的 main,遇到衝突就停下來問我

/commit — 智慧 commit 訊息

Claude 會自動分析變更內容,產生符合 Conventional Commits 規範的訊息:

Claude Code
> /commit

分析變更...

建議的 commit 訊息:
  feat(api): add pagination support to user list endpoint
  
  - Add limit/offset query parameters
  - Update OpenAPI spec
  - Add tests for boundary cases

執行?(y/n)

GitHub 整合指令

/pr — Pull Request 操作

Claude Code
# 建立 PR
> /pr create

# 列出 PR
> /pr list

# 檢視特定 PR
> /pr view 42

# 對 PR 加 review 意見
> /pr review 42

/review — 由 Claude 做 Code Review

Claude 會分析你的變更,從程式品質、潛在 bug、效能、安全性等角度給出建議:

Claude Code
> /review

🔍 Code Review 結果(5 個檔案,+234 -56 行)

✅ 通過:
  - 命名清晰、結構合理
  - 測試覆蓋良好

⚠️ 建議:
  - api.py:45  未處理 ConnectionError,建議加 retry
  - user.py:88  N+1 查詢問題,建議改用 select_related
  - 缺少 README 更新

🔴 必須修正:
  - auth.py:12  密碼以明文儲存(嚴重安全問題)

/issue — Issue 管理

Claude Code
> /issue list           # 列出開啟中的 issue
> /issue view 123       # 看單一 issue 詳情
> /issue create         # 建立新 issue
> /issue close 123      # 關閉 issue

# 或自然語言
> 找 issue 123,分析根因並幫我修復
💡 GitHub CLI 整合

Claude Code 預設使用 GitHub CLI (gh) 操作 GitHub。請先安裝並登入:gh auth login

常見組合工作流

💬 「幫我修 Issue #42」
🤖 Claude 讀 Issue 內容 → 探索相關程式碼
🌿 建立新 branch fix/issue-42
✏️ 修改程式碼並執行測試
📝 Commit + Push
🔀 開 PR、自動連結到 Issue #42

實用技巧

這些「非指令」的功能能大幅提升你的工作效率。

輸入特殊符號

! 開頭 — 直接執行 Bash

不用切回終端機,直接執行 shell 指令:

Claude Code
> !ls -la
> !git status
> !pytest tests/test_api.py -v
> !npm run dev

輸出會留在對話脈絡中,Claude 看得到,後續分析更精準。

# 開頭 — 寫入記憶

# 開頭的訊息會永久寫入 CLAUDE.md

Claude Code
> # 這個專案用 black 格式化,行寬 88

Claude 會問你要存到哪個層級:
  1. 全域 (~/.claude/CLAUDE.md)
  2. 專案 (./CLAUDE.md)
  3. 子目錄 (./src/CLAUDE.md)

@ 開頭 — 引用檔案 / 資源

輸入 @ 後會彈出選擇器,可選:

  • 檔案:@src/api.py
  • 資料夾:@tests/
  • 圖片:@design/mockup.png(多模態理解)
  • URL:@https://docs.example.com(自動抓取網頁內容)

多行輸入

方法 1:反斜線換行

Claude Code
> 幫我寫一個 Python script,需求是: \
這個 script 接受 CSV 檔案路徑當參數, \
讀取後印出每個欄位的統計資料, \
包含平均值、中位數、標準差。

方法 2:Alt+EnterCtrl+J(Mac 是 Option+Enter)

直接換行,按 Enter 才送出訊息。適合貼大段程式碼或文件。

方法 3:貼上多行內容

從別處複製多行文字直接貼上,Claude 會自動辨識為多行輸入。

圖片與多模態

直接拖曳圖片到終端機

Mac/Linux 上可以直接把圖片檔拖進 Claude Code 視窗,會自動轉成檔案路徑。例如:

  • 把 Figma 截圖拖進來,請 Claude 寫 HTML/CSS
  • 把錯誤訊息截圖丟進來,請 Claude 分析
  • 把架構圖丟進來,請 Claude 寫對應的 code

剪貼簿貼圖

Mac:截圖後 + V 直接貼到 Claude Code。Windows 也支援。

對話技巧

明確指示 vs 模糊指示

❌ 模糊✅ 明確
「幫我改一下這個」 「在 UserModelemail_verified 欄位,預設 False,並更新對應的 schema migration」
「優化效能」 get_users() 每次都查 DB,幫我加上 Redis 快取,TTL 5 分鐘」
「寫個測試」 「用 pytest 為 payment.process() 寫測試,包含成功、餘額不足、超時三種情境」

分階段執行複雜任務

Claude Code
> 我要做一個訂單管理系統。先不要寫程式,
  我們分階段做:
  
  階段 1:列出需要的資料模型(User、Order、Product...)
  階段 2:設計 API 端點
  階段 3:寫 schema migration
  階段 4:實作 endpoint
  階段 5:寫測試
  
  我們先做階段 1,列出每個 model 需要的欄位。

讓 Claude 提問

當你不確定怎麼描述需求時:

Claude Code
> 我要建一個部落格網站,但還沒想清楚需求。
  你來問我問題,幫我釐清。

停止與修正

中斷執行

Esc 一次:停止當前正在進行的操作。Claude 會等你下個指令。

回到前面某一步

Esc 兩次:跳出歷史導覽,可以選擇回到某個訊息再重新嘗試。

快捷鍵速查

熟記這些快捷鍵能讓你操作飛快。

對話控制

按鍵功能
Enter送出訊息
Shift + Enter換行(不送出)
Ctrl + J換行(替代方案)
Esc中斷目前操作
Esc Esc跳出歷史導覽
Ctrl + C取消輸入 / 離開
Ctrl + D離開 Claude Code

畫面控制

按鍵功能
Ctrl + L清除畫面(但保留對話)
Ctrl + R反向搜尋歷史輸入
/ 瀏覽歷史輸入
Tab自動補完指令 / 檔名

模式切換

按鍵功能
Shift + Tab切換編輯模式(autoaccept / planning / normal)
!(行首)進入 Bash 模式
#(行首)進入記憶模式
/(行首)進入指令模式
@檔案 / 資源選擇器

編輯模式說明(Shift+Tab)

模式行為
Normal每個操作都會詢問權限(最安全)
Auto-accept檔案編輯不再詢問,直接執行(適合熟悉專案後)
PlanningClaude 只規劃不執行,先給你看計畫
💡 推薦工作流

複雜任務先用 Planning 模式讓 Claude 提出計畫 → 確認後切到 Auto-accept 讓它快速執行 → 完成後檢視結果。

💻 IDE 選擇指南

Claude Code 雖然在終端機運作,但搭配 IDE 能讓你的開發體驗加倍順暢 — 在 IDE 看程式碼、用 Claude Code 改程式碼。

為什麼需要 IDE?

Claude Code 本身是終端機工具,但很多時候你還是需要:

  • 視覺化檢視:看程式碼的結構、追蹤定義、看 Excel/Word 檔案
  • 除錯:設中斷點、查看變數狀態
  • 圖形化 Git:方便檢視 diff、stage hunks、看 history
  • 語言服務:IntelliSense、即時錯誤標示、refactor 工具

推薦 IDE 比較

IDE 定位 免費 適合誰
VSCode 業界事實標準,外掛最豐富 所有人,特別是新手
Google Antigravity 2.0 Gemini 3 驅動的 AI-first IDE ✅(預覽期) 想體驗 agent-first 開發體驗
Cursor AI 優先的 VSCode fork 有限免費 習慣 IDE 內 AI 對話的人
JetBrains 系列 PyCharm、IntelliJ 等專業 IDE 付費(社群版免費) 需要強大語言服務的進階使用者
Vim / Neovim 終端機編輯器 進階 Linux 使用者

本指南的搭配建議

🎯

新手起步

VSCode + Claude Code(終端機),把 Claude Code 開在 VSCode 內建的終端機面板

🚀

嚐鮮派

Google Antigravity 2.0,體驗 Gemini agent + 內建瀏覽器整合

多工流程

Antigravity 跑 Gemini + 另一個終端機跑 Claude Code,跨模型對照

💡 為什麼介紹這兩個?

VSCode 是業界標準,外掛生態最完整。Google Antigravity 是 2025 年底推出的新 AI IDE,它的設計理念與 Claude Code 接近(agent-first),且基於 VSCode 核心,所以 VSCode 的擴充大部分能直接相容 — 學一套等於學兩套。

本章節學什麼?

  1. VSCode 安裝:Windows、Mac、Linux 三平台
  2. Google Antigravity 2.0 安裝:三平台完整步驟
  3. 三大必裝擴充:繁體中文、Python、Office Viewer
  4. 整合 Claude Code:讓 IDE 與 Claude Code 無縫協作

VSCode 安裝

微軟出品、免費、跨平台、開源 — 全球最多開發者使用的編輯器。

選擇你的作業系統

下載安裝程式

到官網 code.visualstudio.com 點「Download for Windows」。

會自動下載最新的 Stable 版本 (.exe),檔案約 100MB。

執行安裝程式

  • 同意授權條款
  • 選擇安裝路徑(建議用預設)
  • 勾選「加入 PATH」(重要!讓你能在終端機用 code 指令)
  • 勾選「將 Open with Code 加入右鍵選單」(建議)
  • 勾選「將 Code 設為支援檔案類型的編輯器」

確認安裝成功

開新的 PowerShell 視窗,輸入:

PowerShell
code --version

看到版本號就成功了。輸入 code . 會在目前資料夾打開 VSCode。

用 WinGet 一鍵安裝(替代方案)

PowerShell
winget install Microsoft.VisualStudioCode

方法 1:官網下載

code.visualstudio.com 下載 .zip

解壓後把 Visual Studio Code.app 拖到「應用程式」資料夾。

方法 2:Homebrew(推薦)

Terminal
brew install --cask visual-studio-code

把 code 指令加進 PATH

打開 VSCode → + Shift + P → 輸入 shell command → 選「Install 'code' command in PATH」。

之後就能在終端機用:

Terminal
code .                    # 在目前資料夾開啟
code ~/projects/my-app    # 開啟特定專案
code hello.py             # 開啟單一檔案

Debian / Ubuntu

Bash
# 加入 Microsoft repo
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'

# 安裝
sudo apt update
sudo apt install code

Fedora / RHEL

Bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf install code

Arch / Manjaro

Bash
# 從 AUR 安裝
yay -S visual-studio-code-bin

VSCode 介面快速導覽

介面區塊
┌─────────────────────────────────────────────┐
│ [≡]  File Edit ...  ← 選單列                 │
├──┬──────────────────────────────────────────┤
│📁│                                          │
│🔍│  ← 主編輯區                              │
│🔃│                                          │
│🐛│                                          │
│🧩│  Extensions 在這 ↑                       │
│⚙️│                                          │
├──┴──────────────────────────────────────────┤
│ > Terminal(PowerShell / bash / zsh)       │ ← Ctrl+`
└─────────────────────────────────────────────┘
 ↑
 左側活動列:檔案、搜尋、版控、除錯、擴充、設定

必學快捷鍵

功能Windows/LinuxMac
命令面板(萬用)Ctrl+Shift+P+Shift+P
快速開啟檔案Ctrl+P+P
開啟終端機Ctrl+`+`
全域搜尋Ctrl+Shift+F+Shift+F
分割編輯器Ctrl+\+\
切換側邊欄Ctrl+B+B
整行移動Alt+↑/↓+↑/↓
多游標選取Ctrl+D+D
💡 下一步

VSCode 裝好後,請依序裝這三個必裝擴充:「繁體中文語言包」→「Python」→「Office Viewer」。請從左側選單點選對應章節。

Google Antigravity IDE 2.0

Google 推出的下一代 agent-first AI IDE,由 Gemini 3 Pro 驅動,2026 年最熱門的新興 IDE。

🆕 Gemini 3 · agent-first · 預覽期免費

什麼是 Antigravity?

由 Gemini 3 Pro / 3 Flash 驅動的 AI 開發環境,可讓開發者把複雜的、跨多步驟的編程任務委派給自主 AI agent。在 SWE-bench Verified 上拿下 76.2% 的高分。

核心特色

🤖

Agent-first 架構

不像傳統 AI 工具只給補全建議,Antigravity 讓 agent 從頭到尾完成複雜任務

🎛️

Agent Manager Dashboard

同時管理多個自主 agent 處理不同任務

📝

VSCode 風格編輯器

基於 VSCode,熟悉的開發環境 + VSCode 擴充相容

🌐

深度瀏覽器整合

透過 Chrome 擴充讓 agent 即時測試 web app

🧠

多模態理解

能處理程式碼、自然語言、圖片(如 UI 截圖)、API 回應

📋

檢查清單追蹤

AI 產出時會同步產生你需要做的事項清單,逐項打勾

系統需求

  • Windows:64-bit Windows 10 或更新版本
  • macOS:macOS Monterey 12 或更新版本
  • Linux:64-bit,glibc 2.28+ 與 glibcxx 3.4.25+
  • 需要 Google 帳號(個人 Gmail 即可)
⚠️ 預覽版重要提醒

Antigravity 目前仍在預覽期(公開測試)。各版本之間可能會有功能差異,且授權方式可能變動。本指南內容以 2.0 為主。

選擇你的作業系統

到官網下載

開啟瀏覽器前往 antigravity.google/download

選擇「Download for Windows」,會下載 .exe 安裝程式(約 137 MB)。

執行安裝

  • 雙擊 .exe 啟動安裝精靈
  • 同意授權條款
  • 選擇安裝路徑(建議用預設)
  • 勾選「加入 PATH」
  • 勾選「建立桌面捷徑」

首次啟動

  • 選擇主題(淺色 / 深色 / 高對比)
  • 從 VSCode / Cursor 匯入設定(推薦,省去重複設定)
  • 用 Gmail 登入 Google 帳號
  • 同意 Gemini 模型使用條款

確認版本

PowerShell
antigravity --version

顯示 2.x.x 就是 2.0 系列。

到官網下載

前往 antigravity.google/download

選對應你的 Mac 晶片:

  • Apple Silicon(M1/M2/M3/M4)→ 下載「for Apple Silicon」
  • Intel Mac → 下載「for Intel」

檔案約 150-200 MB(.dmg)。

安裝

  • 雙擊下載的 .dmg 檔案
  • 把「Antigravity」圖示拖到「Applications」資料夾
  • 第一次開啟時,macOS 可能會問是否信任這個應用程式 — 選「打開」
  • 若被 Gatekeeper 擋住,到「系統設定 → 隱私權與安全性」按「仍要打開」

首次設定

  • 選擇主題與字型
  • 從 VSCode / Cursor 匯入設定(如果有的話)
  • 登入 Google 帳號
  • 選擇預設 agent 行為(保守 / 平衡 / 激進)

加入 PATH(選用)

讓你能在終端機用 antigravity 指令:

Antigravity 命令面板
 +Shift+P
> Install 'antigravity' command in PATH

Debian / Ubuntu

用以下指令一次完成 repo 加入與安裝:

Bash
# 1. 建立 keyring 目錄並加入簽章金鑰
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/antigravity-repo-key.gpg

# 2. 加入 Antigravity APT repo
echo "deb [signed-by=/etc/apt/keyrings/antigravity-repo-key.gpg] https://us-central1-apt.pkg.dev/projects/antigravity-auto-updater-dev/ antigravity-debian main" | \
  sudo tee /etc/apt/sources.list.d/antigravity.list > /dev/null

# 3. 更新並安裝
sudo apt update
sudo apt install antigravity

Fedora / RHEL / SUSE

Bash
# 1. 加入 RPM repo
sudo tee /etc/yum.repos.d/antigravity.repo << EOL
[antigravity-rpm]
name=Antigravity RPM Repository
baseurl=https://us-central1-yum.pkg.dev/projects/antigravity-auto-updater-dev/antigravity-rpm
enabled=1
gpgcheck=0
EOL

# 2. 安裝
sudo dnf install antigravity

啟動 Antigravity

Bash
antigravity             # 啟動 IDE
antigravity .           # 在目前目錄啟動
antigravity --version   # 查看版本

初次體驗:給 Antigravity 第一個任務

打開 Agent Manager

右上角點選「Agents」面板(或按 Ctrl+Shift+A)。

建立新 agent 任務

Agent Manager
幫我建立一個 FastAPI 待辦清單 API:
- GET /todos 列出所有
- POST /todos 新增
- PUT /todos/{id} 更新
- DELETE /todos/{id} 刪除
- 用 SQLite 儲存
- 寫對應的 pytest 測試

觀察 agent 工作

Antigravity 會在右側面板顯示 agent 的思考過程:

  • 📋 規劃步驟
  • 📁 建立檔案
  • ✏️ 編輯程式碼
  • ▶️ 跑測試確認
  • ✅ 回報完成

整個過程你可以監督、暫停、修改方向。

Antigravity vs Claude Code

面向AntigravityClaude Code
模型Gemini 3 Pro / FlashClaude Opus / Sonnet / Haiku
主介面圖形化 IDE終端機 CLI
瀏覽器整合內建 Chrome 擴充選用 MCP 連接
多代理內建 Agent ManagerSub-agents + MCP
客製化VSCode 擴充相容CLAUDE.md、Hooks、Skills
免費預覽期免費免費版不含,需 Pro+ 訂閱
💡 兩者一起用

Antigravity 與 Claude Code 並非互斥!很多開發者會同時用兩者:Antigravity 處理需要視覺化(如 UI 開發、瀏覽器測試)的任務;Claude Code 處理大型重構、跨檔案邏輯、自動化腳本。跨模型對照能得到更全面的觀點。

繁體中文語言包安裝

把 VSCode / Antigravity 的介面切換成繁體中文,閱讀更順暢。

📌 通用說明

本章節適用 VSCode 與 Google Antigravity IDE。因為 Antigravity 基於 VSCode 核心,所有 VSCode 的擴充元件都能用相同方式安裝。

方法 1:透過擴充市集(推薦)

打開擴充市集

有三種方式:

  • 左側活動列點「擴充 / Extensions」圖示(積木 🧩)
  • 快捷鍵 Ctrl+Shift+X(Mac: +Shift+X
  • 命令面板 Ctrl+Shift+P → 輸入 Extensions

搜尋繁體中文語言包

在搜尋框輸入:

搜尋字串
Chinese (Traditional)

找到「Chinese (Traditional) Language Pack for Visual Studio Code」由 Microsoft 出品,識別 ID 為 ms-ceintl.vscode-language-pack-zh-hant

點「Install」安裝

下載並安裝大約 5-10 秒(取決於網速)。

切換顯示語言

安裝完成後,VSCode / Antigravity 會自動彈出對話框問你要不要重新啟動以套用繁體中文。點「Change Language and Restart」。

如果沒有跳出來,請手動切換:

命令面板
 Ctrl+Shift+P
> Configure Display Language
> 選擇 "zh-tw"
然後重新啟動

方法 2:用指令列安裝

Terminal
# VSCode
code --install-extension ms-ceintl.vscode-language-pack-zh-hant

# Antigravity
antigravity --install-extension ms-ceintl.vscode-language-pack-zh-hant

切回英文(必要時)

有些情境下英文介面比較好搜尋錯誤訊息或文件:

命令面板
 Ctrl+Shift+P
> 設定顯示語言(Configure Display Language)
> 選擇 "en"
重新啟動

編輯 locale.json(進階)

可直接編輯設定檔:

locale.json
{
  "locale": "zh-tw"
}

檔案位置:

  • Windows: %APPDATA%\Code\User\locale.json
  • Mac: ~/Library/Application Support/Code/User/locale.json
  • Linux: ~/.config/Code/User/locale.json
💡 簡體中文也想要?

把擴充 ID 改成 ms-ceintl.vscode-language-pack-zh-hans,locale 設為 "zh-cn" 即可。

常見問題

❓ 切換語言後部分文字還是英文?

這是因為部分擴充元件本身沒有提供繁體中文翻譯。VSCode 核心介面、選單、命令面板都會變繁體,但第三方擴充的設定面板可能仍是英文。

❓ 重啟後沒有變繁體中文?

檢查:

  1. 確認擴充已啟用(不是 disabled 狀態)
  2. 檢查 locale.json 設定是否正確
  3. 完全關閉所有 VSCode 視窗再重開(不只是 reload window)
  4. 用命令面板「Developer: Reload Window」
❓ 中文輸入法卡頓?

這不是擴充問題,是 VSCode 在某些系統與輸入法組合下的已知問題。解法:

  • 關閉 IME Mode 衝突的設定
  • 更新 VSCode 到最新版
  • 嘗試其他輸入法(注音 vs 倉頡)
  • settings.json 加入 "editor.experimental.asyncTokenization": true

Python 擴充安裝

Microsoft 官方 Python 擴充 — 提供完整的 IntelliSense、debug、測試、Jupyter 支援。

為什麼必裝 Python 擴充?

沒裝 Python 擴充的 VSCode 只是個文字編輯器;裝了之後馬上變成完整的 Python IDE:

💡

IntelliSense

智慧補全、定義跳轉、型別提示

🐛

視覺化除錯

設中斷點、查看變數、step over/into

🧪

測試整合

pytest / unittest 介面化跑測試

📓

Jupyter 支援

直接在 VSCode 跑 .ipynb notebook

🎨

格式化與 Linting

Black、Pylint、Flake8、Ruff 整合

🔄

環境管理

自動偵測 venv / conda / poetry / uv

安裝步驟

前置:安裝 Python

請先確認系統有 Python 3.10 以上版本:

Terminal
python --version
# 或
python3 --version

如果沒有,請依平台安裝:

  • Macbrew install python@3.12
  • Windowswinget install Python.Python.3.12 或從 python.org 下載
  • Linuxsudo apt install python3 python3-pip python3-venv

打開擴充市集

Ctrl+Shift+X(Mac: +Shift+X)打開擴充面板。

搜尋並安裝 Python 擴充

搜尋:

搜尋字串
Python

第一個結果是 Python by Microsoft(識別 ID:ms-python.python),有藍勾驗證標記。點「Install」。

安裝後會自動安裝三個配套擴充:

  • Pylancems-python.vscode-pylance)— 強大的語言伺服器
  • Python Debuggerms-python.debugpy)— 除錯器
  • Python Environmentsms-python.vscode-python-envs)— 環境管理

指令列一行安裝(替代方案)

Terminal
code --install-extension ms-python.python

選擇 Python 直譯器

打開任何 .py 檔案後:

  • 左下角狀態列會顯示目前用的 Python 版本
  • 點它可以切換到專案的 venv
  • 或用命令面板:Python: Select Interpreter

推薦的搭配擴充

擴充用途ID
Ruff 超快的 linter + formatter(取代 Black、Flake8、isort) charliermarsh.ruff
Jupyter 跑 .ipynb notebook ms-toolsai.jupyter
Mypy Type Checker 靜態型別檢查 ms-python.mypy-type-checker
autoDocstring 自動產生 docstring 樣板 njpwerner.autodocstring
Python Test Explorer 視覺化跑測試 內建於 Python 擴充
Better Comments 讓 TODO / FIXME 註解更顯眼 aaron-bond.better-comments

建議的 settings.json 設定

在工作區根目錄建立 .vscode/settings.json

.vscode/settings.json
{
  // Python 直譯器
  "python.defaultInterpreterPath": "./.venv/bin/python",
  
  // 自動匯入
  "python.analysis.autoImportCompletions": true,
  "python.analysis.typeCheckingMode": "basic",
  
  // 使用 Ruff 做格式化與 linting
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.organizeImports": "explicit",
      "source.fixAll": "explicit"
    }
  },
  
  // 測試設定
  "python.testing.pytestEnabled": true,
  "python.testing.pytestArgs": ["tests"],
  
  // 終端機自動啟用 venv
  "python.terminal.activateEnvironment": true
}

除錯設定(launch.json)

建立 .vscode/launch.json 來設定除錯設定檔:

.vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: 當前檔案",
      "type": "debugpy",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "FastAPI 開發伺服器",
      "type": "debugpy",
      "request": "launch",
      "module": "uvicorn",
      "args": ["src.main:app", "--reload"],
      "jinja": true
    },
    {
      "name": "pytest(所有測試)",
      "type": "debugpy",
      "request": "launch",
      "module": "pytest",
      "args": ["-v"],
      "console": "integratedTerminal"
    }
  ]
}

常用快捷鍵

動作快捷鍵
執行當前檔案F5
執行(不除錯)Ctrl+F5
設置中斷點F9
Step OverF10
Step IntoF11
跳到定義F12
查找引用Shift+F12
重新命名F2
💡 與 Claude Code 搭配

在 VSCode 內按 Ctrl+` 打開內建終端機,直接跑 cc(Claude Code)— 左邊看程式碼,右邊跟 Claude 對話,這是最高效的開發配置之一。

Office Viewer 安裝

在 IDE 內直接預覽 Word、Excel、PowerPoint、PDF — 不必再開外部 Office 軟體。

為什麼需要 Office Viewer?

開發過程中常會遇到:

  • 專案附的 Word 規格書、Excel 設計表
  • Git repo 裡的 PDF 文件
  • 需要快速看一下 .xlsx 的測試資料
  • 要產生報表預覽結果

不裝 Office Viewer 就只能切換到 Microsoft Office 或 Google 雲端硬碟,工作流程會被打斷。裝了之後 直接在 IDE 雙擊就能看

推薦兩個版本

Office Viewer(基礎版)

cweijan.vscode-office

  • ✅ 完全免費開源
  • ✅ 支援 Word、Excel、PDF
  • ✅ Markdown WYSIWYG 編輯器
  • ✅ 輕量

Office Viewer Enhanced(強化版)

rjwang.vscode-office-enhanced

  • ✅ 更多檔案格式
  • ✅ 匯出獨立 HTML(含圖片內嵌)
  • ✅ 支援 Mermaid v11 圖表
  • ✅ Kiro IDE 相容

建議:先裝基礎版,覺得不夠用再換強化版。兩者不要同時裝以免衝突。

安裝基礎版(推薦新手)

打開擴充市集

Ctrl+Shift+X(Mac: +Shift+X)。

搜尋並安裝

搜尋:

搜尋字串
Office Viewer

找到「Office Viewer」by Weijan Chen(識別 ID:cweijan.vscode-office)。點「Install」。

指令列安裝

Terminal
code --install-extension cweijan.vscode-office

安裝強化版

Terminal
code --install-extension rjwang.vscode-office-enhanced

支援的檔案格式

類型副檔名功能
Word.docx / .doc檢視文件內容、保留格式
Excel.xlsx / .xls / .csv表格檢視、多工作表
PowerPoint*.pptx強化版才支援
PDF.pdf文件預覽、頁面導覽
Markdown.mdWYSIWYG 編輯器(Vditor)
HTML.html實時預覽(按 Ctrl+Shift+V

使用方式

直接雙擊檔案

在 VSCode / Antigravity 的檔案總管雙擊任何支援的檔案,就會自動用 Office Viewer 開啟。

選擇開啟方式(若有衝突)

如果你裝了多個檢視器:

操作
右鍵點選檔案 > Open With...
> 選擇 "Office Viewer"
// 或設成預設
> Configure default editor...

Excel 表格實用功能

  • 切換不同工作表(底部 tab)
  • 調整欄寬
  • 搜尋儲存格內容
  • 複製整列 / 整欄

Markdown WYSIWYG 編輯器

基礎版會把 .md 預設改用 Vditor 編輯器。如果你習慣原本的 VSCode markdown 編輯器,請在 settings.json 加上:

settings.json
{
  "workbench.editorAssociations": {
    "*.md": "default",
    "*.markdown": "default"
  }
}

實用快捷鍵

動作快捷鍵
調整編輯器大小Ctrl/ + 滑鼠滾輪
HTML 即時預覽Ctrl+Shift+V
開啟超連結Ctrl+點擊 或 雙擊

其他替代擴充

如果以上不合適,可以考慮:

擴充特色ID
Excel Viewer 由 GrapeCity 出品,專注於 Excel 與 CSV GrapeCity.gc-excelviewer
Syncfusion Document Viewer 商業級檢視器,支援 Word/Excel/PDF/CSV/TSV SyncfusionInc.Document-Viewer-VSCode-Extensions
XLSX, CSV, TSV & Markdown Editor 開源、支援表格內編輯 Muhammad-Ahmad.xlsx-viewer
vscode-pdf 僅 PDF,輕量無多餘功能 tomoki1207.pdf
💡 與 Claude Code 搭配

當 Claude Code 產出 Excel / Word 報表時,你可以直接在 IDE 內雙擊預覽結果,不必跳出去 — 工作流程更順暢。例如:「幫我把 data.csv 整理成 summary.xlsx」,產生後直接在旁邊打開查看。

整合 Claude Code 與 IDE

讓 IDE 與 Claude Code 無縫協作 — 最高效的開發配置。

推薦工作配置

配置 1:經典單視窗

VSCode 視窗布局
┌──────────────┬──────────────────────────────┐
│              │                              │
│  📁 檔案     │  📝 程式碼編輯區             │
│  總管        │                              │
│              │                              │
│              ├──────────────────────────────┤
│              │                              │
│              │  $ cc                        │
│              │  > 幫我重構這個檔案...        │
│              │  Claude Code 終端機          │
│              │                              │
└──────────────┴──────────────────────────────┘

Ctrl+` 打開 VSCode 內建終端機,直接跑 cc。看程式碼與對話在同一個視窗。

配置 2:雙螢幕並排

  • 主螢幕:IDE(VSCode / Antigravity)— 看程式碼、改細節
  • 副螢幕:獨立 Terminal 視窗跑 Claude Code — 對話、規劃

適合大型專案或重度多工。

配置 3:tmux + IDE

進階使用者最愛 — 一個 tmux session 開多個 Claude Code 視窗,各自處理不同 sub-agent,IDE 純粹看結果。

讓 Claude Code 知道你的 IDE

VSCode 整合

CLAUDE.md 加入:

CLAUDE.md
## 開發環境
- 編輯器:VSCode
- 必裝擴充:Python (ms-python.python)、Ruff、Office Viewer
- 終端機:在 VSCode 內建終端機跑指令
- Debug:用 launch.json 的 "Python: 當前檔案" 設定檔

讓 Claude 用 VSCode 開檔案

Claude Code 可以呼叫系統指令打開特定檔案:

Claude Code
> 把剛剛產生的測試結果用 VSCode 開出來給我看
> !code reports/coverage.html

> 開啟剛建立的 Excel 報表
> !code output/sales_summary.xlsx

共享設定範本

讓團隊每個人的 IDE 設定一致,建立 .vscode/ 資料夾並 commit 到 git:

.vscode/extensions.json
{
  // 開啟這個 workspace 時,VSCode 會建議裝以下擴充
  "recommendations": [
    "ms-ceintl.vscode-language-pack-zh-hant",
    "ms-python.python",
    "ms-python.vscode-pylance",
    "charliermarsh.ruff",
    "ms-python.mypy-type-checker",
    "ms-toolsai.jupyter",
    "cweijan.vscode-office",
    "eamodio.gitlens",
    "njpwerner.autodocstring"
  ]
}

Antigravity 與 Claude Code 並用

雖然 Antigravity 內建 Gemini agent,但你仍可在 Antigravity 的內建終端機跑 Claude Code,這樣你會有兩個 AI 同時工作

🤖 Gemini Agent(Antigravity 內建)— 處理需要瀏覽器、視覺化的任務
↓ 互補
🤖 Claude Code(終端機)— 處理跨檔案重構、複雜邏輯、自動化
💡 跨模型比較工作流

遇到棘手問題時,讓 Gemini 與 Claude 各自分析一次,比較兩邊的方案 — 通常能找到單一模型想不到的角度。Gemini 對視覺、瀏覽器任務強;Claude 對長 context 的程式碼推理強。

常用快速指令

在 VSCode / Antigravity 中設定快速鍵,呼叫 Claude Code:

keybindings.json
[
  {
    // 在終端機跑 cc
    "key": "ctrl+alt+c",
    "command": "workbench.action.terminal.sendSequence",
    "args": { "text": "cc\u000D" }
  },
  {
    // 對目前檔案執行 Claude review
    "key": "ctrl+alt+r",
    "command": "workbench.action.terminal.sendSequence",
    "args": { "text": "cc -p \"review ${file}\"\u000D" }
  }
]

同步團隊環境

使用 VSCode 的「Settings Sync」或建立完整的 dev container:

.devcontainer/devcontainer.json
{
  "name": "Python + Claude Code",
  "image": "mcr.microsoft.com/devcontainers/python:3.12",
  
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-ceintl.vscode-language-pack-zh-hant",
        "ms-python.python",
        "charliermarsh.ruff",
        "cweijan.vscode-office"
      ]
    }
  },
  
  "postCreateCommand": "curl -fsSL https://claude.ai/install.sh | bash"
}
🎉 設定完成!

恭喜你完成 IDE 環境設定。現在你已經擁有一個完整的開發環境:IDE 提供視覺化與檔案檢視,Claude Code 提供 AI 協作能力。可以回到主章節繼續學習 Python 開發、Git 協作、進階應用等內容。

建立 Python 專案

用現代化的工具搭配 Claude Code,打造高效率的 Python 開發環境。

選擇套件管理工具

工具適用情境速度
venv + pipPython 內建,最基本
uv2024+ 最熱門,超快極快
poetry需依賴管理+發佈套件中等
pipenv傳統選擇

推薦方式:用 uv 建立專案

安裝 uv

Mac / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows PowerShell
irm https://astral.sh/uv/install.ps1 | iex

建立專案

Terminal
uv init my-project
cd my-project

# 加入依賴
uv add fastapi uvicorn sqlalchemy pydantic

# 加入開發依賴
uv add --dev pytest pytest-cov ruff mypy black

初始化 Git 與 Claude Code

Terminal
git init
git add .
git commit -m "chore: initial commit"

cc
> /init   # 讓 Claude 分析專案並生成 CLAUDE.md

推薦的專案結構

Tree
my-project/
├── .claude/
│   ├── agents/              # 子代理定義
│   ├── hooks/               # 自動化 hooks
│   └── settings.local.json  # 本地權限設定
├── src/
│   └── my_project/
│       ├── __init__.py
│       ├── main.py
│       ├── api/
│       ├── models/
│       └── services/
├── tests/
│   ├── conftest.py
│   ├── test_api.py
│   └── test_models.py
├── docs/
│   ├── requirements.md      # 需求文件
│   ├── design.md            # 設計文件
│   └── tasks.md             # 任務拆解
├── CLAUDE.md                # 專案指南(給 Claude 看)
├── pyproject.toml
├── .gitignore
└── README.md

必裝的開發工具

ruff
超快的 linter + formatter(取代 flake8 + isort + black)
mypy
靜態類型檢查
pytest
事實標準測試框架
pytest-cov
測試覆蓋率報告
pre-commit
Git commit 前自動檢查
python-dotenv
讀取 .env 環境變數

CLAUDE.md 完整指南

CLAUDE.md 是專案級的「使用說明書」,給 Claude 看的。寫好它能大幅提升 Claude 對你專案的理解。

三層記憶架構

全域層~/.claude/CLAUDE.md — 個人偏好(所有專案共用)
專案層./CLAUDE.md — 此專案的規範與背景
子目錄層./src/CLAUDE.md — 特定模組的細節

Python 專案 CLAUDE.md 範本

CLAUDE.md
# Project: My FastAPI Service

## 專案概覽
這是一個 FastAPI 後端服務,提供使用者管理 API。
資料庫使用 PostgreSQL,ORM 用 SQLAlchemy 2.0。

## 技術棧
- Python 3.12+
- FastAPI 0.110+
- SQLAlchemy 2.0(async 風格)
- Pydantic v2
- pytest(測試)
- uv(套件管理)

## 專案結構
- `src/my_project/api/` — API 路由
- `src/my_project/models/` — DB models
- `src/my_project/schemas/` — Pydantic schemas
- `src/my_project/services/` — 業務邏輯
- `tests/` — 對應結構的測試

## 開發規範
1. 所有函式必須加 type hints
2. 公開 API 必須寫 docstring(Google style)
3. 行寬限制 88 字(Black 預設)
4. import 順序由 ruff 自動處理
5. commit 訊息遵循 Conventional Commits

## 常用指令
- 啟動開發伺服器:`uv run uvicorn src.my_project.main:app --reload`
- 跑測試:`uv run pytest`
- 跑單一測試:`uv run pytest tests/test_api.py::test_create_user -v`
- 格式化:`uv run ruff format .`
- Lint:`uv run ruff check . --fix`
- 類型檢查:`uv run mypy src/`

## 測試規範
- 每個新功能必須有對應測試
- 整體覆蓋率目標:85%+
- 測試獨立,不依賴執行順序
- 用 fixtures 而非 setUp/tearDown

## 重要規則
- ❌ 不要修改 `migrations/` 已存在的檔案,要新增 migration
- ❌ 不要在 model 層寫業務邏輯,那是 service 層的事
- ❌ 不要 commit `.env` 或任何 secrets
- ✅ 所有 DB 操作必須是 async
- ✅ 使用者輸入必須用 Pydantic schema 驗證

## 環境變數
參考 `.env.example`,必須提供:
- `DATABASE_URL`
- `JWT_SECRET`
- `REDIS_URL`

全域 CLAUDE.md 範本

放在 ~/.claude/CLAUDE.md,所有專案都會載入:

~/.claude/CLAUDE.md
# 個人開發偏好

## 回應風格
- 用繁體中文回答
- 程式碼註解用英文,討論用中文

## 程式碼風格
- Python:遵循 PEP 8,type hints 必加
- JavaScript:偏好 TypeScript over JS
- 變數命名用全名而非縮寫(`user_count` 而非 `uc`)

## 安全規則
- 絕對不在 code 寫入 API key、密碼
- 不要執行 `rm -rf` 或 `sudo` 指令,有需要需先經過同意
- 修改前先確認檔案路徑


These rules apply to every task in this project unless explicitly overridden.
Bias: caution over speed on non-trivial work. Use judgment on trivial tasks.

## Rule 1 — Think Before Coding

State assumptions explicitly. If uncertain, ask rather than guess.
Present multiple interpretations when ambiguity exists.
Push back when a simpler approach exists.
Stop when confused. Name what's unclear.

## Rule 2 — Simplicity First

Minimum code that solves the problem. Nothing speculative.
No features beyond what was asked. No abstractions for single-use code.
Test: would a senior engineer say this is overcomplicated? If yes, simplify.

## Rule 3 — Surgical Changes

Touch only what you must. Clean up only your own mess.
Don't "improve" adjacent code, comments, or formatting.
Don't refactor what isn't broken. Match existing style.

## Rule 4 — Goal-Driven Execution

Define success criteria. Loop until verified.
Don't follow steps. Define success and iterate.
Strong success criteria let you loop independently.

## Rule 5 — Use the model only for judgment calls

Use me for: classification, drafting, summarization, extraction.
Do NOT use me for: routing, retries, deterministic transforms.
If code can answer, code answers.

## Rule 6 — Token budgets are not advisory

Per-task: 4,000 tokens. Per-session: 30,000 tokens.
If approaching budget, summarize and start fresh.
Surface the breach. Do not silently overrun.

## Rule 7 — Surface conflicts, don't average them

If two patterns contradict, pick one (more recent / more tested).
Explain why. Flag the other for cleanup.
Don't blend conflicting patterns.

## Rule 8 — Read before you write

Before adding code, read exports, immediate callers, shared utilities.
"Looks orthogonal" is dangerous. If unsure why code is structured a way, ask.

## Rule 9 — Tests verify intent, not just behavior

Tests must encode WHY behavior matters, not just WHAT it does.
A test that can't fail when business logic changes is wrong.

## Rule 10 — Checkpoint after every significant step

Summarize what was done, what's verified, what's left.
Don't continue from a state you can't describe back.
If you lose track, stop and restate.

## Rule 11 — Match the codebase's conventions, even if you disagree

Conformance > taste inside the codebase.
If you genuinely think a convention is harmful, surface it. Don't fork silently.

## Rule 12 — Fail loud

"Completed" is wrong if anything was skipped silently.
"Tests pass" is wrong if any were skipped.
Default to surfacing uncertainty, not hiding it.

## single-file HTML 或 一頁式 HTML
當我提出這份內容產生一份 single-file HTML 或 一頁式 HTML 報告要求時,請依照下列要求生成:
- 深色主題、現代漸層、無外部相依
- 頂部執行摘要 + 狀態徽章(紅 / 黃 / 綠)
- 內嵌 SVG 圖表呈現重要數據
- 至少一個可篩選或可搜尋的清單
- 主要區塊使用可折疊 details 元件
- 包含一個含 checkbox 的行動清單
- sticky TOC 與閱讀進度條
- 互動以 vanilla JS 實作
最後將整份輸出包在 ```html``` 區塊中。

撰寫技巧

1. 用 Markdown 結構化

使用 ## 分節、清單、程式碼區塊。Claude 對結構化的內容理解最好。

2. 明確的 Do / Don't

用 ✅ ❌ 列出該做與不該做的事,比抽象描述有效。

3. 提供常用指令

把測試、build、執行指令寫進去,Claude 就能直接呼叫,不必每次問你。

4. 動態更新

專案進化時也要更新 CLAUDE.md。可以叫 Claude 幫忙:

Claude Code
> 我們今天加了 Celery 跑背景任務,請更新 CLAUDE.md
  把 Celery 加入技術棧,並補上啟動 worker 的指令
💡 大型專案的子目錄 CLAUDE.md

如果某個子目錄(如 ./frontend/)有特殊規範,可在那邊放一份 CLAUDE.md。Claude 進入該目錄工作時會自動載入。

Python 開發核心工作流

用 Claude Code 加速日常 Python 開發的最佳實踐。

工作流程 1:從零實作新功能

清楚描述需求

Claude Code
> 我要做使用者註冊功能:
  
  需求:
  - POST /api/v1/users/register
  - 接收 email、password、name
  - 密碼用 bcrypt hash
  - email 唯一檢查
  - 成功回傳 JWT
  - 失敗回傳明確錯誤
  
  先列出實作計畫,不要動程式碼。

檢視計畫並調整

Claude 會列出計畫,例如:

  • 新增 schemas/auth.py 定義 RegisterRequest / TokenResponse
  • 新增 services/auth_service.py 處理 hash 與 JWT
  • 新增 api/v1/auth.py 路由
  • 更新 main.py 註冊 router
  • 新增 tests/test_auth.py 測試

你可以調整:「不要新檔案,把所有 auth 邏輯放在現有的 users.py

讓 Claude 實作(建議先寫測試)

Claude Code
> 開始實作。請先寫測試(失敗的),再寫實作讓測試通過。
  每完成一個檔案就跑一次測試確認。

檢視與修正

Claude Code
> 跑 ruff、mypy、pytest,把所有警告修掉

> /review   # 讓 Claude 自評

Commit 與 PR

Claude Code
> 幫我建 branch、commit、push、開 PR,
  PR 描述要列出主要變更與測試結果

工作流程 2:修 Bug

🐛 「使用者註冊失敗,錯誤訊息是 X,這是 stack trace」
🔍 Claude 讀錯誤、找相關檔案、定位問題
📝 提出根因分析與修復方案
✏️ 先寫能重現 bug 的測試
🔧 修復程式碼讓測試通過
✅ 確認其他測試也都過

工作流程 3:重構

Claude Code
> @src/services/order_service.py 這個檔案太大了(800 行),
  幫我拆成幾個小檔案。
  
  原則:
  1. 先確認所有測試通過
  2. 規劃拆分方案後給我確認
  3. 一次只動一塊,每動完跑一次測試
  4. 保持 API 不變(外部呼叫不能壞)
  5. 完成後跑完整測試套件

工作流程 4:學習陌生程式碼

Claude Code
> 我剛接手這個專案,幫我:
  1. 畫出主要模組之間的關係
  2. 列出最重要的 5 個檔案
  3. 解釋整個請求的處理流程
  4. 找出可能的技術債或風險點

工作流程 5:升級依賴

Claude Code
> 把 SQLAlchemy 從 1.4 升到 2.0。
  
  請:
  1. 先看 release notes 找出 breaking changes
  2. 列出我們專案中需要改的地方
  3. 一個個改、改完跑測試
  4. 全部過了再 commit

測試驅動開發 (TDD)

Claude Code 是執行 TDD 的絕佳夥伴 — 它可以同時寫測試、寫實作、跑測試、修錯。

為什麼用 Claude 做 TDD 特別有效?

  • 測試即規格:寫測試的過程就是把需求講清楚的過程,Claude 因此更理解你要什麼
  • 快速迭代:Claude 可以在幾秒內寫完測試、實作、跑測試,迅速取得反饋
  • 避免過度設計:先寫測試讓 Claude 只實作必要的程式碼

標準 TDD 循環

🔴 Red:寫一個會失敗的測試
🟢 Green:寫最少的程式碼讓測試通過
🔵 Refactor:重構讓程式碼更乾淨(測試保證行為不變)
↺ 重複下一個功能

實戰範例:用 TDD 開發購物車

Step 1:請 Claude 進入 TDD 模式

Claude Code
> 我們要用 TDD 開發購物車模組。遵循這個流程:
  
  1. 我給需求,你先寫測試
  2. 跑測試確認失敗
  3. 寫最小實作讓測試通過
  4. 跑測試確認綠燈
  5. 看是否需要重構
  
  測試框架:pytest
  專案結構:src/cart/ + tests/test_cart.py
  
  第一個功能:建立空購物車

Step 2:Claude 寫第一個測試

Python — tests/test_cart.py
from src.cart import Cart


def test_new_cart_is_empty():
    cart = Cart()
    assert cart.is_empty()
    assert cart.total() == 0
    assert len(cart.items) == 0

Step 3:跑測試(會失敗)

Terminal
$ uv run pytest tests/test_cart.py -v

FAILED tests/test_cart.py::test_new_cart_is_empty
  ImportError: cannot import name 'Cart' from 'src.cart'

Step 4:Claude 寫最小實作

Python — src/cart.py
class Cart:
    def __init__(self):
        self.items = []
    
    def is_empty(self) -> bool:
        return len(self.items) == 0
    
    def total(self) -> float:
        return 0.0

Step 5:繼續下一個功能

Claude Code
> 下一個:加入商品到購物車,可以指定數量。
  繼續 TDD 流程。

進階:屬性測試與邊界測試

Claude Code
> 為 Cart.add_item() 補上邊界與錯誤測試:
  - 加入負數量應該 raise ValueError
  - 加入價格為 0 的商品應該被允許
  - 加入相同商品應該累加數量
  - 加入後 is_empty() 必須回 False
  
  用 pytest.mark.parametrize 整理

覆蓋率管理

Claude Code
> !uv run pytest --cov=src --cov-report=term-missing

> 看 coverage 報告,找出沒被覆蓋到的行,
  為這些情境補上測試
💡 TDD 加速技巧

告訴 Claude 切換到 Auto-accept 模式(Shift+Tab),它就能不停跑「寫測試 → 跑 → 修 → 跑」的循環,不需每次按確認。但只在熟悉的專案或非關鍵程式碼這樣做。

Git 基礎操作(搭配 Claude Code)

不必記繁瑣的 Git 指令,用自然語言交給 Claude 處理。

日常操作對照表

傳統 Git 指令用 Claude 怎麼說
git status「現在有哪些變更?」
git diff「我改了什麼?」
git add . && git commit -m "..."「幫我 commit」
git log --oneline -10「看最近 10 個 commit」
git checkout -b feature/x「建一個 branch 叫 feature/x」
git merge main「把 main 合進來」
git rebase main「rebase 到 main」

智慧 Commit

讓 Claude 幫你拆 commit

Claude Code
> 我改了三個檔案:修了 bug、加了新功能、更新文件。
  幫我分成三個獨立的 commit,每個都用 Conventional Commits 格式

Claude 會:

  1. 分析每個檔案的變更類型
  2. git add -p 互動式選擇要納入哪些 hunk
  3. 寫對應的 commit 訊息

Conventional Commits 範例

commit message
feat(api): add user search endpoint
fix(auth): handle expired JWT correctly
docs(readme): update installation steps
refactor(db): extract query builder
test(cart): add edge cases for discount
chore(deps): bump fastapi to 0.110.0
perf(query): add index on user.email

分支策略

Git Flow 簡化版

Branch 命名
main                # 生產環境
develop             # 整合 branch
feature/user-auth   # 新功能
fix/login-bug       # 修 bug
hotfix/crit-issue   # 緊急修復(直接 → main)
chore/upgrade-deps  # 維護任務
docs/api-spec       # 文件

Trunk-Based 策略(更簡單)

  • 所有開發都從 main 開短期 branch
  • 每天 merge 回 main,避免長期 branch
  • 用 feature flags 控制未完成功能
  • 適合小團隊、CI/CD 完善的情況

處理衝突

Claude Code
> git pull 之後出現衝突,幫我看一下衝突的檔案,
  分析雙方的修改意圖,給我合理的合併建議

Claude 會:

  1. 列出所有衝突檔案
  2. 分析 <<<<<<<>>>>>>> 雙方的差異
  3. 判斷哪些可以自動合併、哪些需要你決定
  4. 修改檔案、跑測試確認沒壞

常見救命指令

情境對 Claude 說
不小心 commit 錯東西 「我剛剛 commit 把 .env 加進去了,幫我撤銷並從歷史移除」
想復原檔案 「把 src/api.py 還原到 2 個 commit 前的版本」
commit 訊息打錯 「修改最後一個 commit 訊息為 ...」
想合併多個 commit 「把最近 3 個 commit squash 成一個」
找出 bug 從哪來 「用 git bisect 找出 test_login 從哪個 commit 開始壞掉」

GitHub CLI 整合

Claude Code 使用 gh 指令操作 GitHub,先裝好它能解鎖完整功能。

安裝 GitHub CLI

Terminal
brew install gh
PowerShell
winget install GitHub.cli
Bash
sudo apt install gh
# 或
sudo dnf install gh

登入 GitHub

Terminal
gh auth login

# 選 GitHub.com → HTTPS → 用瀏覽器登入
# 之後 Claude Code 就能用 gh 做所有 GitHub 操作了

常用 gh 指令

指令用途
gh repo create建立 repo
gh repo clone owner/repoclone repo
gh pr create開 PR
gh pr list列出 PR
gh pr view 42看 PR #42
gh pr checkout 42切換到 PR #42 的 branch
gh pr merge 42合併 PR #42
gh issue list列出 issue
gh issue create建立 issue
gh release create v1.0發佈 release
gh workflow run deploy.yml觸發 GitHub Actions

讓 Claude 處理 GitHub 工作

批次整理 Issues

Claude Code
> 列出所有開啟超過 90 天沒人回的 issue,
  讀內容後分類並加 label:
  - 已過時的 → close 並留言說明
  - 還有效但低優先 → 加 "stale" label
  - 重要的 → 加 "needs-attention" label

跨 repo 操作

Claude Code
> 在 my-org 下所有 Python repo 中,
  找出還在用 pydantic v1 的,
  幫每個建立 issue 提醒升級

Issue 自動分配

Claude Code
> 看新的 issue #156,分析它屬於哪個模組,
  到 CODEOWNERS 找對應的人,自動 assign 給他們

整合 GitHub MCP(更強大)

除了用 gh,還可以連 GitHub MCP server,讓 Claude 直接呼叫 GitHub API:

Claude Code
> /mcp add github

# 之後就能用更精細的操作:
> 在 PR #42 第 35 行加 review comment:「這裡可能有 N+1」

Pull Request 與 Code Review

完整的 PR 工作流程:從建立、評論、回應、到合併。

建立高品質 PR

確認你在正確的 branch

Claude Code
> 我現在在哪個 branch?跟 main 差多少?

同步最新 main

Claude Code
> rebase 到最新 main,遇到衝突停下來問我

跑完整檢查

Claude Code
> 開 PR 前的最終檢查:
  1. 跑 ruff format + check
  2. 跑 mypy
  3. 跑完整測試
  4. 看 coverage 沒下降
  5. 確認沒有 print() 或 console.log
  6. 確認沒有 commit 到 secret

開 PR

Claude Code
> 幫我開 PR,描述要包含:
  - 動機(解決什麼問題)
  - 主要變更摘要
  - 測試結果(截圖或文字)
  - Breaking changes(若有)
  - 關聯的 issue(自動 link)
  - Reviewer checklist

PR 描述範本

Markdown
## 動機
解決 #42:使用者反映搜尋結果排序不一致。

## 變更內容
- 新增 `SearchService.rank_results()` 統一排序邏輯
- 將 `api/search.py` 改為呼叫 service
- 移除 `models/post.py` 中重複的排序程式碼
- 補上 12 個測試案例

## 測試
- ✅ pytest: 156 passed
- ✅ coverage: 87% (+2%)
- ✅ 手動測試 5 種搜尋情境

## Breaking Changes
無

## Checklist
- [x] 通過所有測試
- [x] 更新文件
- [x] 自我 review 完成
- [ ] 等待團隊 review

讓 Claude 做 Code Review

對自己的 PR

Claude Code
> /review

# 或更具體
> review 我這個 PR 的變更,特別注意:
  - 是否有 SQL injection 風險
  - error handling 是否完整
  - 命名是否符合專案慣例

對別人的 PR

Claude Code
> 幫我 review PR #156,給出建設性意見。
  寫成 GitHub review comments 格式,
  分成 must-fix、suggestion、nitpick 三類

回應 Review 意見

Claude Code
> 看一下 PR #42 上 reviewer 的意見,
  分類處理:
  - 同意且簡單的:直接修
  - 同意但要討論的:先在 thread 回應
  - 不同意的:寫理由回應
  
  修改後重新跑測試、push、回 reviewer

合併策略

策略適用情境
Squash and Merge多個小 commit,希望 main 歷史乾淨(推薦)
Rebase and Merge每個 commit 都有意義,想保留線性歷史
Merge Commit想保留完整 branch 歷史

GitHub Actions 自動化

用 Claude Code 快速建立 CI/CD pipeline。

Python 專案 CI 範本

.github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.11", "3.12"]
    
    steps:
      - uses: actions/checkout@v4
      
      - name: Install uv
        uses: astral-sh/setup-uv@v3
      
      - name: Set up Python
        run: uv python install ${{ matrix.python-version }}
      
      - name: Install dependencies
        run: uv sync --all-extras --dev
      
      - name: Lint with ruff
        run: uv run ruff check .
      
      - name: Format check
        run: uv run ruff format --check .
      
      - name: Type check
        run: uv run mypy src/
      
      - name: Run tests
        run: uv run pytest --cov=src --cov-report=xml
      
      - name: Upload coverage
        uses: codecov/codecov-action@v4

用 Claude 建 workflow

Claude Code
> 幫我為這個專案建立 CI/CD:
  
  CI(push & PR):
  - 跑 ruff、mypy、pytest
  - 測 Python 3.11 和 3.12
  - 上傳 coverage 到 Codecov
  
  CD(push 到 main 且 tag 為 v*):
  - build Docker image
  - push 到 GHCR
  - 部署到 staging(手動觸發到 production)

常用 Workflow 範本

1. Pull Request 自動驗證

每次開 PR 自動跑測試、檢查 commit 訊息格式、確認版號是否更新:

.github/workflows/pr-checks.yml
name: PR Checks

on:
  pull_request:
    branches: [main]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: 檢查 commit 訊息格式
        uses: wagoid/commitlint-github-action@v6
      
      - name: 檢查 PR 標題
        uses: amannn/action-semantic-pull-request@v5
      
      - name: 標記檔案類型
        uses: actions/labeler@v5

2. 自動發佈 Python 套件

.github/workflows/release.yml
name: Release to PyPI

on:
  push:
    tags: ['v*']

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v3
      
      - name: Build
        run: uv build
      
      - name: Publish to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1

3. 自動部署到雲端

.github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - uses: actions/checkout@v4
      
      - name: Build Docker image
        run: docker build -t myapp:${{ github.sha }} .
      
      - name: Push to registry
        run: |
          echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
          docker push ghcr.io/${{ github.repository }}:${{ github.sha }}
      
      - name: Deploy to Kubernetes
        run: kubectl set image deployment/myapp myapp=ghcr.io/${{ github.repository }}:${{ github.sha }}

規格驅動開發 (SDD)

Spec-Driven Development 是與 AI 協作開發的最佳實踐:先寫清楚規格,再讓 AI 產出程式碼。

為什麼需要 SDD?

傳統「想到什麼寫什麼」的方式跟 Claude 協作時容易出現:

  • Claude 猜錯需求,產出不是你要的
  • 反覆來回修改,浪費 token 與時間
  • 架構決策事後才發現有問題
  • 難以追蹤「為什麼這樣設計」

SDD 把開發流程拆成三個明確階段,每個階段產出一份文件:

📋 Phase 1: Requirements(需求)
釐清要做什麼、為誰做、成功標準
🎨 Phase 2: Design(設計)
決定怎麼做、架構、API、資料模型
Phase 3: Tasks(任務)
拆成可獨立執行的小步驟
💻 Phase 4: Implementation(實作)
Claude 按任務逐一執行

適用情境

適合 SDD不適合 SDD(直接做即可)
新功能、新模組修 typo、改變數名
跨多檔案的重構單檔案的小修改
架構決策快速 prototype
多人協作的專案個人實驗
長期維護的程式碼一次性腳本

SDD 的優勢

🎯

明確目標

Claude 知道你真正要的是什麼,不會發散

📐

架構先行

設計問題在寫 code 前就發現,省下重寫成本

📚

知識留存

文件即文件,未來新人也看得懂

♻️

可重來

程式碼壞掉時,從文件就能重新生成

🤝

易於協作

團隊成員(人或 AI)對齊更容易

🧪

測試清晰

需求即測試案例的來源

建議的目錄結構

docs/
docs/
├── specs/
│   ├── user-auth/
│   │   ├── requirements.md
│   │   ├── design.md
│   │   └── tasks.md
│   ├── payment-flow/
│   │   ├── requirements.md
│   │   ├── design.md
│   │   └── tasks.md
│   └── search-feature/
│       └── ...
└── adr/                    # Architecture Decision Records
    ├── 001-use-postgres.md
    └── 002-jwt-vs-session.md
💡 工具推薦

官方有個叫 Kiro 的工作流框架可以參考,也有社群版的 Spec Workflow MCP。但其實只要按本章節介紹的三份文件流程,純手寫 Markdown 也很夠用。

需求文件 (Requirements)

第一步:把「要做什麼」與「成功標準」寫清楚。

需求文件範本

docs/specs/user-auth/requirements.md
# Requirements: 使用者認證系統

## 背景與動機
目前系統沒有使用者認證,所有 API 都是公開的。
為了上線商業服務,需要實作完整的註冊/登入/權限管理。

## 目標使用者
- 一般訪客:可註冊新帳號
- 已註冊使用者:可登入、修改個資、登出
- 管理員:可管理其他使用者

## 功能需求

### FR-1: 註冊
**作為** 訪客  
**我希望** 用 email 和密碼註冊  
**這樣** 我就能擁有自己的帳號  

驗收標準:
- [ ] email 格式必須有效
- [ ] 密碼至少 8 字元,含大小寫與數字
- [ ] 同 email 不能重複註冊
- [ ] 註冊成功後自動寄送驗證信
- [ ] 未驗證 email 不能登入

### FR-2: 登入
**作為** 已驗證使用者  
**我希望** 用 email 和密碼登入  
**這樣** 我就能存取受保護的資源  

驗收標準:
- [ ] 正確憑證回傳 JWT(有效期 1 小時)
- [ ] 同時回傳 refresh token(有效期 30 天)
- [ ] 錯誤密碼 5 次後鎖定 15 分鐘
- [ ] 登入紀錄寫入 audit log

### FR-3: 權限管理
**作為** 管理員  
**我希望** 指派使用者角色(admin、editor、viewer)  
**這樣** 我能控制不同人的權限  

驗收標準:
- [ ] 三種角色預設權限明確定義
- [ ] 角色變更立即生效
- [ ] 變更紀錄保留

## 非功能需求

### NFR-1: 安全性
- 密碼用 bcrypt + salt,cost ≥ 12
- JWT 用 RS256 簽章
- 所有 auth endpoint 必須 HTTPS
- 敏感操作要寫 audit log

### NFR-2: 效能
- 登入回應時間 P95 ≤ 200ms
- 註冊回應時間 P95 ≤ 500ms(含寄信)
- 支援同時 1000 個併發登入

### NFR-3: 可靠性
- Email 寄送失敗不能讓註冊失敗(異步處理)
- DB 連線斷開要自動重試

## 範圍外(這次不做)
- 第三方登入(OAuth)
- 雙因素認證(2FA)
- Magic link 登入
- SSO 整合

## 相關文件
- Design: ./design.md
- Tasks: ./tasks.md
- ADR: ../../adr/003-jwt-strategy.md

讓 Claude 幫你寫需求

Claude Code
> 我想做一個訂單管理系統。請以 SDD 流程幫我,
  先寫 requirements.md。
  
  背景:B2B SaaS,客戶下單後我們出貨。
  訪談我,把需求問清楚再寫。

Claude 會逐一問你:

  • 誰會使用?(採購、業務、出貨員、管理員...)
  • 訂單從哪來?(API、UI、Excel 上傳)
  • 有哪些狀態?(草稿、已下、出貨中、完成、退貨)
  • 付款流程是?
  • 要不要通知?怎麼通知?

需求驗收技巧

💡 用 INVEST 原則檢視每條需求
  • Independent:可獨立完成
  • Negotiable:可討論調整
  • Valuable:對使用者有價值
  • Estimable:能估時程
  • Small:足夠小(建議 ≤ 3 天工作量)
  • Testable:有明確驗收標準

設計文件 (Design)

第二步:把「怎麼做」寫清楚。架構、API、資料模型、錯誤處理。

設計文件範本

docs/specs/user-auth/design.md
# Design: 使用者認證系統

## 技術選型
- Web framework: FastAPI
- DB: PostgreSQL(既有)
- ORM: SQLAlchemy 2.0 (async)
- Password hashing: passlib + bcrypt
- JWT: python-jose
- Email: SendGrid via Celery(異步)
- Rate limiting: slowapi
- Audit log: 寫入既有的 audit_logs 表

## 架構圖
```
┌──────────┐    ┌────────────┐    ┌──────────┐
│  Client  │───▶│ Auth API   │───▶│ Auth     │
│          │    │ (FastAPI)  │    │ Service  │
└──────────┘    └────────────┘    └─────┬────┘
                                        │
                ┌───────────────────────┼───────────────────┐
                ▼                       ▼                   ▼
         ┌──────────┐           ┌──────────────┐    ┌──────────┐
         │  Users   │           │ Email Queue  │    │  Redis   │
         │   Table  │           │  (Celery)    │    │ (sessions│
         └──────────┘           └──────────────┘    │  + rate) │
                                                    └──────────┘
```

## 資料模型
### users 表
| 欄位 | 型別 | 說明 |
|------|------|------|
| id | UUID PK | |
| email | VARCHAR(255) UNIQUE | |
| password_hash | VARCHAR(255) | bcrypt |
| email_verified | BOOLEAN | 預設 False |
| role | ENUM | admin / editor / viewer |
| failed_login_count | INTEGER | 預設 0 |
| locked_until | TIMESTAMP NULL | |
| created_at | TIMESTAMP | |
| updated_at | TIMESTAMP | |

### audit_logs 表(既有)
寫入 type 為 `auth.login.success`、`auth.login.failure`、`auth.register` 的事件

## API 設計

### POST /api/v1/auth/register
Request:
```json
{
  "email": "user@example.com",
  "password": "SecurePass123",
  "name": "Alice"
}
```
Response 201:
```json
{
  "user_id": "uuid",
  "email": "user@example.com",
  "verification_email_sent": true
}
```
Errors:
- 400: 格式錯誤
- 409: email 已存在
- 422: 密碼強度不足

### POST /api/v1/auth/login
(類似格式...)

## 流程圖:登入流程
```
Client → API: POST /login
API → Service: authenticate(email, password)
Service → DB: 查 user
  ├─ 不存在 → 回 401
  ├─ 被鎖定 → 回 423
  └─ 找到 user:
       Service: bcrypt.verify(password, hash)
         ├─ 失敗 → failed_count++, 寫 audit, 回 401
         └─ 成功 → 產生 JWT + refresh token, 寫 audit, 回 200
```

## 錯誤處理策略
| HTTP code | 情境 | Body |
|-----------|------|------|
| 400 | 請求格式錯誤 | { "error": "invalid_request", "details": ... } |
| 401 | 認證失敗 | { "error": "invalid_credentials" } |
| 422 | 密碼強度不足 | { "error": "weak_password", "requirements": [...] } |
| 423 | 帳號鎖定 | { "error": "account_locked", "retry_after": 900 } |
| 500 | 內部錯誤 | { "error": "internal_error", "trace_id": "..." } |

## 安全考量
- 密碼絕不出現在 log 或回應
- bcrypt cost = 12(升級時要遷移)
- JWT secret 從 vault 讀取,不放 env
- Rate limit:登入 5 次/分鐘/IP
- 註冊:3 次/小時/IP

## 測試策略
- 單元測試:service 層(mock DB)
- 整合測試:完整 API 流程(test DB)
- 安全測試:SQL injection、密碼洩漏、JWT 偽造
- 負載測試:1000 併發登入

讓 Claude 寫設計文件

Claude Code
> 根據 @docs/specs/user-auth/requirements.md,
  幫我寫 design.md。
  
  限制:
  - 必須符合既有架構(FastAPI + PG + Celery)
  - 不引入新的基礎設施
  - 安全優先於開發速度
  
  寫之前先列出設計決策,跟我討論再開始

架構決策紀錄 (ADR)

對於重大設計決策,建議寫獨立的 ADR:

docs/adr/003-jwt-strategy.md
# ADR-003: 認證用 JWT 而非 Session

**Date**: 2026-05-22
**Status**: Accepted

## Context
需要決定如何維持使用者登入狀態。
選項:Session(state on server)vs JWT(stateless)

## Decision
採用 JWT,搭配 Refresh Token 機制。

## Consequences
✅ 好處:
- 無狀態,水平擴展容易
- 不需 Redis 存 session
- 跨服務驗證簡單

❌ 壞處:
- 無法主動撤銷(用 short TTL + refresh 緩解)
- Token 體積較大
- 需要管理 secret rotation

## Alternatives Considered
- Session in Redis:擴展性夠但增加基礎設施依賴
- Session in DB:每次請求查 DB,效能差

任務拆解 (Tasks)

第三步:把設計拆成具體、可獨立執行的任務清單。

任務清單範本

docs/specs/user-auth/tasks.md
# Tasks: 使用者認證系統

## Phase 1: 基礎建設

### T-1.1: 建立 users 表 migration
- 依賴:無
- 估時:30 分鐘
- 步驟:
  1. 在 alembic 建 migration
  2. 包含所有設計文件中的欄位
  3. 加 index on email
  4. 跑 migration 確認
- 驗收:
  - [ ] migration up/down 都能成功
  - [ ] 表結構符合 design.md

### T-1.2: 設定 JWT 相關套件
- 依賴:無
- 估時:20 分鐘
- 步驟:
  1. uv add python-jose passlib bcrypt
  2. 建 src/auth/config.py 讀 JWT secret
  3. 建 src/auth/security.py 放 hash/verify/jwt 函式
- 驗收:
  - [ ] 套件已加入 pyproject.toml
  - [ ] secret 從 env 讀取,無預設值

## Phase 2: Service 層

### T-2.1: AuthService.register()
- 依賴:T-1.1, T-1.2
- 估時:1 小時
- 步驟:
  1. 先寫測試:tests/services/test_auth.py
     - 成功註冊
     - email 重複
     - 弱密碼
  2. 實作 register 方法
  3. 整合 Celery 寄驗證信
- 驗收:
  - [ ] 所有測試通過
  - [ ] coverage ≥ 90%

### T-2.2: AuthService.login()
- 依賴:T-2.1
- 估時:1.5 小時
- 步驟:
  1. 寫測試
  2. 實作密碼驗證
  3. 實作鎖定邏輯
  4. 產生 JWT + Refresh Token
  5. 寫 audit log
- 驗收:
  - [ ] 所有測試通過
  - [ ] 鎖定 5 次後 15 分鐘

## Phase 3: API 層

### T-3.1: POST /auth/register endpoint
- 依賴:T-2.1
- 估時:45 分鐘
- 步驟:
  1. 建 schemas/auth.py(Pydantic)
  2. 建 api/v1/auth.py
  3. 寫整合測試
- 驗收:
  - [ ] 各種錯誤情境回正確 HTTP code
  - [ ] OpenAPI doc 正確顯示

### T-3.2: POST /auth/login endpoint
- 依賴:T-2.2
- 估時:45 分鐘
(類似格式...)

## Phase 4: 整合與部署

### T-4.1: Rate Limiting
- 依賴:T-3.1, T-3.2
- 估時:30 分鐘

### T-4.2: Auth Middleware
- 依賴:T-3.2
- 估時:1 小時
- 用於保護其他 API

### T-4.3: 文件與 Postman collection
- 依賴:T-4.2
- 估時:1 小時

## 預估總時程:6-8 小時

讓 Claude 拆任務

Claude Code
> 根據 @docs/specs/user-auth/design.md,
  拆成 tasks.md。
  
  原則:
  1. 每個任務 ≤ 2 小時工作量
  2. 標出依賴關係
  3. 每個任務都包含「寫測試」步驟
  4. 驗收條件用 checkbox 格式
  5. 按 phase 分組(基礎建設 → service → API → 整合)

逐一執行任務

Claude Code
> 開始執行 @docs/specs/user-auth/tasks.md。
  
  從 T-1.1 開始。每完成一個任務:
  1. 更新 tasks.md 的 checkbox
  2. commit
  3. 暫停讓我確認
  4. 我說 next 再做下一個

多代理平行執行

對於沒有依賴關係的任務,可派出多個 sub-agent 同時做:

Claude Code
> 同時派出三個 sub-agent:
  - Agent 1: 做 T-1.1(建 migration)
  - Agent 2: 做 T-1.2(設定 JWT 套件)
  - Agent 3: 寫 schemas/auth.py(不依賴前兩者)
  
  完成後彙整結果給我
💡 SDD + TDD 雙劍合璧

每個任務都用 TDD 流程執行:先寫測試(紅)→ 實作(綠)→ 重構(藍)。Claude Code 對這個流程的支援特別好。

子代理 (Sub-agents)

把專屬任務交給專門訓練的子代理,讓主對話保持乾淨、上下文不被汙染。

什麼是 Sub-agent?

Sub-agent 是「具有獨立 context、專注於特定任務」的子 Claude。它有自己的:

  • System prompt:定義它的角色與行為規則
  • 可用工具:限制它能用哪些工具(讀檔、寫檔、執行 shell...)
  • 觸發條件:什麼樣的任務該分派給它
  • 獨立的對話脈絡:不會佔用主對話的 context

為什麼用 Sub-agent?

🧹

保持主對話乾淨

把繁瑣細節交給代理處理,主對話只看摘要

🎯

專業分工

不同代理擅長不同事,效果比通才好

🔒

權限隔離

只給代理它需要的工具,降低風險

平行執行

多個代理同時做事,加速大型任務

建立 Sub-agent

Claude Code
> /agents

選 1: 建立新代理

精靈會問你:
  1. 代理名稱:code-reviewer
  2. 描述:當需要 review 程式碼變更時自動觸發
  3. System prompt:(你可自訂或讓 Claude 幫你寫)
  4. 可用工具:Read, Grep, Glob, Bash(git diff)
  5. 儲存到:./.claude/agents/code-reviewer.md

Sub-agent 定義範例

.claude/agents/code-reviewer.md
---
name: code-reviewer
description: 自動觸發於檔案編輯後,做 code review
tools: Read, Grep, Glob, Bash
---

你是一位資深 Python code reviewer。

審查重點(依優先順序):
1. 安全性:SQL injection、XSS、密碼處理、secret 洩漏
2. 正確性:邊界條件、錯誤處理、競爭條件
3. 效能:N+1 查詢、不必要的迴圈、記憶體洩漏
4. 可維護性:命名、結構、過長函式

回報格式:
🔴 Must fix:(必須修正的問題)
⚠️ Should consider:(建議改善)
💡 Nice to have:(細節優化)

每個問題給出:
- 檔案 + 行號
- 為什麼是問題
- 建議的修改方式
- 範例程式碼

簡潔但完整。不要逐字罵人。

常用 Sub-agents 範本

1. test-writer(測試專家)

.claude/agents/test-writer.md
---
name: test-writer
description: 撰寫 pytest 測試,包含單元、整合、邊界案例
tools: Read, Write, Edit, Bash
---

你是 Python 測試專家,專精 pytest。

撰寫測試時必須:
- 用 fixtures 而非 setUp
- 用 parametrize 涵蓋多種輸入
- 命名格式:test_<function>_<scenario>_<expected>
- 一個測試只驗一件事
- Mock 外部依賴(DB、API、檔案系統)
- 包含 happy path + edge case + error path
- 用 pytest.raises 驗證例外

完成後跑測試確認都通過。

2. docs-writer(文件專家)

.claude/agents/docs-writer.md
---
name: docs-writer
description: 撰寫與更新技術文件、docstring、README
tools: Read, Write, Edit, Grep
---

你是技術寫作專家。

撰寫原則:
- 開門見山,先講重點
- 用「為什麼」而非「是什麼」
- 範例程式碼必須能直接執行
- 避免「顯而易見」、「簡單來說」等空話
- API 文件用 Google style docstring
- README 結構:簡介 → 安裝 → 快速開始 → 進階 → 貢獻

3. debugger(除錯專家)

.claude/agents/debugger.md
---
name: debugger
description: 系統化地除錯複雜問題
tools: Read, Grep, Bash, Edit
---

你是除錯專家。遇到 bug 時遵循:

1. 重現:先寫出能穩定重現 bug 的最小案例
2. 隔離:用二分法縮小問題範圍
3. 假設:列出 3 個可能的根因
4. 驗證:用 print/log/debugger 確認哪個對
5. 修復:先寫測試保證 bug 不再出現,再修
6. 回報:根因 + 解法 + 預防建議

不要猜。每個步驟都要有證據支持。

4. security-auditor(安全稽核)

.claude/agents/security-auditor.md
---
name: security-auditor
description: 安全漏洞掃描與稽核
tools: Read, Grep, Glob, Bash
---

你是應用程式安全專家(OWASP Top 10 為基準)。

掃描檢查項目:
- SQL injection(搜尋字串拼接的 SQL)
- XSS(未經 escape 的輸出)
- Hardcoded secrets(API key、密碼、token)
- 不安全的反序列化
- 認證/授權漏洞
- 敏感資訊 log
- 不安全的依賴(已知 CVE)
- CSRF 缺失
- Open redirect

每個發現給:嚴重度(Critical/High/Med/Low)+ CWE 編號 + 修復建議

呼叫 Sub-agent

Claude Code
# 自動觸發(依 description)
> 我剛改了 auth.py,請 review 一下

# 明確呼叫
> 請 code-reviewer 看 @src/api/users.py

# 一次叫多個
> 同時派出 test-writer 寫測試、docs-writer 寫文件、
  security-auditor 做安全稽核
💡 Sub-agent 儲存位置
  • 專案級./.claude/agents/ — 跟著 git 走,團隊共用
  • 個人級~/.claude/agents/ — 你的個人代理庫

多代理協作模式

當任務複雜到單一代理難以處理時,讓多個代理協同作戰。

三大協作模式

Pattern 1: Orchestrator-Worker(總管—工人)

👨‍💼 Orchestrator(主代理):理解任務、拆解、分派
👷 Worker 1 / 👷 Worker 2 / 👷 Worker 3(平行執行)
👨‍💼 Orchestrator 整合結果、回報給使用者

適用情境

  • 大規模重構(每個 worker 處理一個模組)
  • 跨檔案搜尋與分析
  • 需要從多角度評估的決策
Claude Code
> 我們要把整個專案從 SQLAlchemy 1.4 升到 2.0。
  
  你做 orchestrator,派出 4 個 worker:
  - Worker A: 升級 src/models/
  - Worker B: 升級 src/services/
  - Worker C: 升級 tests/
  - Worker D: 更新文件
  
  每個 worker 完成後回報,你彙整所有變更給我確認。

Pattern 2: Pipeline(管線)

📥 輸入
🔍 分析代理 — 理解需求
🎨 設計代理 — 提出架構
💻 實作代理 — 寫程式碼
🧪 測試代理 — 寫並執行測試
📝 文件代理 — 更新文件
📤 輸出

適用情境:每個階段的輸出是下一階段的輸入,順序執行不可平行。

Claude Code
> 用 pipeline 模式做這個功能:
  
  1. analyst 代理:訪談我,產出 requirements.md
  2. architect 代理:根據需求產出 design.md
  3. task-planner 代理:把設計拆成 tasks.md
  4. implementer 代理:執行每個任務
  5. reviewer 代理:最終 code review
  
  每階段完成都暫停讓我確認

Pattern 3: Debate / Multi-perspective(辯論/多角度)

讓多個代理從不同角度評估同一個問題,最後彙整:

Claude Code
> 我們要選後端框架:FastAPI vs Django vs Flask
  
  派出三個代理同時評估,每個從不同角度:
  - performance-expert:從效能與擴展性
  - dx-expert:從開發者體驗與學習曲線
  - ops-expert:從部署、監控、生態系
  
  最後請你彙整三方意見,給出綜合建議

協作模式選擇指南

任務特性推薦模式
可平行的獨立子任務Orchestrator-Worker
有明確順序的階段Pipeline
需要多元觀點Debate
大型探索性任務Orchestrator + 動態派發
需要外部資源整合結合 MCP 的混合架構

實戰:完整功能開發

Claude Code
> 開發「訂單退款」功能,用混合模式:
  
  Phase 1(Pipeline):
  - analyst → architect → task-planner
  
  Phase 2(Orchestrator-Worker,平行):
  - 4 個 implementer 各自實作不同 layer
  
  Phase 3(Debate):
  - security-auditor + performance-expert + reviewer
    同時 review,給多角度意見
  
  Phase 4(Pipeline):
  - bug-fixer → docs-writer → release-manager
  
  你做最高層的協調者,每個 phase 完成後跟我同步進度

多代理的注意事項

⚠️ 不要過度使用
  • 簡單任務直接做,不要硬塞多代理
  • 多代理會消耗更多 token,成本高
  • 協調本身有 overhead,少而精比較好
  • 代理間溝通會「失真」,太多層會誤解需求
💡 何時值得啟用多代理
  • 任務 > 30 分鐘且可拆分
  • 需要多種專業判斷
  • 主對話 context 即將爆滿
  • 子任務有獨立的安全/權限需求

MCP 整合

Model Context Protocol 讓 Claude 連接外部服務 — 資料庫、API、設計工具、雲端平台。

什麼是 MCP?

MCP (Model Context Protocol) 是 Anthropic 推出的開放標準,讓 AI 模型能透過統一介面連接任何外部系統。可以想像成「AI 的 USB-C」— 一旦標準化,任何工具都能即插即用。

常用 MCP Servers

開發類

MCP Server用途
githubIssues、PR、Repo、Actions 完整操作
gitlabGitLab 整合(同上)
sentry讀取錯誤、分析 stack trace
linear任務管理、issue tracking
jira企業專案管理

資料庫類

MCP Server用途
postgres查詢、執行、analyze PostgreSQL
mysqlMySQL 操作
sqlite本地 SQLite
mongodbMongoDB 查詢
redisKey-value 操作、debug 快取

雲端與基礎設施

MCP Server用途
awsEC2、S3、Lambda 等 AWS 服務
cloudflareWorkers、DNS、Pages
docker容器管理
kubernetesK8s 叢集操作

協作與設計

MCP Server用途
figma讀設計檔、自動轉 code
notion讀寫 Notion 文件
slack傳訊息、讀 channel
google-drive讀寫 Google 雲端文件

新增 MCP Server

方法 1:互動式

Claude Code
> /mcp add

選擇 server 類型:
  1. 從目錄選(推薦官方 server)
  2. 手動輸入 URL
  3. 從本地路徑

依精靈填入:
  - Server 名稱
  - URL 或 command
  - 認證資訊(Token / OAuth)
  - 範圍(專案級 / 使用者級)

方法 2:直接指令

Terminal
# 加入 GitHub MCP
claude mcp add github --transport http --url https://api.githubcopilot.com/mcp/

# 加入 PostgreSQL MCP
claude mcp add postgres --command "npx @modelcontextprotocol/server-postgres" \
  --env DATABASE_URL="postgresql://..."

方法 3:設定檔

.claude/mcp.json
{
  "servers": {
    "github": {
      "transport": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "auth": "oauth"
    },
    "postgres": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    },
    "sentry": {
      "transport": "http",
      "url": "https://mcp.sentry.dev",
      "auth": "oauth"
    }
  }
}

MCP 實戰範例

從 Figma 設計直接生成 React 元件

Claude Code
> 讀 Figma 檔案 ABC123,
  把「Login Page」frame 轉成 React + Tailwind 元件,
  存到 src/pages/Login.tsx

用自然語言查資料庫

Claude Code
> 連 production DB(read-only),
  找出過去 7 天訂單金額最大的 10 個客戶,
  我要他們的 email、訂單數、總金額

從 Sentry 找錯誤並修

Claude Code
> 從 Sentry 找今天最頻繁的 5 個錯誤,
  分析 stack trace,建立對應的 GitHub issue,
  並嘗試提出修復建議

建立自己的 MCP Server

如果現有 MCP 不夠用,可以自己寫一個。MCP server 用任何語言實作都行:

Python — my_mcp.py
from mcp.server import Server
from mcp.types import Tool, TextContent

app = Server("my-tools")

@app.list_tools()
async def list_tools():
    return [
        Tool(
            name="get_user_stats",
            description="取得使用者統計資料",
            inputSchema={"type": "object", "properties": {...}},
        )
    ]

@app.call_tool()
async def call_tool(name: str, args: dict):
    if name == "get_user_stats":
        result = await fetch_stats(args)
        return [TextContent(type="text", text=str(result))]

if __name__ == "__main__":
    app.run()
💡 找更多 MCP servers

官方 MCP servers 清單 或社群維護的 mcp.directory,已有上百個可用 server。

Hooks 自動化

在特定事件觸發時自動執行腳本,把重複的動作交給機器。

Hook 生命週期

Hook 名稱觸發時機常見用途
session-start每次啟動 Claude Code載入專案設定、印歡迎訊息
user-prompt-submit使用者送出訊息前過濾敏感資訊、補上 context
pre-tool-useClaude 呼叫任何工具前權限檢查、稽核
post-tool-useClaude 呼叫工具後記錄日誌、清理暫存
pre-edit編輯檔案前備份、確認鎖定狀態
post-edit編輯檔案後跑 formatter、linter
pre-commitGit commit 前跑 pre-commit hooks
session-end離開 Claude Code 時清理、上傳 log

建立 Hook

.claude/hooks.json
{
  "hooks": {
    "post-edit": [
      {
        "matcher": "*.py",
        "command": "uv run ruff format $CLAUDE_FILE && uv run ruff check --fix $CLAUDE_FILE",
        "description": "格式化並修 lint"
      },
      {
        "matcher": "*.{ts,tsx,js,jsx}",
        "command": "npx prettier --write $CLAUDE_FILE"
      }
    ],
    "pre-tool-use": [
      {
        "matcher": "Bash(rm *)",
        "command": "echo 'BLOCKED: rm command' && exit 1",
        "description": "禁止任何 rm 指令"
      }
    ],
    "session-start": [
      {
        "command": "./.claude/scripts/load-context.sh",
        "description": "載入專案最新狀態"
      }
    ]
  }
}

常用 Hook 範本

1. 自動格式化(Python)

.claude/hooks.json
{
  "hooks": {
    "post-edit": [
      {
        "matcher": "*.py",
        "command": "uv run ruff format $CLAUDE_FILE"
      }
    ]
  }
}

2. 編輯後自動跑測試

.claude/hooks.json
{
  "hooks": {
    "post-edit": [
      {
        "matcher": "src/**/*.py",
        "command": "uv run pytest tests/ --no-header -q",
        "on_failure": "notify"
      }
    ]
  }
}

3. 防止 commit secrets

.claude/hooks.json
{
  "hooks": {
    "pre-commit": [
      {
        "command": "./.claude/scripts/scan-secrets.sh",
        "description": "掃描 secrets,找到就阻止 commit",
        "block_on_failure": true
      }
    ]
  }
}

4. 對話結束自動 commit

.claude/hooks.json
{
  "hooks": {
    "session-end": [
      {
        "command": "./.claude/scripts/save-checkpoint.sh",
        "description": "如有未 commit 變更,建立 WIP commit"
      }
    ]
  }
}

Hook 中可用的環境變數

變數說明
$CLAUDE_FILE被編輯的檔案路徑
$CLAUDE_TOOL被呼叫的工具名稱
$CLAUDE_TOOL_INPUT工具輸入(JSON)
$CLAUDE_SESSION_ID當前對話 ID
$CLAUDE_PROJECT_ROOT專案根目錄
$CLAUDE_USER_MESSAGE使用者的最新訊息

進階:腳本範例

.claude/scripts/scan-secrets.sh
#!/bin/bash
# 掃描即將 commit 的內容,找出疑似 secret

if git diff --cached | grep -iE '(api_key|secret|password|token).{0,5}=.{0,5}["\047][^"\047]{16,}'; then
    echo "🚨 發現疑似 secret,請檢查上述內容!"
    exit 1
fi

echo "✓ 沒有發現 secret"
exit 0
⚠️ Hook 安全注意
  • Hook 執行的指令有完整檔案系統權限
  • 不要在 hook 中執行不信任的腳本
  • 檢查 hook 設定檔本身也要納入 review
  • block_on_failure: true 讓重要檢查能阻止操作

Skills 自訂技能

把重複的多步驟工作流程包裝成「技能」,一個指令就能呼叫整套流程。

Skill vs Sub-agent vs Hook

觸發方式典型用途
Skill 使用者主動呼叫 /skill name 可重複的多步驟工作流(部署、發版)
Sub-agent Claude 自動分派或明確呼叫 專門角色(測試員、reviewer)
Hook 事件觸發(自動) 背景自動化(格式化、檢查)

建立 Skill

.claude/skills/deploy.md
---
name: deploy
description: 部署到 staging 環境
arguments:
  - name: target
    description: 目標環境(staging/prod)
    default: staging
---

執行以下步驟部署到 {{target}} 環境:

1. **檢查前置條件**
   - 確認在 main branch 或受信任的 release branch
   - 確認所有 CI 都通過
   - 確認沒有未 commit 的變更

2. **跑完整測試**
   ```bash
   uv run pytest --cov=src
   ```
   如果失敗就停止。

3. **建立 Docker image**
   ```bash
   docker build -t myapp:$(git rev-parse --short HEAD) .
   ```

4. **推送到 registry**
   ```bash
   docker push myapp:$(git rev-parse --short HEAD)
   ```

5. **更新 Kubernetes deployment**
   ```bash
   kubectl set image deployment/myapp \
     myapp=myapp:$(git rev-parse --short HEAD) \
     -n {{target}}
   ```

6. **驗證部署**
   等 60 秒,然後檢查 pods 狀態與 health endpoint。

7. **回報結果**
   - 部署的 commit hash
   - 環境
   - 健康檢查結果
   - 監控連結

呼叫 Skill

Claude Code
> /skill deploy

# 或帶參數
> /skill deploy target=prod

# 也可用自然語言觸發
> 幫我部署到 staging

常用 Skill 範本

1. 新人 onboarding

.claude/skills/onboard.md
---
name: onboard
description: 新人 onboarding 互動教學
---

歡迎新加入!我會帶你熟悉這個專案。

1. 先讀 @README.md @CLAUDE.md @CONTRIBUTING.md
2. 列出專案 5 個最重要的檔案
3. 解釋整體架構
4. 跑一次完整的 dev 環境啟動流程
5. 問新人想從哪個模組開始
6. 安排第一個 onboarding task(從 good-first-issue label 找)

2. 釋出版本

.claude/skills/release.md
---
name: release
description: 建立新版本(含 changelog、tag、release notes)
arguments:
  - name: bump
    description: major / minor / patch
    default: patch
---

1. 確認在 main、無未 commit 變更
2. 跑完整測試
3. 從上次 tag 到現在的 commit 整理成 changelog(依 Conventional Commits 分類)
4. 更新 pyproject.toml 版號(依 {{bump}})
5. 更新 CHANGELOG.md
6. Commit「chore(release): vX.Y.Z」
7. 建立 git tag
8. Push 包含 tag
9. 用 gh release create 建立 GitHub release
10. 回報新版號與 release 連結

3. Bug 分類處理

.claude/skills/bug-triage.md
---
name: bug-triage
description: 系統化分析新進 bug
arguments:
  - name: issue
    description: GitHub issue 編號
    required: true
---

針對 issue #{{issue}}:

1. 讀 issue 內容與所有評論
2. 嘗試在本地重現
3. 如能重現:
   - 寫出最小重現範例
   - 找出可能根因
   - 寫對應的失敗測試
   - 評估嚴重度(P0/P1/P2/P3)
   - 估修復時間
4. 如不能重現:
   - 留言請報告者補資訊
   - 標 needs-info label
5. 更新 issue:加 label、assign、提出修復計畫

4. 升級依賴

.claude/skills/upgrade-deps.md
---
name: upgrade-deps
description: 升級所有依賴並測試
---

1. 列出 pyproject.toml 中所有依賴的目前版本與最新版本
2. 分類:
   - patch 升級(自動執行)
   - minor 升級(執行,注意 release notes)
   - major 升級(先問人,不要直接做)
3. 一次升一個套件:
   - 升級
   - 跑完整測試
   - 過了就 commit,沒過就 revert 並回報
4. 全部完成後彙整:升了哪些、哪些有 breaking change

進階:Skill 內嵌 Sub-agent

Skill 可以呼叫 sub-agent 來處理複雜步驟:

.claude/skills/full-feature.md
---
name: full-feature
description: 從需求到部署的完整功能開發
---

1. 派出 analyst 代理蒐集需求 → requirements.md
2. 派出 architect 代理 → design.md
3. 派出 task-planner 代理 → tasks.md
4. 派出 implementer 代理依任務實作
5. 派出 test-writer 代理補測試
6. 派出 reviewer 代理做 review
7. 派出 docs-writer 代理更新文件
8. 呼叫 /skill deploy 部署到 staging
💡 Skills 商店與分享

.claude/skills/ 跟著 git 走,整個團隊都能用同一套 skill。也可以從社群下載熱門 skill 包,例如 awesome-claude-skills 等 GitHub repo。

🔥 熱門 Skills 擴充總覽

站在巨人的肩膀上 — 直接安裝社群打造的優秀 Skill 包,30 秒讓你的 Claude Code 變得脫胎換骨。

為什麼要用社群擴充?

立即可用

一行指令安裝,30 秒上手,不必自己摸索

🎓

頂尖經驗

YC、Anthropic 工程師的實戰流程,直接內建

🌐

持續更新

每週新版本,跟著生態系一起進化

🆓

開源免費

MIT 授權,可 fork 客製化,貼合自己需求

推薦套件比較

套件定位規模適合誰
oh-my-claudecode多代理協作系統32k ⭐想要零學習曲線的並行開發
gstack23+ 矽谷工程團隊角色99.5k ⭐創辦人 / 完整 sprint 流程
Superpowers結構化生命週期 + 技能框架94k ⭐需要 TDD、Debug、Review 系統化流程
Claude-Mem跨對話長期記憶不想重複解釋專案背景的人
awesome-claude-code策展清單(最大的索引)36.8k ⭐想瀏覽整個生態系的探索者

怎麼選?三條建議路線

路線 1:個人開發 / 創辦人 / 全端

推薦:gstack — Garry Tan(YC 總裁)的個人配方,從 office hours、CEO review、Eng review,到 QA 與 Ship,整個 sprint 流程都有對應的 skill。

路線 2:團隊協作 / 大型專案 / 並行開發

推薦:oh-my-claudecode — 多代理協作的天花板,/team 一次派出多個 worker 平行處理。

路線 3:簡潔派 / 想了解每個工具在做什麼

推薦:自己挑選 — 從 awesome-claude-code 中挑選真正需要的 skill 一個個加,避免一次塞太多反而搞不清楚。

⚠️ 不要一次裝太多

每個套件都帶來自己的 slash command、agent、hook 規則。同時裝多個大型套件可能會有衝突或互相干擾。建議一次只專注一個套件,熟悉後再加其他。

oh-my-claudecode (OMC)

Claude Code 的多代理編排系統 — 零學習曲線。「不要學 Claude Code,用 OMC 就好。」

⭐ 32k stars · MIT License

Yeachan-Heo/oh-my-claudecode

把複雜的多代理協作包裝成一行 /autopilot,從需求釐清、規劃、執行、驗證、修復,一氣呵成。

核心特色

🎯

零設定

智慧預設,安裝完就能用

👥

Team 模式

Plan → PRD → Exec → Verify → Fix 的分階段管線

💬

自然語言介面

不必記指令,直接描述要做什麼

⚙️

自動平行化

複雜任務自動分派到專業代理

💰

成本優化

智慧模型路由,省下 30-50% token

🧠

從經驗學習

自動萃取問題模式,下次直接套用

安裝(30 秒)

方法 A:透過 Plugin Marketplace(推薦)

在 Claude Code 對話中執行(一次貼一行):

Claude Code
/plugin marketplace add https://github.com/Yeachan-Heo/oh-my-claudecode

接著貼第二行:

Claude Code
/plugin install oh-my-claudecode

方法 B:透過 npm 安裝

Terminal
npm install -g oh-my-claude-sisyphus@latest

啟用 Native Teams(必要)

編輯 ~/.claude/settings.json:

~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

核心指令

/autopilot — 全自動執行

Claude Code
/autopilot "build a REST API for managing tasks"

/team — Team 編排(推薦)

Team 是 OMC 的核心:分階段管線(plan → prd → exec → verify → fix),N 個代理協作:

Claude Code
/team 3:executor "fix all TypeScript errors"

omc team — tmux CLI Workers

在終端機派出真正的 claude / codex / gemini 進程到 tmux 分割視窗:

Terminal
omc team 2:codex "review auth module"
omc team 2:gemini "redesign UI components"
omc team 1:claude "implement the payment flow"

執行模式速查

模式定位適用情境
/team標準多代理協作完成共同任務
omc teamtmux CLI workersCodex / Gemini 跨模型任務
/ccgCodex + Gemini + Claude 三方需要多角度評估的決策
/autopilot單一主代理自動執行端到端功能開發
/ralph持續模式 + 驗證迴圈必須完整完成的任務
/ultrawork最大平行度(非 team)大量 fix / refactor
📚 延伸資源

GitHub:Yeachan-Heo/oh-my-claudecode

gstack — 把 Claude 變成 20 人矽谷工程團隊

Y Combinator 總裁 Garry Tan 的個人 Claude Code 配方 — 23+ 個 opinionated 工具,扮演 CEO、設計師、Eng Manager、Release Manager、Doc Engineer、QA Lead。

⭐ 99.5k stars · MIT License · YC President

garrytan/gstack

"我已經幾乎沒有親手寫一行 code 了" — Andrej Karpathy 的話啟發了 Garry Tan,他用 gstack 在 60 天內出貨 3 個生產服務、40+ 功能。

定位與設計哲學

gstack 不只是工具集合,更是一套軟體開發流程。它把整個 sprint 拆成可呼叫的步驟:

💭 Think:/office-hours 釐清問題本質
📋 Plan:/plan-ceo-review + /plan-eng-review + /plan-design-review
💻 Build:根據計畫實作
🔍 Review:/review 找出 production bug
🧪 Test:/qa 開瀏覽器實際測試
🚀 Ship:/ship + /land-and-deploy
📊 Reflect:/retro 每週回顧

安裝

前置需求

  • Claude Code CLI
  • Git
  • Bun v1.0+
  • Node.js(Windows 必裝)

個人安裝

打開 Claude Code,把下方整段貼給它,Claude 會自動完成安裝:

Claude Code(整段貼上)
Install gstack: run `git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup` then add a "gstack" section to CLAUDE.md.

第一次嘗試 — 試試這個

  1. /office-hours — 描述你想做什麼
  2. /plan-ceo-review — 在任何想法上
  3. /review — 在有變更的 branch 上
  4. /qa — 在你的 staging URL 上

23 個核心工具

🎯 規劃階段

指令角色功能
/office-hoursYC Office Hours六個強迫性提問,逼你重新思考產品 framing
/plan-ceo-reviewCEO / 創辦人找出隱藏的 10 倍機會
/plan-eng-reviewEng Manager鎖定架構、資料流、邊界條件
/plan-design-review資深設計師對每個設計維度打 0-10 分
/autoplanReview Pipeline一鍵跑完 CEO → 設計 → 工程全套 review

🔍 Review 與測試

指令功能
/review找出 CI 過了但會在 production 爆掉的 bug
/investigate系統化根因分析,3 次失敗就停止
/qa開真實瀏覽器測試、找 bug、原子化修復
/csoOWASP Top 10 + STRIDE 威脅模型
/codex透過 OpenAI Codex CLI 取得獨立 review

🚀 部署

指令功能
/ship同步 main、跑測試、產 PR
/land-and-deploy合併 PR、等 CI、部署、驗證 production
/canary部署後監控 console error、效能回歸
/retro每週工程回顧

🛡️ 安全護欄

指令功能
/careful在 rm -rf、DROP TABLE、force-push 前警告
/freeze把編輯限制在一個目錄
/guard/careful + /freeze 全套
📚 延伸資源

GitHub:garrytan/gstack

claude-img — 多圖上傳神器

原生檔案選擇器整合,一次選多張圖丟給 Claude Code — 告別 Ctrl+V 只能貼一張的痛。

🦀 Rust · 無外部依賴 · MIT License · 跨平台

Lazy-poet/claude-img

用 Rust 寫的小工具,跨平台、無依賴、純二進位執行檔。一個 /img 指令打開系統原生檔案選擇器,選好幾張圖直接送進 Claude Code 對話。

解決什麼問題?

  • Claude Code 內建的 Ctrl+V 一次只能貼一張圖,要貼多張很痛苦
  • 手動輸入圖片路徑容易打錯,沒有自動補完
  • 從檔案總管拖曳的行為在不同 OS 不一致
  • 截圖、設計圖、screenshot 大量比對時格外不方便

核心特色

🖼️

原生檔案選擇器

用作業系統內建的檔案選擇 UI,熟悉、快速、可預覽

📦

一次選多張

Ctrl/⌘ 多選,一口氣把多張圖丟給 Claude

🦀

Rust 純二進位

無需 Node.js、Python 或其他 runtime

🌐

跨平台

macOS(Apple Silicon/Intel)、Linux、Windows 全支援

🎨

多種格式

PNG、JPG、GIF、WebP、BMP、TIFF 都吃

零設定

一行指令安裝,馬上能用

安裝

下載並安裝

macOS / Linux:

Terminal
curl -fsSL https://claude-img-releases.s3.eu-north-1.amazonaws.com/install.sh | bash

Windows(PowerShell):

PowerShell
irm https://claude-img-releases.s3.eu-north-1.amazonaws.com/install.ps1 | iex

安裝器會自動下載對應平台的二進位執行檔,並把 /img skill 註冊到 Claude Code。完全無需手動設定。

立即使用

在任何 Claude Code session 中輸入 /img:

Claude Code
> /img 幫我 review 這些 mockup 的無障礙設計
> /img 比較這兩張截圖的差異
> /img

系統原生檔案選擇器會彈出來,選你要的圖片(按住 Ctrl / 多選),按確認後圖片自動進入對話。/img 後面的文字會作為這些圖片的指示說明。

運作原理

1️⃣ 在 Claude Code 對話中輸入 /img [指示文字]
2️⃣ /img Skill 觸發 → 啟動 claude-img 二進位執行檔
3️⃣ 程式呼叫作業系統原生檔案選擇器(透過 rfd Rust crate)
4️⃣ 驗證選取的檔案為合法圖片格式
5️⃣ 輸出 @/path/to/image.png 引用到 stdout
6️⃣ Claude Code 捕捉並把圖片注入對話脈絡

支援平台

平台架構狀態
macOSApple Silicon(M 系列)✅ 預編譯二進位
macOSIntel✅ 預編譯二進位
Linuxx86_64✅ 預編譯二進位
Windowsx86_64✅ 預編譯二進位

從原始碼編譯(進階)

若你需要支援其他平台(如 ARM Linux)或想自訂版本:

Terminal
cargo install --git https://github.com/lazy-poet/claude-img

需要先安裝 Rust toolchain(參考 rustup.rs)。

解除安裝

macOS / Linux
rm ~/.local/bin/claude-img
rm -rf ~/.claude/skills/img
Windows(PowerShell)
Remove-Item "$env:LOCALAPPDATA\Programs\claude-img" -Recurse
Remove-Item "$env:USERPROFILE\.claude\skills\img" -Recurse

典型適用情境

🎨

Mockup Review

把多張 Figma 截圖丟給 Claude 做無障礙、設計一致性 review

📸

螢幕截圖比對

比對前後版本的截圖,讓 Claude 指出視覺差異

🐛

UI Bug 回報

把錯誤畫面截圖批次丟給 Claude 分析

📊

多圖表分析

送出多張 chart、dashboard 截圖讓 Claude 統整觀察

📐

架構圖討論

多張白板照、架構草圖一起送給 Claude 評估

🖌️

Figma → Code

批次截圖整套 UI,讓 Claude 一次產生對應元件

💡 與其他工具搭配

配合 macOS 的 +Shift+5 連續截圖,或 Windows 的 Snipping Tool 批次截圖,然後用 /img 一次丟給 Claude — 設計 review、UI 開發、bug triage 的效率會大幅提升。

📚 延伸資源

GitHub:Lazy-poet/claude-img · License:MIT

Superpowers

結構化生命週期 + Skills 框架 — 已被 Anthropic 官方接受進入 Skills Marketplace。

⭐ 94k stars · Anthropic 認證

obra/superpowers

由 obra(Jesse Vincent)打造的 agentic skills 框架與軟體開發方法論 — 涵蓋 brainstorming、TDD、debugging、code review。

核心設計理念

Superpowers 不是一堆獨立工具,而是一個方法論框架。它把開發拆成明確的生命週期階段:

💡

Brainstorm

釐清想法、列出方案、找出最有價值的路徑

🧪

TDD

強制先寫測試的工作流,紅 → 綠 → 重構

🐛

Debug

系統化除錯流程,禁止盲猜

🔍

Review

結構化的 code review checklist

安裝

Superpowers 已收錄於 Anthropic 官方 Skills Marketplace:

Claude Code
/plugin marketplace add anthropics/skills
/plugin install superpowers

或從原始 repo 直接安裝:

Terminal
git clone https://github.com/obra/superpowers ~/.claude/skills/superpowers
cd ~/.claude/skills/superpowers
./install

典型工作流

1️⃣ brainstorm — 釐清做什麼
2️⃣ plan — 拆解任務
3️⃣ tdd — 紅綠重構循環
4️⃣ debug — 遇到問題系統化處理
5️⃣ review — 結構化稽核
💡 為何值得試?

Superpowers 的價值不在指令多寡,而在「強制紀律」— 當你的 Claude 沒有結構地亂跑時,這套框架會把它拉回正軌。

其他必裝擴充

2026 年社群推薦榜上不容錯過的擴充與資源。

📚 策展清單(從這裡找更多)

hesreallyhim/awesome-claude-code
⭐ 36.8k · 手動策展的權威清單。所有 Claude Code 資源的索引。
affaan-m/everything-claude-code
⭐ 141k · 大型聚合清單,幾乎所有東西都在這。
quemsah/awesome-claude-plugins
自動追蹤指標的 plugin 清單,已索引 15K+ repo。
punkpeye/awesome-mcp-servers
最完整的 MCP server 清單。

🧠 記憶與上下文

Claude-Mem — 跨對話長期記憶

讓 Claude 跨對話記住你的偏好、專案脈絡,不必每次重新解釋:

  • 用 SQLite + Chroma 做混合搜尋(含向量嵌入)
  • 自動萃取重要決策與偏好
  • 支援排除敏感資料
安裝
/plugin install claude-mem

🎨 設計與前端

Frontend Design Skill

強制 Claude 寫出有設計感的前端 — 禁用 Inter、Roboto 等過度使用的字型,強迫產出大膽、有辨識度的設計。

shadcn/ui Skills

整套 shadcn/ui 元件的程式碼產生器,包含表單、表格、儀表板等樣板。

📊 資料處理

claude-office-skills — Office 文件操作

  • PPTX 簡報自動產生
  • DOCX 文件編輯
  • XLSX 試算表自動化
  • PDF 處理

csv-data-summarizer-claude-skill

自動分析上傳的 CSV — 摘要統計、缺失值偵測、用 pandas 產生快速視覺化。

🔌 SaaS 整合

connect-apps — 一鍵連 500+ SaaS

由 ComposioHQ 維護,把 Claude 變成 SaaS 服務的工作流編排器:GitHub、Slack、Gmail、Notion、Linear、Jira、Stripe、HubSpot 等都支援。

安裝
/plugin install connect-apps

Linear Plugin — 任務追蹤整合

直接從 Claude Code 拉 Linear ticket、更新狀態、管理 issue — 不必離開終端機。

🧪 開發品質

Local-Review — 平行多代理 review

同時派多個代理本地 review diff,commit 前就先抓到問題。

solid-skills — SOLID 原則強化

強迫 Claude 遵循 SOLID 原則、TDD、Clean Architecture。

📦 大型 Skill 集合

Antigravity Awesome Skills

⭐ 22k+ · 跨平台社群維護的 1,234+ 個 agentic skills,支援 Claude Code、Cursor、Gemini CLI、Codex CLI、GitHub Copilot。

Terminal
npx antigravity-awesome-skills --claude
npx antigravity-awesome-skills --cursor
npx antigravity-awesome-skills --gemini

🎓 學習資源

📖 推薦閱讀

打造自己的 Skill 包

學會了怎麼用,下一步是打造屬於你或團隊的 skill 包,分享給社群。

SKILL.md 標準格式

2026 年起,Claude Code、Cursor、Gemini CLI、Codex CLI、GitHub Copilot 都採用統一的 SKILL.md 規格。你寫一次,跨工具都能用。

SKILL.md 範本
---
name: my-awesome-skill
description: 一句話描述這個 skill 做什麼
version: 1.0.0
author: Your Name
tags: [python, testing, automation]
triggers:
  - "幫我寫測試"
  - "add tests"
  - "pytest"
arguments:
  - name: target_file
    description: 要寫測試的目標檔案
    required: true
tools: Read, Write, Edit, Bash
---

# My Awesome Skill

你是測試專家,當使用者要寫測試時:

1. 先讀 {{target_file}}
2. 識別公開的 function / class
3. 為每個寫至少 3 個測試(happy / edge / error)
4. 用 pytest fixtures,避免重複
5. 完成後跑測試確認都過

絕對遵守:
- 不修改原本的 production code
- 不要 mock 不需要 mock 的東西
- 測試名稱要 self-documenting

建立 Skill 包的步驟

規劃結構

資料夾結構
my-skill-pack/
├── README.md
├── LICENSE
├── package.json
├── skills/
│   ├── test-writer/
│   │   └── SKILL.md
│   ├── code-reviewer/
│   │   └── SKILL.md
│   └── deploy/
│       └── SKILL.md
├── agents/
│   └── security-auditor.md
├── hooks/
│   └── pre-commit-scan.sh
└── setup.sh

用 skill-creator 加速

Anthropic 官方提供的 skill-creator 能引導你建立高品質 skill:

Claude Code
/plugin install skill-creator
/skill create

撰寫安裝腳本

setup.sh
#!/bin/bash

set -e

TARGET="$HOME/.claude/skills/my-skill-pack"
SOURCE="$(cd "$(dirname "$0")" && pwd)"

mkdir -p "$TARGET"

for skill in "$SOURCE/skills"/*; do
    name=$(basename "$skill")
    ln -snf "$skill" "$TARGET/$name"
done

echo "✅ Skills 已安裝到 $TARGET"

測試與發佈

  1. 本地測試:執行 ./setup.sh 安裝,在 Claude Code 試用
  2. 建立 GitHub repo,加上清楚的 README
  3. 提交到社群清單(例如 awesome-claude-code)
  4. 若品質夠高,可以申請進 Anthropic 官方 marketplace

撰寫好 Skill 的原則

1. 一個 Skill 做一件事

不要在同一個 SKILL.md 裡塞太多功能。「寫測試」和「做 code review」應該是兩個 skill。

2. 觸發條件要明確

triggers 列表要涵蓋自然語言的多種說法(中英文、口語、技術術語)。

3. 限制工具權限

只要求必要的工具。一個只讀分析的 skill 不應該有 WriteBash 權限。

4. 提供範例對話

在 SKILL.md 內附上「使用者怎麼說 → skill 怎麼回」的範例,讓 Claude 更容易理解預期行為。

5. 強制紀律

用「絕對遵守」、「禁止」、「必須」這類強烈詞彙比「最好」、「建議」有效得多。

從熱門套件學習

想學什麼?看哪個專案的原始碼
多代理協作oh-my-claudecode
角色扮演與流程gstack
方法論框架Superpowers
SaaS 整合connect-apps
記憶系統Claude-Mem
🌟 分享給社群

寫好的 skill 別藏私!提交到 awesome-claude-code 清單,或是發佈到 npm。讓更多人受益的同時,你也會收到回饋讓 skill 變得更好。

Headless 模式與 CI/CD

在沒有互動的環境中執行 Claude Code — 自動化、CI、機器人、批次處理。

什麼是 Headless 模式?

-p (print) 旗標啟動 Claude Code,就進入 headless 模式:

  • 不開啟互動介面
  • 執行完任務就退出
  • 輸出可被腳本讀取
  • 適合 CI、cron、shell script
Terminal
claude -p "列出專案中所有 TODO 註解並彙整成清單"

常用旗標

旗標用途
-p / --printPrint mode(headless)
--max-turns N限制最多 N 輪互動
--output-format json輸出 JSON(方便解析)
--allowed-tools "Read,Edit"限制可用工具
--disallowed-tools "Bash"禁用某些工具
--model opus指定模型
--add-dir path加入工作目錄
--mcp-config file.json載入 MCP 設定

實戰:CI/CD Pipeline

範例 1:PR 自動 Review

.github/workflows/claude-review.yml
name: Claude Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
      contents: read
    
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      
      - name: Install Claude Code
        run: curl -fsSL https://claude.ai/install.sh | bash
      
      - name: Review PR
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          claude -p "分析此 PR 的變更(diff: $(git diff origin/main)),
          
          給出 code review,包含:
          - 🔴 Must fix(必須修正)
          - ⚠️ Suggestions(建議改善)
          - 💡 Nitpicks(細節)
          
          以 GitHub review comment 格式回應,
          用 gh pr review --comment 提交" \
            --max-turns 20 \
            --allowed-tools "Read,Grep,Bash"

範例 2:自動修 Lint 錯誤

.github/workflows/auto-fix.yml
name: Auto-fix Lints

on:
  workflow_dispatch:    # 手動觸發
  schedule:
    - cron: '0 2 * * *'   # 每日凌晨 2 點

jobs:
  fix:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v3
      - run: uv sync
      
      - name: Install Claude
        run: curl -fsSL https://claude.ai/install.sh | bash
      
      - name: Auto-fix
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p "跑 ruff check,找出所有可修復的錯誤,修掉。
          不要改變任何邏輯,只做 ruff 建議的修正。
          完成後再跑一次 ruff 確認都過了。" \
            --max-turns 10
      
      - name: Create PR
        uses: peter-evans/create-pull-request@v6
        with:
          commit-message: "chore: auto-fix lint issues"
          title: "🤖 Auto-fix lint issues"
          branch: chore/auto-fix-lints

範例 3:批次處理腳本

scripts/migrate-all.sh
#!/bin/bash
# 把所有 Python 檔案的 print() 改成 logging

for file in $(find src -name "*.py"); do
    echo "Processing $file..."
    
    claude -p "檔案 $file 中的所有 print() 都改成 logging.info()。
    保留原本要印的訊息。如果有 print(..., file=sys.stderr) 改成 logging.error()" \
        --max-turns 5 \
        --allowed-tools "Read,Edit" \
        --output-format json > "logs/$(basename $file).log"
done

解析 JSON 輸出

Bash
result=$(claude -p "列出所有 TODO" --output-format json)

# 取最終訊息
echo "$result" | jq '.final_response'

# 取 token 使用量
echo "$result" | jq '.usage.total_tokens'

進階應用場景

🤖

聊天機器人

把 Claude Code 接到 Slack/Discord,讓團隊用自然語言查程式碼

📊

每日報告

每天自動分析 git log、generate 開發進度報告

🔍

合規檢查

定期掃描程式碼是否符合內部規範與安全標準

📚

文件同步

API 改動時自動更新文件、生成 changelog

⚠️ Headless 模式的成本考量
  • Headless 必須用 ANTHROPIC_API_KEY,按 token 計費(不能用訂閱)
  • --max-turns 限制避免暴衝
  • --allowed-tools 限制權限(especially 在 CI 中)
  • 監控用量,設定預算警報
  • 非 critical 任務改用 Haiku,省 5-10 倍成本
🎉 學習旅程到此告一段落

恭喜你完整看完這份指南!從安裝到多代理自動化,你已經掌握了 Claude Code 的全貌。接下來就是動手實作,把這些技巧應用到你的專案中。記得,最快的學習方式就是用 Claude Code 寫下一個專案 — 邊用邊問、邊學邊試。

← 回資源庫