歡迎來到 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 加速開發的任何人。完全沒接觸過終端機也沒關係,安裝章節會手把手帶你完成。
如何使用本網站
左側導覽列分為七大區塊,建議按照順序學習:
- 入門:了解 Claude Code 的定位與優勢
- 安裝與設定:手把手完成 Windows / Mac 的安裝
- 常用指令:依分類學習所有核心指令
- Python 開發:建立第一個 Claude Code 加持的 Python 專案
- Git & GitHub:用 Claude Code 取代繁瑣的版本控制操作
- 規格驅動開發:學會用文件先行的方式產出高品質程式
- 進階應用:解鎖子代理、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 編程代理完整比較。
三大廠商正面對決
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 |
|---|---|---|---|
| 廠商 | Anthropic | OpenAI | |
| 最新模型 | Claude Opus 4.7 | GPT-5.5 | Gemini 3.5 Flash |
| 模型發佈 | 2026/3 | 2026/4/23 | 2026/5/19 |
| 輸出速度 | ~80 tok/s | ~120 tok/s | 289 tok/s |
| SWE-Bench Verified | 業界第一 | 強 | 強 |
| Terminal-Bench 2.0 | — | 82.7% | 54.2% |
| 長 context 推理 | 最佳 | 強 | 強 |
| 多代理 | Sub-agents(循序) | 循序處理 | 原生平行 |
| 沙箱 | 本地 / 容器 | 容器 | Google 託管 Linux |
| 桌面 App | ❌ | ✅ Codex App | ✅ Antigravity IDE |
| IDE 擴充 | ❌ | VSCode、JetBrains | VSCode 擴充相容 |
| SDK | API 可用 | API 可用 | 原生 SDK(Py/TS/Go) |
| 語音命令 | ❌ | ❌ | ✅ 原生 |
| 瀏覽器整合 | MCP 連接 | 選用 | 內建 Chrome 擴充 |
| 行動裝置 | ❌ | ✅ Codex Mobile | ❌ |
🛠️ 安裝指令對照
macOS / Linux
# 🟧 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
# 🟧 Claude Code
winget install Anthropic.ClaudeCode
# 🟢 Codex CLI
winget install OpenAI.Codex
# 🔵 Antigravity CLI
winget install Google.Antigravity
啟動指令
claude # 🟧 互動模式
codex # 🟢 互動模式
antigravity # 🔵 互動模式
# 認證(首次使用)
claude /login
codex login
antigravity auth login
💰 訂閱方案對照
| 方案 | Claude Code | Codex CLI | Antigravity 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 Code | CLAUDE.md | 專案根 / ~/.claude/ |
| Codex CLI | AGENTS.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 | SWE-Bench 第一,長 context 理解最強 |
| 需要極速輸出 | 🔵 Antigravity CLI | 289 tok/s,3.5 倍速度優勢 |
| 需要平行處理多任務 | 🔵 Antigravity CLI | 原生多代理平行架構 |
| 已訂閱 ChatGPT | 🟢 Codex CLI | 共用既有訂閱額度 |
| 需要長時間自動執行 | 🟢 Codex CLI | Goal Mode 可連續執行數小時/天 |
| 需要在手機上 review code | 🟢 Codex CLI | 有 Codex Mobile app |
| 需要視覺化 IDE 體驗 | 🔵 Antigravity | 有官方 Desktop IDE |
| 需要可程式化 SDK | 🔵 Antigravity CLI | Python/TS/Go 原生 SDK |
| 豐富的社群擴充 | 🟧 Claude Code | oh-my-claudecode、gstack、Superpowers 等 |
| 需要語音命令 | 🔵 Antigravity CLI | 2026/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 指令同時呼叫三個模型給意見,取最優方案。適合架構決策、難題分析。
/ccg "我們的資料庫應該選 PostgreSQL 還是 MongoDB?"
# 同時取得 Claude、Codex、Gemini 三方意見
📦 從別的工具遷移
從 Gemini CLI → Antigravity CLI
Gemini CLI 已退役(2026 Q3),官方提供一鍵遷移:
antigravity migrate --from-gemini-cli
從 Codex CLI 舊版 → 新版
升級到支援 GPT-5.5 的最新版:
npm install -g @openai/codex@latest
從 Claude Code 舊版 → 新版
claude --update
# 或重新跑安裝指令
📈 速度與品質的取捨
🤔 我該選哪一個?
- 重視程式碼品質勝於速度
- 常做大型重構、跨檔案邏輯
- 想要最豐富的客製化與社群擴充
- 偏好 terminal-first 工作流
- 需要 SWE-Bench 業界第一的編程能力
- 已經有 ChatGPT 訂閱想善用
- 需要跨 CLI / IDE / Web / Mobile 無縫切換
- 常做 Goal mode 長時間自動執行
- 使用 macOS 想用 Appshots 截圖整合
- 在 Microsoft / Azure 生態系工作
- 速度與多代理平行是首要考量
- 需要 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:
curl -fsSL https://claude.ai/install.sh | bash
安裝器會自動下載並安裝 Claude Code 到 ~/.local/bin,無需 Node.js,會自動更新。
替代方案:用 Homebrew 安裝
如果你已經用 Homebrew 管理所有套件,可以這樣裝:
# 穩定版(推薦)
brew install claude-code
# 最新版(搶先體驗)
brew install claude-code@latest
Homebrew 安裝不會自動更新,需要定期執行 brew upgrade claude-code。
驗證安裝成功
關掉終端機再重開(或執行 source ~/.zshrc),然後輸入:
claude --version
應該會顯示版本號(例如 2.x.x)。若顯示「command not found」請翻到「故障排除」章節。
打開 PowerShell
按下鍵盤左下角的 Windows 鍵,直接輸入 powershell,點選「Windows PowerShell」開啟。
PowerShell 就是 Windows 版的終端機,所有指令在這裡執行。
使用原生安裝器(推薦方式)
複製下方指令貼到 PowerShell 並按 Enter:
irm https://claude.ai/install.ps1 | iex
irm 是 Invoke-RestMethod 的縮寫,iex 是 Invoke-Expression。整段意思是「下載安裝腳本並執行」。
安裝完成後,設定 PATH 系統環境變數,讓系統能找到 claude.exe 的位置。複製下方指令貼到 PowerShell 並按 Enter:
$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 安裝最穩定:
winget install Anthropic.ClaudeCode
另一個替代:WSL(適合進階使用者)
如果你習慣 Linux 環境,可以先裝 WSL2 再用 Linux 方式安裝:
wsl --install -d Ubuntu
裝完後重啟,進入 Ubuntu 再用 Linux 安裝指令。
驗證安裝成功
關掉 PowerShell 再重開,輸入:
claude --version
應該會顯示版本號。若失敗,請翻到「故障排除」章節。
Claude Code 在 Windows 上需要 Git 來支援版本控制操作,請至 git-scm.com 下載安裝。同時建議安裝 Node.js,部分擴充與工具會用到,請至 nodejs.org/zh-tw/download 下載安裝。
原生安裝器(所有發行版通用)
curl -fsSL https://claude.ai/install.sh | bash
套件管理器安裝
各發行版的原生套件:
Debian / Ubuntu
sudo apt update
sudo apt install claude-code
Fedora / RHEL
sudo dnf install claude-code
Alpine
apk add claude-code
驗證安裝
claude --version
claude doctor # 檢查環境是否正確
接著到「設定 cc 捷徑」章節,幫 claude 取個短綽號,每次少打四個字。
設定 cc 一鍵捷徑
每次要叫 Claude Code 都打 claude 有點長,幫它取個綽號叫 cc,之後只要兩個字母就能啟動。這在技術上叫做 alias(別名)。
確認你用的是哪個 Shell
Mac 預設 Shell 是 Zsh。執行以下指令確認:
echo $SHELL
如果顯示 /bin/zsh → 用 .zshrc;如果是 /bin/bash → 用 .bashrc 或 .bash_profile。
加入 alias 到設定檔
用以下指令一次完成(Zsh 用戶):
echo 'alias cc="claude"' >> ~/.zshrc
Bash 用戶請把 .zshrc 改成 .bashrc。
讓設定立即生效
source ~/.zshrc
或是關掉終端機再重開,效果一樣。
測試 cc 是否能用
cc --version
有顯示版本號就成功了!🎉
找到你的 PowerShell Profile
在 PowerShell 執行:
echo $PROFILE
會顯示一個路徑,類似:C:\Users\你的名字\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
若 Profile 不存在就建立它
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }
加入 cc 別名
Add-Content $PROFILE 'Set-Alias cc claude'
允許執行 Profile(首次設定)
PowerShell 預設不允許執行腳本,需要放寬權限:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
讓設定生效並測試
. $PROFILE # 重新載入 profile
cc --version # 測試
看到版本號就成功了!🎉
把上面的 cc 換成任何你喜歡的,例如 ai、code、q。注意不要跟現有指令重複。
首次啟動 Claude Code
安裝完成、別名設好了,現在來啟動 Claude Code 並完成登入。
進入你的專案資料夾
Claude Code 會以「目前資料夾」為工作目錄。先 cd 到你的專案目錄:
cd ~/projects/my-app
# 或建立新專案資料夾
mkdir hello-claude
cd hello-claude
啟動 Claude Code
cc # 或 claude(如果沒設別名)
首次啟動會跳出登入流程。
選擇登入方式
Claude Code 提供三種驗證方式:
- Claude 訂閱方案登入(推薦):用 Pro / Max / Team 帳號登入,會跳到瀏覽器完成 OAuth
- Anthropic Console API Key:用 API Key 計費,適合企業或大量呼叫
- 雲端供應商:AWS Bedrock、Google Vertex AI、Azure Foundry
選第一個,瀏覽器會自動打開讓你授權。
看到提示符號就成功了
╭─────────────────────────────────────╮
│ ✻ Welcome to Claude Code │
│ │
│ /help for help, /status for status │
╰─────────────────────────────────────╯
> _
看到 > 符號就表示 Claude 在等你輸入指令了!
跟 Claude 說第一句話
試著輸入:
幫我建立一個 hello.py,印出 "Hello, Claude Code!"
Claude 會建立檔案、寫入內容,並詢問你是否要執行它。恭喜,你正式踏出第一步了!🎉
啟動模式選項
| 指令 | 用途 |
|---|---|
cc | 互動模式(最常用) |
cc "幫我修這個 bug" | 單句任務後直接結束 |
cc --continue | 接續上次對話 |
cc --resume | 選擇要恢復的歷史對話 |
cc --model opus | 指定使用 Opus 模型 |
安裝故障排除
遇到問題不要慌!這裡整理了最常見的安裝錯誤與解決方案。
原因:Shell 還沒讀到新的 PATH 設定。
解法:
- 關掉終端機完全重新開啟
- 或手動執行
source ~/.zshrc(Mac)/. $PROFILE(Windows) - 檢查 PATH:
echo $PATH應該包含~/.local/bin
# 手動加入 PATH(Mac/Linux)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
原因:某些 Windows 環境下原生安裝器會靜默失敗。
解法:改用 WinGet:
winget install Anthropic.ClaudeCode
WinGet 會有清楚的進度條與成功訊息。
原因:PowerShell 預設執行原則不允許腳本。
解法:以系統管理員身分執行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
解法:Claude Code 會顯示一個 URL,手動複製到瀏覽器即可。登入完成後它會自動偵測到。如果還是失敗,可以改用 API Key:
export ANTHROPIC_API_KEY="sk-ant-..."
cc
使用 ANTHROPIC_API_KEY 會走 API 計費,不是訂閱方案的額度。若想用訂閱請先 unset ANTHROPIC_API_KEY。
解法:
- 檢查網路是否穩定,必要時開啟 VPN
- 若你在中國大陸地區,需要 VPN 才能順利存取 Anthropic 服務
- 改用 Homebrew 或 WinGet 鏡像
Claude Code 內建診斷工具,能自動檢測環境問題:
claude doctor
它會檢查 PATH、Node 版本(如有用到)、權限、網路、API 連線等,並給出修復建議。
基礎指令
最常用、最基本的指令,從這裡開始熟悉 Claude Code 的對話介面。
會話控制
詳細用法
/help — 你的萬用查詢
不確定有什麼指令?打 /help 就對了。Claude 會列出所有指令及說明。
> /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 — 完全重置
當你想開始一個全新主題時使用。所有對話歷史會被清除,但專案檔案不會受影響。
如果只是 context 太長但還想保留邏輯,請用 /compact,它會總結後保留重點。
/compact — 聰明地節省 token
當對話累積很長後,Claude 會請你 /compact。它會:
- 把過往對話總結成精簡的記錄
- 保留關鍵決策、檔案修改、進行中的任務
- 清掉重複內容與已完成的細節
# 一般 compact
> /compact
# 帶上指示,告訴 Claude 該保留什麼
> /compact 請特別保留資料庫 schema 設計和 API 路由規劃
/status — 看看你用了多少
顯示目前狀態:
- 登入帳號
- 使用的模型
- 本次對話 token 使用量
- 訂閱方案剩餘額度
- 專案根目錄
模型與設定指令
控制 Claude 使用哪個模型、調整權限、查看花費。
模型管理
/model — 切換模型
Claude Code 支援多個模型,可依需求切換:
> /model
選擇模型:
> opus - 最強推理能力,適合複雜任務(耗 token 多)
sonnet - 平衡選擇,日常開發推薦
haiku - 最快最便宜,適合簡單任務
| 模型 | 強項 | 適用情境 |
|---|---|---|
| Opus 4.7 | 最強推理、跨檔案理解 | 架構設計、複雜重構、Debug 難題 |
| Sonnet 4.6 | 速度與品質平衡 | 日常開發、寫測試、文件 |
| Haiku 4.5 | 速度最快、成本最低 | 簡單編輯、批次重命名、格式化 |
設定與權限
/config — 開啟設定面板
調整 Claude Code 的各種行為:
> /config
設定項目:
- 預設模型
- 通知偏好
- 自動 commit 行為
- 編輯器整合(VSCode、Cursor)
- 主題(淺色 / 深色)
- 語言偏好
/permissions — 管理工具權限
控制 Claude 能執行哪些動作。第一次跑某些指令時 Claude 會詢問權限,這裡可統一管理:
> /permissions
允許清單(不再詢問):
✓ Edit files
✓ Run: npm test
✓ Run: git commit
拒絕清單:
✗ Run: rm -rf
✗ Run: sudo *
把常用且安全的指令加入允許清單,例如 pytest、git status、npm run dev,避免每次都要按 yes。
/cost — 查看 token 消耗
看看你這次對話花了多少:
> /cost
本次對話:
Input tokens: 45,231
Output tokens: 8,452
Estimated cost: $0.42
訂閱方案使用率: 12%
輸出與顯示
/output-style — 輸出風格
調整 Claude 回應的詳細程度:
default:標準對話模式concise:簡潔,只給結論explain:詳細解釋每一步
/theme — 切換主題
支援淺色與深色主題:
> /theme dark
> /theme light
檔案與專案指令
告訴 Claude 你的專案結構、引用檔案、管理記憶。
初始化專案
/init — 自動分析專案並生成 CLAUDE.md
第一次在新專案使用 Claude Code,先跑這個:
> /init
Claude 會:
1. 掃描專案結構
2. 識別語言、框架、套件管理工具
3. 找出主要目錄與檔案
4. 生成 CLAUDE.md(專案指南)
5. 建議常用指令(測試、建構、執行)
檔案引用
@ 符號 — 直接引用檔案
在訊息中輸入 @ 會彈出檔案選擇器:
> 幫我重構 @src/utils/api.py,把所有 sync 函式改成 async
> 比較 @models/user.py 和 @models/admin.py 的差異
/add-dir — 加入額外的工作目錄
預設 Claude 只能存取目前資料夾。如要存取其他目錄:
> /add-dir ~/projects/shared-lib
✓ 已加入 ~/projects/shared-lib,現在可以引用此目錄的檔案
記憶管理
/memory — 編輯 CLAUDE.md 與全域記憶
查看與編輯 Claude 的記憶層次:
> /memory
記憶層次:
1. 全域:~/.claude/CLAUDE.md (所有專案共用)
2. 專案:./CLAUDE.md (此專案的指引)
3. 子目錄:./src/CLAUDE.md (特定目錄的細節)
# 開頭 — 即時加入記憶
在對話中以 # 開頭的訊息,會被永久寫入 CLAUDE.md:
> # 這個專案的所有 API 路由前綴都是 /api/v2
> # 測試用 pytest,覆蓋率目標 90%
> # 不要修改 legacy/ 資料夾的程式碼
下次對話 Claude 會自動記得這些規則。
對話管理
代理與擴充指令
管理子代理、MCP 伺服器、Hooks、Skills 等進階擴充機制。
Sub-agents 子代理
/agents — 子代理管理
建立、查看、編輯專屬的子代理:
> /agents
選項:
1. 建立新代理(互動精靈)
2. 編輯現有代理
3. 列出所有代理
4. 刪除代理
5. 切換代理(針對當前對話)
建立代理時要設定:
- 名稱:例如
code-reviewer、test-writer - 觸發條件:什麼任務該派給這個代理
- 系統提示:定義它的專業角色與行為規範
- 可用工具:限制它能讀寫哪些檔案、執行哪些指令
MCP 伺服器
/mcp — 管理 MCP 連線
MCP (Model Context Protocol) 讓 Claude 能連接外部服務(資料庫、API、Figma、Notion 等):
> /mcp
已連線的 MCP servers:
✓ github (issues, PRs, repos)
✓ postgres (查詢、執行 SQL)
○ figma (未連線)
選項:
- add 新增 server
- remove 移除 server
- status 檢查連線狀態
- reconnect 重新連線
Hooks 鉤子
/hooks — 自動化觸發點
Hooks 讓你在特定事件發生時自動執行腳本。常見的觸發點:
| Hook 名稱 | 觸發時機 | 典型用途 |
|---|---|---|
pre-edit | Claude 編輯檔案前 | 備份、檢查鎖定狀態 |
post-edit | Claude 編輯檔案後 | 跑 formatter、linter |
pre-commit | Git commit 前 | 跑 pre-commit hooks |
session-start | 每次啟動 Claude Code | 載入專案專屬設定 |
tool-use | Claude 呼叫任何工具時 | 記錄日誌、稽核 |
Skills 技能
/skills — 自訂技能包
Skills 是可重複使用的「迷你工作流程」:把常用的多步驟操作打包成一個指令。
> /skills
可用技能:
/skill deploy 部署到 staging(含測試、build、上傳)
/skill release 建立 release(含版號、changelog、tag)
/skill onboard 新人 onboarding(讀文件、跑教學)
/skill bug-triage Bug 分類與初步分析
其他擴充指令
Git 整合指令
Claude Code 對 Git 與 GitHub 有深度支援,可大幅簡化日常版控操作。
內建 Git 工作流
自然語言操作 Git
不必記指令,直接用自然語言告訴 Claude:
> 把現在的變更分成兩個 commit,第一個是 bug 修復,第二個是新功能
> 看一下 main 跟我這個 branch 的差異,幫我寫 PR 描述
> rebase 到最新的 main,遇到衝突就停下來問我
/commit — 智慧 commit 訊息
Claude 會自動分析變更內容,產生符合 Conventional Commits 規範的訊息:
> /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 操作
# 建立 PR
> /pr create
# 列出 PR
> /pr list
# 檢視特定 PR
> /pr view 42
# 對 PR 加 review 意見
> /pr review 42
/review — 由 Claude 做 Code Review
Claude 會分析你的變更,從程式品質、潛在 bug、效能、安全性等角度給出建議:
> /review
🔍 Code Review 結果(5 個檔案,+234 -56 行)
✅ 通過:
- 命名清晰、結構合理
- 測試覆蓋良好
⚠️ 建議:
- api.py:45 未處理 ConnectionError,建議加 retry
- user.py:88 N+1 查詢問題,建議改用 select_related
- 缺少 README 更新
🔴 必須修正:
- auth.py:12 密碼以明文儲存(嚴重安全問題)
/issue — Issue 管理
> /issue list # 列出開啟中的 issue
> /issue view 123 # 看單一 issue 詳情
> /issue create # 建立新 issue
> /issue close 123 # 關閉 issue
# 或自然語言
> 找 issue 123,分析根因並幫我修復
Claude Code 預設使用 GitHub CLI (gh) 操作 GitHub。請先安裝並登入:gh auth login。
常見組合工作流
fix/issue-42實用技巧
這些「非指令」的功能能大幅提升你的工作效率。
輸入特殊符號
! 開頭 — 直接執行 Bash
不用切回終端機,直接執行 shell 指令:
> !ls -la
> !git status
> !pytest tests/test_api.py -v
> !npm run dev
輸出會留在對話脈絡中,Claude 看得到,後續分析更精準。
# 開頭 — 寫入記憶
以 # 開頭的訊息會永久寫入 CLAUDE.md:
> # 這個專案用 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:反斜線換行
> 幫我寫一個 Python script,需求是: \
這個 script 接受 CSV 檔案路徑當參數, \
讀取後印出每個欄位的統計資料, \
包含平均值、中位數、標準差。
方法 2:Alt+Enter 或 Ctrl+J(Mac 是 Option+Enter)
直接換行,按 Enter 才送出訊息。適合貼大段程式碼或文件。
方法 3:貼上多行內容
從別處複製多行文字直接貼上,Claude 會自動辨識為多行輸入。
圖片與多模態
直接拖曳圖片到終端機
Mac/Linux 上可以直接把圖片檔拖進 Claude Code 視窗,會自動轉成檔案路徑。例如:
- 把 Figma 截圖拖進來,請 Claude 寫 HTML/CSS
- 把錯誤訊息截圖丟進來,請 Claude 分析
- 把架構圖丟進來,請 Claude 寫對應的 code
剪貼簿貼圖
Mac:截圖後 ⌘ + V 直接貼到 Claude Code。Windows 也支援。
對話技巧
明確指示 vs 模糊指示
| ❌ 模糊 | ✅ 明確 |
|---|---|
| 「幫我改一下這個」 | 「在 UserModel 加 email_verified 欄位,預設 False,並更新對應的 schema migration」 |
| 「優化效能」 | 「get_users() 每次都查 DB,幫我加上 Redis 快取,TTL 5 分鐘」 |
| 「寫個測試」 | 「用 pytest 為 payment.process() 寫測試,包含成功、餘額不足、超時三種情境」 |
分階段執行複雜任務
> 我要做一個訂單管理系統。先不要寫程式,
我們分階段做:
階段 1:列出需要的資料模型(User、Order、Product...)
階段 2:設計 API 端點
階段 3:寫 schema migration
階段 4:實作 endpoint
階段 5:寫測試
我們先做階段 1,列出每個 model 需要的欄位。
讓 Claude 提問
當你不確定怎麼描述需求時:
> 我要建一個部落格網站,但還沒想清楚需求。
你來問我問題,幫我釐清。
停止與修正
中斷執行
按 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 | 檔案編輯不再詢問,直接執行(適合熟悉專案後) |
| Planning | Claude 只規劃不執行,先給你看計畫 |
複雜任務先用 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 的擴充大部分能直接相容 — 學一套等於學兩套。
本章節學什麼?
- VSCode 安裝:Windows、Mac、Linux 三平台
- Google Antigravity 2.0 安裝:三平台完整步驟
- 三大必裝擴充:繁體中文、Python、Office Viewer
- 整合 Claude Code:讓 IDE 與 Claude Code 無縫協作
VSCode 安裝
微軟出品、免費、跨平台、開源 — 全球最多開發者使用的編輯器。
選擇你的作業系統
執行安裝程式
- 同意授權條款
- 選擇安裝路徑(建議用預設)
- 勾選「加入 PATH」(重要!讓你能在終端機用
code指令) - 勾選「將 Open with Code 加入右鍵選單」(建議)
- 勾選「將 Code 設為支援檔案類型的編輯器」
確認安裝成功
開新的 PowerShell 視窗,輸入:
code --version
看到版本號就成功了。輸入 code . 會在目前資料夾打開 VSCode。
用 WinGet 一鍵安裝(替代方案)
winget install Microsoft.VisualStudioCode
方法 2:Homebrew(推薦)
brew install --cask visual-studio-code
把 code 指令加進 PATH
打開 VSCode → ⌘ + Shift + P → 輸入 shell command → 選「Install 'code' command in PATH」。
之後就能在終端機用:
code . # 在目前資料夾開啟
code ~/projects/my-app # 開啟特定專案
code hello.py # 開啟單一檔案
Debian / Ubuntu
# 加入 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
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
# 從 AUR 安裝
yay -S visual-studio-code-bin
VSCode 介面快速導覽
┌─────────────────────────────────────────────┐
│ [≡] File Edit ... ← 選單列 │
├──┬──────────────────────────────────────────┤
│📁│ │
│🔍│ ← 主編輯區 │
│🔃│ │
│🐛│ │
│🧩│ Extensions 在這 ↑ │
│⚙️│ │
├──┴──────────────────────────────────────────┤
│ > Terminal(PowerShell / bash / zsh) │ ← Ctrl+`
└─────────────────────────────────────────────┘
↑
左側活動列:檔案、搜尋、版控、除錯、擴充、設定
必學快捷鍵
| 功能 | Windows/Linux | Mac |
|---|---|---|
| 命令面板(萬用) | 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。
什麼是 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 為主。
選擇你的作業系統
執行安裝
- 雙擊
.exe啟動安裝精靈 - 同意授權條款
- 選擇安裝路徑(建議用預設)
- 勾選「加入 PATH」
- 勾選「建立桌面捷徑」
首次啟動
- 選擇主題(淺色 / 深色 / 高對比)
- 從 VSCode / Cursor 匯入設定(推薦,省去重複設定)
- 用 Gmail 登入 Google 帳號
- 同意 Gemini 模型使用條款
確認版本
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 指令:
按 ⌘+Shift+P
> Install 'antigravity' command in PATH
Debian / Ubuntu
用以下指令一次完成 repo 加入與安裝:
# 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
# 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
antigravity # 啟動 IDE
antigravity . # 在目前目錄啟動
antigravity --version # 查看版本
初次體驗:給 Antigravity 第一個任務
打開 Agent Manager
右上角點選「Agents」面板(或按 Ctrl+Shift+A)。
建立新 agent 任務
幫我建立一個 FastAPI 待辦清單 API:
- GET /todos 列出所有
- POST /todos 新增
- PUT /todos/{id} 更新
- DELETE /todos/{id} 刪除
- 用 SQLite 儲存
- 寫對應的 pytest 測試
觀察 agent 工作
Antigravity 會在右側面板顯示 agent 的思考過程:
- 📋 規劃步驟
- 📁 建立檔案
- ✏️ 編輯程式碼
- ▶️ 跑測試確認
- ✅ 回報完成
整個過程你可以監督、暫停、修改方向。
Antigravity vs Claude Code
| 面向 | Antigravity | Claude Code |
|---|---|---|
| 模型 | Gemini 3 Pro / Flash | Claude Opus / Sonnet / Haiku |
| 主介面 | 圖形化 IDE | 終端機 CLI |
| 瀏覽器整合 | 內建 Chrome 擴充 | 選用 MCP 連接 |
| 多代理 | 內建 Agent Manager | Sub-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:用指令列安裝
# 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": "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 核心介面、選單、命令面板都會變繁體,但第三方擴充的設定面板可能仍是英文。
檢查:
- 確認擴充已啟用(不是 disabled 狀態)
- 檢查
locale.json設定是否正確 - 完全關閉所有 VSCode 視窗再重開(不只是 reload window)
- 用命令面板「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 以上版本:
python --version
# 或
python3 --version
如果沒有,請依平台安裝:
- Mac:
brew install python@3.12 - Windows:
winget install Python.Python.3.12或從 python.org 下載 - Linux:
sudo apt install python3 python3-pip python3-venv
打開擴充市集
按 Ctrl+Shift+X(Mac: ⌘+Shift+X)打開擴充面板。
搜尋並安裝 Python 擴充
搜尋:
Python
第一個結果是 Python by Microsoft(識別 ID:ms-python.python),有藍勾驗證標記。點「Install」。
安裝後會自動安裝三個配套擴充:
- Pylance(
ms-python.vscode-pylance)— 強大的語言伺服器 - Python Debugger(
ms-python.debugpy)— 除錯器 - Python Environments(
ms-python.vscode-python-envs)— 環境管理
指令列一行安裝(替代方案)
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:
{
// 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 來設定除錯設定檔:
{
"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 Over | F10 |
| Step Into | F11 |
| 跳到定義 | F12 |
| 查找引用 | Shift+F12 |
| 重新命名 | F2 |
在 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」。
指令列安裝
code --install-extension cweijan.vscode-office
安裝強化版
code --install-extension rjwang.vscode-office-enhanced
支援的檔案格式
| 類型 | 副檔名 | 功能 |
|---|---|---|
| Word | .docx / .doc | 檢視文件內容、保留格式 |
| Excel | .xlsx / .xls / .csv | 表格檢視、多工作表 |
| PowerPoint* | .pptx | 強化版才支援 |
.pdf | 文件預覽、頁面導覽 | |
| Markdown | .md | WYSIWYG 編輯器(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 加上:
{
"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 產出 Excel / Word 報表時,你可以直接在 IDE 內雙擊預覽結果,不必跳出去 — 工作流程更順暢。例如:「幫我把 data.csv 整理成 summary.xlsx」,產生後直接在旁邊打開查看。
整合 Claude Code 與 IDE
讓 IDE 與 Claude Code 無縫協作 — 最高效的開發配置。
推薦工作配置
配置 1:經典單視窗
┌──────────────┬──────────────────────────────┐
│ │ │
│ 📁 檔案 │ 📝 程式碼編輯區 │
│ 總管 │ │
│ │ │
│ ├──────────────────────────────┤
│ │ │
│ │ $ 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 加入:
## 開發環境
- 編輯器:VSCode
- 必裝擴充:Python (ms-python.python)、Ruff、Office Viewer
- 終端機:在 VSCode 內建終端機跑指令
- Debug:用 launch.json 的 "Python: 當前檔案" 設定檔
讓 Claude 用 VSCode 開檔案
Claude Code 可以呼叫系統指令打開特定檔案:
> 把剛剛產生的測試結果用 VSCode 開出來給我看
> !code reports/coverage.html
> 開啟剛建立的 Excel 報表
> !code output/sales_summary.xlsx
共享設定範本
讓團隊每個人的 IDE 設定一致,建立 .vscode/ 資料夾並 commit 到 git:
{
// 開啟這個 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 與 Claude 各自分析一次,比較兩邊的方案 — 通常能找到單一模型想不到的角度。Gemini 對視覺、瀏覽器任務強;Claude 對長 context 的程式碼推理強。
常用快速指令
在 VSCode / Antigravity 中設定快速鍵,呼叫 Claude Code:
[
{
// 在終端機跑 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:
{
"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 + pip | Python 內建,最基本 | 慢 |
uv ⭐ | 2024+ 最熱門,超快 | 極快 |
poetry | 需依賴管理+發佈套件 | 中等 |
pipenv | 傳統選擇 | 慢 |
推薦方式:用 uv 建立專案
安裝 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
irm https://astral.sh/uv/install.ps1 | iex
建立專案
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
git init
git add .
git commit -m "chore: initial commit"
cc
> /init # 讓 Claude 分析專案並生成 CLAUDE.md
推薦的專案結構
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
必裝的開發工具
CLAUDE.md 完整指南
CLAUDE.md 是專案級的「使用說明書」,給 Claude 看的。寫好它能大幅提升 Claude 對你專案的理解。
三層記憶架構
~/.claude/CLAUDE.md — 個人偏好(所有專案共用)./CLAUDE.md — 此專案的規範與背景./src/CLAUDE.md — 特定模組的細節Python 專案 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,所有專案都會載入:
# 個人開發偏好
## 回應風格
- 用繁體中文回答
- 程式碼註解用英文,討論用中文
## 程式碼風格
- 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 幫忙:
> 我們今天加了 Celery 跑背景任務,請更新 CLAUDE.md
把 Celery 加入技術棧,並補上啟動 worker 的指令
如果某個子目錄(如 ./frontend/)有特殊規範,可在那邊放一份 CLAUDE.md。Claude 進入該目錄工作時會自動載入。
Python 開發核心工作流
用 Claude Code 加速日常 Python 開發的最佳實踐。
工作流程 1:從零實作新功能
清楚描述需求
> 我要做使用者註冊功能:
需求:
- 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 實作(建議先寫測試)
> 開始實作。請先寫測試(失敗的),再寫實作讓測試通過。
每完成一個檔案就跑一次測試確認。
檢視與修正
> 跑 ruff、mypy、pytest,把所有警告修掉
> /review # 讓 Claude 自評
Commit 與 PR
> 幫我建 branch、commit、push、開 PR,
PR 描述要列出主要變更與測試結果
工作流程 2:修 Bug
工作流程 3:重構
> @src/services/order_service.py 這個檔案太大了(800 行),
幫我拆成幾個小檔案。
原則:
1. 先確認所有測試通過
2. 規劃拆分方案後給我確認
3. 一次只動一塊,每動完跑一次測試
4. 保持 API 不變(外部呼叫不能壞)
5. 完成後跑完整測試套件
工作流程 4:學習陌生程式碼
> 我剛接手這個專案,幫我:
1. 畫出主要模組之間的關係
2. 列出最重要的 5 個檔案
3. 解釋整個請求的處理流程
4. 找出可能的技術債或風險點
工作流程 5:升級依賴
> 把 SQLAlchemy 從 1.4 升到 2.0。
請:
1. 先看 release notes 找出 breaking changes
2. 列出我們專案中需要改的地方
3. 一個個改、改完跑測試
4. 全部過了再 commit
測試驅動開發 (TDD)
Claude Code 是執行 TDD 的絕佳夥伴 — 它可以同時寫測試、寫實作、跑測試、修錯。
為什麼用 Claude 做 TDD 特別有效?
- 測試即規格:寫測試的過程就是把需求講清楚的過程,Claude 因此更理解你要什麼
- 快速迭代:Claude 可以在幾秒內寫完測試、實作、跑測試,迅速取得反饋
- 避免過度設計:先寫測試讓 Claude 只實作必要的程式碼
標準 TDD 循環
實戰範例:用 TDD 開發購物車
Step 1:請 Claude 進入 TDD 模式
> 我們要用 TDD 開發購物車模組。遵循這個流程:
1. 我給需求,你先寫測試
2. 跑測試確認失敗
3. 寫最小實作讓測試通過
4. 跑測試確認綠燈
5. 看是否需要重構
測試框架:pytest
專案結構:src/cart/ + tests/test_cart.py
第一個功能:建立空購物車
Step 2:Claude 寫第一個測試
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:跑測試(會失敗)
$ 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 寫最小實作
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:繼續下一個功能
> 下一個:加入商品到購物車,可以指定數量。
繼續 TDD 流程。
進階:屬性測試與邊界測試
> 為 Cart.add_item() 補上邊界與錯誤測試:
- 加入負數量應該 raise ValueError
- 加入價格為 0 的商品應該被允許
- 加入相同商品應該累加數量
- 加入後 is_empty() 必須回 False
用 pytest.mark.parametrize 整理
覆蓋率管理
> !uv run pytest --cov=src --cov-report=term-missing
> 看 coverage 報告,找出沒被覆蓋到的行,
為這些情境補上測試
告訴 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
> 我改了三個檔案:修了 bug、加了新功能、更新文件。
幫我分成三個獨立的 commit,每個都用 Conventional Commits 格式
Claude 會:
- 分析每個檔案的變更類型
- 用
git add -p互動式選擇要納入哪些 hunk - 寫對應的 commit 訊息
Conventional Commits 範例
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 簡化版
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 完善的情況
處理衝突
> git pull 之後出現衝突,幫我看一下衝突的檔案,
分析雙方的修改意圖,給我合理的合併建議
Claude 會:
- 列出所有衝突檔案
- 分析
<<<<<<<與>>>>>>>雙方的差異 - 判斷哪些可以自動合併、哪些需要你決定
- 修改檔案、跑測試確認沒壞
常見救命指令
| 情境 | 對 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
brew install gh
winget install GitHub.cli
sudo apt install gh
# 或
sudo dnf install gh
登入 GitHub
gh auth login
# 選 GitHub.com → HTTPS → 用瀏覽器登入
# 之後 Claude Code 就能用 gh 做所有 GitHub 操作了
常用 gh 指令
| 指令 | 用途 |
|---|---|
gh repo create | 建立 repo |
gh repo clone owner/repo | clone 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
> 列出所有開啟超過 90 天沒人回的 issue,
讀內容後分類並加 label:
- 已過時的 → close 並留言說明
- 還有效但低優先 → 加 "stale" label
- 重要的 → 加 "needs-attention" label
跨 repo 操作
> 在 my-org 下所有 Python repo 中,
找出還在用 pydantic v1 的,
幫每個建立 issue 提醒升級
Issue 自動分配
> 看新的 issue #156,分析它屬於哪個模組,
到 CODEOWNERS 找對應的人,自動 assign 給他們
整合 GitHub MCP(更強大)
除了用 gh,還可以連 GitHub MCP server,讓 Claude 直接呼叫 GitHub API:
> /mcp add github
# 之後就能用更精細的操作:
> 在 PR #42 第 35 行加 review comment:「這裡可能有 N+1」
Pull Request 與 Code Review
完整的 PR 工作流程:從建立、評論、回應、到合併。
建立高品質 PR
確認你在正確的 branch
> 我現在在哪個 branch?跟 main 差多少?
同步最新 main
> rebase 到最新 main,遇到衝突停下來問我
跑完整檢查
> 開 PR 前的最終檢查:
1. 跑 ruff format + check
2. 跑 mypy
3. 跑完整測試
4. 看 coverage 沒下降
5. 確認沒有 print() 或 console.log
6. 確認沒有 commit 到 secret
開 PR
> 幫我開 PR,描述要包含:
- 動機(解決什麼問題)
- 主要變更摘要
- 測試結果(截圖或文字)
- Breaking changes(若有)
- 關聯的 issue(自動 link)
- Reviewer checklist
PR 描述範本
## 動機
解決 #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
> /review
# 或更具體
> review 我這個 PR 的變更,特別注意:
- 是否有 SQL injection 風險
- error handling 是否完整
- 命名是否符合專案慣例
對別人的 PR
> 幫我 review PR #156,給出建設性意見。
寫成 GitHub review comments 格式,
分成 must-fix、suggestion、nitpick 三類
回應 Review 意見
> 看一下 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 範本
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
> 幫我為這個專案建立 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 訊息格式、確認版號是否更新:
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 套件
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. 自動部署到雲端
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 把開發流程拆成三個明確階段,每個階段產出一份文件:
釐清要做什麼、為誰做、成功標準
決定怎麼做、架構、API、資料模型
拆成可獨立執行的小步驟
Claude 按任務逐一執行
適用情境
| 適合 SDD | 不適合 SDD(直接做即可) |
|---|---|
| 新功能、新模組 | 修 typo、改變數名 |
| 跨多檔案的重構 | 單檔案的小修改 |
| 架構決策 | 快速 prototype |
| 多人協作的專案 | 個人實驗 |
| 長期維護的程式碼 | 一次性腳本 |
SDD 的優勢
明確目標
Claude 知道你真正要的是什麼,不會發散
架構先行
設計問題在寫 code 前就發現,省下重寫成本
知識留存
文件即文件,未來新人也看得懂
可重來
程式碼壞掉時,從文件就能重新生成
易於協作
團隊成員(人或 AI)對齊更容易
測試清晰
需求即測試案例的來源
建議的目錄結構
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)
第一步:把「要做什麼」與「成功標準」寫清楚。
需求文件範本
# 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 幫你寫需求
> 我想做一個訂單管理系統。請以 SDD 流程幫我,
先寫 requirements.md。
背景:B2B SaaS,客戶下單後我們出貨。
訪談我,把需求問清楚再寫。
Claude 會逐一問你:
- 誰會使用?(採購、業務、出貨員、管理員...)
- 訂單從哪來?(API、UI、Excel 上傳)
- 有哪些狀態?(草稿、已下、出貨中、完成、退貨)
- 付款流程是?
- 要不要通知?怎麼通知?
需求驗收技巧
- Independent:可獨立完成
- Negotiable:可討論調整
- Valuable:對使用者有價值
- Estimable:能估時程
- Small:足夠小(建議 ≤ 3 天工作量)
- Testable:有明確驗收標準
設計文件 (Design)
第二步:把「怎麼做」寫清楚。架構、API、資料模型、錯誤處理。
設計文件範本
# 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 寫設計文件
> 根據 @docs/specs/user-auth/requirements.md,
幫我寫 design.md。
限制:
- 必須符合既有架構(FastAPI + PG + Celery)
- 不引入新的基礎設施
- 安全優先於開發速度
寫之前先列出設計決策,跟我討論再開始
架構決策紀錄 (ADR)
對於重大設計決策,建議寫獨立的 ADR:
# 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)
第三步:把設計拆成具體、可獨立執行的任務清單。
任務清單範本
# 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 拆任務
> 根據 @docs/specs/user-auth/design.md,
拆成 tasks.md。
原則:
1. 每個任務 ≤ 2 小時工作量
2. 標出依賴關係
3. 每個任務都包含「寫測試」步驟
4. 驗收條件用 checkbox 格式
5. 按 phase 分組(基礎建設 → service → API → 整合)
逐一執行任務
> 開始執行 @docs/specs/user-auth/tasks.md。
從 T-1.1 開始。每完成一個任務:
1. 更新 tasks.md 的 checkbox
2. commit
3. 暫停讓我確認
4. 我說 next 再做下一個
多代理平行執行
對於沒有依賴關係的任務,可派出多個 sub-agent 同時做:
> 同時派出三個 sub-agent:
- Agent 1: 做 T-1.1(建 migration)
- Agent 2: 做 T-1.2(設定 JWT 套件)
- Agent 3: 寫 schemas/auth.py(不依賴前兩者)
完成後彙整結果給我
每個任務都用 TDD 流程執行:先寫測試(紅)→ 實作(綠)→ 重構(藍)。Claude Code 對這個流程的支援特別好。
子代理 (Sub-agents)
把專屬任務交給專門訓練的子代理,讓主對話保持乾淨、上下文不被汙染。
什麼是 Sub-agent?
Sub-agent 是「具有獨立 context、專注於特定任務」的子 Claude。它有自己的:
- System prompt:定義它的角色與行為規則
- 可用工具:限制它能用哪些工具(讀檔、寫檔、執行 shell...)
- 觸發條件:什麼樣的任務該分派給它
- 獨立的對話脈絡:不會佔用主對話的 context
為什麼用 Sub-agent?
保持主對話乾淨
把繁瑣細節交給代理處理,主對話只看摘要
專業分工
不同代理擅長不同事,效果比通才好
權限隔離
只給代理它需要的工具,降低風險
平行執行
多個代理同時做事,加速大型任務
建立 Sub-agent
> /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 定義範例
---
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(測試專家)
---
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(文件專家)
---
name: docs-writer
description: 撰寫與更新技術文件、docstring、README
tools: Read, Write, Edit, Grep
---
你是技術寫作專家。
撰寫原則:
- 開門見山,先講重點
- 用「為什麼」而非「是什麼」
- 範例程式碼必須能直接執行
- 避免「顯而易見」、「簡單來說」等空話
- API 文件用 Google style docstring
- README 結構:簡介 → 安裝 → 快速開始 → 進階 → 貢獻
3. debugger(除錯專家)
---
name: debugger
description: 系統化地除錯複雜問題
tools: Read, Grep, Bash, Edit
---
你是除錯專家。遇到 bug 時遵循:
1. 重現:先寫出能穩定重現 bug 的最小案例
2. 隔離:用二分法縮小問題範圍
3. 假設:列出 3 個可能的根因
4. 驗證:用 print/log/debugger 確認哪個對
5. 修復:先寫測試保證 bug 不再出現,再修
6. 回報:根因 + 解法 + 預防建議
不要猜。每個步驟都要有證據支持。
4. security-auditor(安全稽核)
---
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
# 自動觸發(依 description)
> 我剛改了 auth.py,請 review 一下
# 明確呼叫
> 請 code-reviewer 看 @src/api/users.py
# 一次叫多個
> 同時派出 test-writer 寫測試、docs-writer 寫文件、
security-auditor 做安全稽核
- 專案級:
./.claude/agents/— 跟著 git 走,團隊共用 - 個人級:
~/.claude/agents/— 你的個人代理庫
多代理協作模式
當任務複雜到單一代理難以處理時,讓多個代理協同作戰。
三大協作模式
Pattern 1: Orchestrator-Worker(總管—工人)
適用情境:
- 大規模重構(每個 worker 處理一個模組)
- 跨檔案搜尋與分析
- 需要從多角度評估的決策
> 我們要把整個專案從 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(管線)
適用情境:每個階段的輸出是下一階段的輸入,順序執行不可平行。
> 用 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(辯論/多角度)
讓多個代理從不同角度評估同一個問題,最後彙整:
> 我們要選後端框架:FastAPI vs Django vs Flask
派出三個代理同時評估,每個從不同角度:
- performance-expert:從效能與擴展性
- dx-expert:從開發者體驗與學習曲線
- ops-expert:從部署、監控、生態系
最後請你彙整三方意見,給出綜合建議
協作模式選擇指南
| 任務特性 | 推薦模式 |
|---|---|
| 可平行的獨立子任務 | Orchestrator-Worker |
| 有明確順序的階段 | Pipeline |
| 需要多元觀點 | Debate |
| 大型探索性任務 | Orchestrator + 動態派發 |
| 需要外部資源整合 | 結合 MCP 的混合架構 |
實戰:完整功能開發
> 開發「訂單退款」功能,用混合模式:
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 | 用途 |
|---|---|
| github | Issues、PR、Repo、Actions 完整操作 |
| gitlab | GitLab 整合(同上) |
| sentry | 讀取錯誤、分析 stack trace |
| linear | 任務管理、issue tracking |
| jira | 企業專案管理 |
資料庫類
| MCP Server | 用途 |
|---|---|
| postgres | 查詢、執行、analyze PostgreSQL |
| mysql | MySQL 操作 |
| sqlite | 本地 SQLite |
| mongodb | MongoDB 查詢 |
| redis | Key-value 操作、debug 快取 |
雲端與基礎設施
| MCP Server | 用途 |
|---|---|
| aws | EC2、S3、Lambda 等 AWS 服務 |
| cloudflare | Workers、DNS、Pages |
| docker | 容器管理 |
| kubernetes | K8s 叢集操作 |
協作與設計
| MCP Server | 用途 |
|---|---|
| figma | 讀設計檔、自動轉 code |
| notion | 讀寫 Notion 文件 |
| slack | 傳訊息、讀 channel |
| google-drive | 讀寫 Google 雲端文件 |
新增 MCP Server
方法 1:互動式
> /mcp add
選擇 server 類型:
1. 從目錄選(推薦官方 server)
2. 手動輸入 URL
3. 從本地路徑
依精靈填入:
- Server 名稱
- URL 或 command
- 認證資訊(Token / OAuth)
- 範圍(專案級 / 使用者級)
方法 2:直接指令
# 加入 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:設定檔
{
"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 元件
> 讀 Figma 檔案 ABC123,
把「Login Page」frame 轉成 React + Tailwind 元件,
存到 src/pages/Login.tsx
用自然語言查資料庫
> 連 production DB(read-only),
找出過去 7 天訂單金額最大的 10 個客戶,
我要他們的 email、訂單數、總金額
從 Sentry 找錯誤並修
> 從 Sentry 找今天最頻繁的 5 個錯誤,
分析 stack trace,建立對應的 GitHub issue,
並嘗試提出修復建議
建立自己的 MCP Server
如果現有 MCP 不夠用,可以自己寫一個。MCP server 用任何語言實作都行:
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.directory,已有上百個可用 server。
Hooks 自動化
在特定事件觸發時自動執行腳本,把重複的動作交給機器。
Hook 生命週期
| Hook 名稱 | 觸發時機 | 常見用途 |
|---|---|---|
session-start | 每次啟動 Claude Code | 載入專案設定、印歡迎訊息 |
user-prompt-submit | 使用者送出訊息前 | 過濾敏感資訊、補上 context |
pre-tool-use | Claude 呼叫任何工具前 | 權限檢查、稽核 |
post-tool-use | Claude 呼叫工具後 | 記錄日誌、清理暫存 |
pre-edit | 編輯檔案前 | 備份、確認鎖定狀態 |
post-edit | 編輯檔案後 | 跑 formatter、linter |
pre-commit | Git commit 前 | 跑 pre-commit hooks |
session-end | 離開 Claude Code 時 | 清理、上傳 log |
建立 Hook
{
"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)
{
"hooks": {
"post-edit": [
{
"matcher": "*.py",
"command": "uv run ruff format $CLAUDE_FILE"
}
]
}
}
2. 編輯後自動跑測試
{
"hooks": {
"post-edit": [
{
"matcher": "src/**/*.py",
"command": "uv run pytest tests/ --no-header -q",
"on_failure": "notify"
}
]
}
}
3. 防止 commit secrets
{
"hooks": {
"pre-commit": [
{
"command": "./.claude/scripts/scan-secrets.sh",
"description": "掃描 secrets,找到就阻止 commit",
"block_on_failure": true
}
]
}
}
4. 對話結束自動 commit
{
"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 | 使用者的最新訊息 |
進階:腳本範例
#!/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 設定檔本身也要納入 review
- 用
block_on_failure: true讓重要檢查能阻止操作
Skills 自訂技能
把重複的多步驟工作流程包裝成「技能」,一個指令就能呼叫整套流程。
Skill vs Sub-agent vs Hook
| 觸發方式 | 典型用途 | |
|---|---|---|
| Skill | 使用者主動呼叫 /skill name |
可重複的多步驟工作流(部署、發版) |
| Sub-agent | Claude 自動分派或明確呼叫 | 專門角色(測試員、reviewer) |
| Hook | 事件觸發(自動) | 背景自動化(格式化、檢查) |
建立 Skill
---
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
> /skill deploy
# 或帶參數
> /skill deploy target=prod
# 也可用自然語言觸發
> 幫我部署到 staging
常用 Skill 範本
1. 新人 onboarding
---
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. 釋出版本
---
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 分類處理
---
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. 升級依賴
---
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 來處理複雜步驟:
---
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
把 .claude/skills/ 跟著 git 走,整個團隊都能用同一套 skill。也可以從社群下載熱門 skill 包,例如 awesome-claude-skills 等 GitHub repo。
🔥 熱門 Skills 擴充總覽
站在巨人的肩膀上 — 直接安裝社群打造的優秀 Skill 包,30 秒讓你的 Claude Code 變得脫胎換骨。
為什麼要用社群擴充?
立即可用
一行指令安裝,30 秒上手,不必自己摸索
頂尖經驗
YC、Anthropic 工程師的實戰流程,直接內建
持續更新
每週新版本,跟著生態系一起進化
開源免費
MIT 授權,可 fork 客製化,貼合自己需求
推薦套件比較
| 套件 | 定位 | 規模 | 適合誰 |
|---|---|---|---|
| oh-my-claudecode | 多代理協作系統 | 32k ⭐ | 想要零學習曲線的並行開發 |
| gstack | 23+ 矽谷工程團隊角色 | 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 就好。」
Yeachan-Heo/oh-my-claudecode
把複雜的多代理協作包裝成一行 /autopilot,從需求釐清、規劃、執行、驗證、修復,一氣呵成。
核心特色
零設定
智慧預設,安裝完就能用
Team 模式
Plan → PRD → Exec → Verify → Fix 的分階段管線
自然語言介面
不必記指令,直接描述要做什麼
自動平行化
複雜任務自動分派到專業代理
成本優化
智慧模型路由,省下 30-50% token
從經驗學習
自動萃取問題模式,下次直接套用
安裝(30 秒)
方法 A:透過 Plugin Marketplace(推薦)
在 Claude Code 對話中執行(一次貼一行):
/plugin marketplace add https://github.com/Yeachan-Heo/oh-my-claudecode
接著貼第二行:
/plugin install oh-my-claudecode
方法 B:透過 npm 安裝
npm install -g oh-my-claude-sisyphus@latest
啟用 Native Teams(必要)
編輯 ~/.claude/settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
核心指令
/autopilot — 全自動執行
/autopilot "build a REST API for managing tasks"
/team — Team 編排(推薦)
Team 是 OMC 的核心:分階段管線(plan → prd → exec → verify → fix),N 個代理協作:
/team 3:executor "fix all TypeScript errors"
omc team — tmux CLI Workers
在終端機派出真正的 claude / codex / gemini 進程到 tmux 分割視窗:
omc team 2:codex "review auth module"
omc team 2:gemini "redesign UI components"
omc team 1:claude "implement the payment flow"
執行模式速查
| 模式 | 定位 | 適用情境 |
|---|---|---|
| /team | 標準多代理 | 協作完成共同任務 |
| omc team | tmux CLI workers | Codex / Gemini 跨模型任務 |
| /ccg | Codex + 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。
garrytan/gstack
"我已經幾乎沒有親手寫一行 code 了" — Andrej Karpathy 的話啟發了 Garry Tan,他用 gstack 在 60 天內出貨 3 個生產服務、40+ 功能。
定位與設計哲學
gstack 不只是工具集合,更是一套軟體開發流程。它把整個 sprint 拆成可呼叫的步驟:
/office-hours 釐清問題本質/plan-ceo-review + /plan-eng-review + /plan-design-review/review 找出 production bug/qa 開瀏覽器實際測試/ship + /land-and-deploy/retro 每週回顧安裝
前置需求
- Claude Code CLI
- Git
- Bun v1.0+
- Node.js(Windows 必裝)
個人安裝
打開 Claude Code,把下方整段貼給它,Claude 會自動完成安裝:
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.
第一次嘗試 — 試試這個
- 跑
/office-hours— 描述你想做什麼 - 跑
/plan-ceo-review— 在任何想法上 - 跑
/review— 在有變更的 branch 上 - 跑
/qa— 在你的 staging URL 上
23 個核心工具
🎯 規劃階段
| 指令 | 角色 | 功能 |
|---|---|---|
/office-hours | YC Office Hours | 六個強迫性提問,逼你重新思考產品 framing |
/plan-ceo-review | CEO / 創辦人 | 找出隱藏的 10 倍機會 |
/plan-eng-review | Eng Manager | 鎖定架構、資料流、邊界條件 |
/plan-design-review | 資深設計師 | 對每個設計維度打 0-10 分 |
/autoplan | Review Pipeline | 一鍵跑完 CEO → 設計 → 工程全套 review |
🔍 Review 與測試
| 指令 | 功能 |
|---|---|
/review | 找出 CI 過了但會在 production 爆掉的 bug |
/investigate | 系統化根因分析,3 次失敗就停止 |
/qa | 開真實瀏覽器測試、找 bug、原子化修復 |
/cso | OWASP 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 只能貼一張的痛。
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:
curl -fsSL https://claude-img-releases.s3.eu-north-1.amazonaws.com/install.sh | bash
Windows(PowerShell):
irm https://claude-img-releases.s3.eu-north-1.amazonaws.com/install.ps1 | iex
安裝器會自動下載對應平台的二進位執行檔,並把 /img skill 註冊到 Claude Code。完全無需手動設定。
立即使用
在任何 Claude Code session 中輸入 /img:
> /img 幫我 review 這些 mockup 的無障礙設計
> /img 比較這兩張截圖的差異
> /img
系統原生檔案選擇器會彈出來,選你要的圖片(按住 Ctrl / ⌘ 多選),按確認後圖片自動進入對話。/img 後面的文字會作為這些圖片的指示說明。
運作原理
/img [指示文字]/img Skill 觸發 → 啟動 claude-img 二進位執行檔rfd Rust crate)@/path/to/image.png 引用到 stdout支援平台
| 平台 | 架構 | 狀態 |
|---|---|---|
| macOS | Apple Silicon(M 系列) | ✅ 預編譯二進位 |
| macOS | Intel | ✅ 預編譯二進位 |
| Linux | x86_64 | ✅ 預編譯二進位 |
| Windows | x86_64 | ✅ 預編譯二進位 |
從原始碼編譯(進階)
若你需要支援其他平台(如 ARM Linux)或想自訂版本:
cargo install --git https://github.com/lazy-poet/claude-img
需要先安裝 Rust toolchain(參考 rustup.rs)。
解除安裝
rm ~/.local/bin/claude-img
rm -rf ~/.claude/skills/img
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。
obra/superpowers
由 obra(Jesse Vincent)打造的 agentic skills 框架與軟體開發方法論 — 涵蓋 brainstorming、TDD、debugging、code review。
核心設計理念
Superpowers 不是一堆獨立工具,而是一個方法論框架。它把開發拆成明確的生命週期階段:
Brainstorm
釐清想法、列出方案、找出最有價值的路徑
TDD
強制先寫測試的工作流,紅 → 綠 → 重構
Debug
系統化除錯流程,禁止盲猜
Review
結構化的 code review checklist
安裝
Superpowers 已收錄於 Anthropic 官方 Skills Marketplace:
/plugin marketplace add anthropics/skills
/plugin install superpowers
或從原始 repo 直接安裝:
git clone https://github.com/obra/superpowers ~/.claude/skills/superpowers
cd ~/.claude/skills/superpowers
./install
典型工作流
brainstorm — 釐清做什麼plan — 拆解任務tdd — 紅綠重構循環debug — 遇到問題系統化處理review — 結構化稽核Superpowers 的價值不在指令多寡,而在「強制紀律」— 當你的 Claude 沒有結構地亂跑時,這套框架會把它拉回正軌。
其他必裝擴充
2026 年社群推薦榜上不容錯過的擴充與資源。
📚 策展清單(從這裡找更多)
🧠 記憶與上下文
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。
npx antigravity-awesome-skills --claude
npx antigravity-awesome-skills --cursor
npx antigravity-awesome-skills --gemini
🎓 學習資源
- Anthropic 官方 Claude Code 文件
- anthropics/skills — Anthropic 官方 skill marketplace
- Discord:搜尋 "Claude Code Community" 加入活躍社群
打造自己的 Skill 包
學會了怎麼用,下一步是打造屬於你或團隊的 skill 包,分享給社群。
SKILL.md 標準格式
2026 年起,Claude Code、Cursor、Gemini CLI、Codex CLI、GitHub Copilot 都採用統一的 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:
/plugin install skill-creator
/skill create
撰寫安裝腳本
#!/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"
測試與發佈
- 本地測試:執行
./setup.sh安裝,在 Claude Code 試用 - 建立 GitHub repo,加上清楚的 README
- 提交到社群清單(例如 awesome-claude-code)
- 若品質夠高,可以申請進 Anthropic 官方 marketplace
撰寫好 Skill 的原則
1. 一個 Skill 做一件事
不要在同一個 SKILL.md 裡塞太多功能。「寫測試」和「做 code review」應該是兩個 skill。
2. 觸發條件要明確
triggers 列表要涵蓋自然語言的多種說法(中英文、口語、技術術語)。
3. 限制工具權限
只要求必要的工具。一個只讀分析的 skill 不應該有 Write 或 Bash 權限。
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
claude -p "列出專案中所有 TODO 註解並彙整成清單"
常用旗標
| 旗標 | 用途 |
|---|---|
-p / --print | Print 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
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 錯誤
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:批次處理腳本
#!/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 輸出
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 必須用
ANTHROPIC_API_KEY,按 token 計費(不能用訂閱) - 用
--max-turns限制避免暴衝 - 用
--allowed-tools限制權限(especially 在 CI 中) - 監控用量,設定預算警報
- 非 critical 任務改用 Haiku,省 5-10 倍成本
恭喜你完整看完這份指南!從安裝到多代理自動化,你已經掌握了 Claude Code 的全貌。接下來就是動手實作,把這些技巧應用到你的專案中。記得,最快的學習方式就是用 Claude Code 寫下一個專案 — 邊用邊問、邊學邊試。