9. Claude Code 建置與使用
Claude Code 是 Anthropic 官方的命令列工具(CLI)——把 AI 助手裝進終端機,直接在程式專案裡用對話完成寫程式、改 bug、自動化等工作。
9.1 Claude Code vs Cowork
| 比較項 | Claude Code (CLI) | Cowork (您現在用的) |
|---|---|---|
| 介面 | 終端機 | 桌面 App |
| 最適用途 | 本地專案開發、程式庫深度分析 | 跨多 App 工作、檔案/任務自動化 |
| 自動化 | 高(Hook、cron、MCP) | 中(Skill、Agent) |
| 學習曲線 | 中(需熟悉 shell) | 低 |
| 誰適合 | 工程師、寫程式的人 | 通用,含非工程師 |
選哪個? 平常在 IDE 寫程式 → Claude Code;管理檔案、跨工具自動化 → Cowork。兩者可以並用。
9.2 安裝
系統需求
- Node.js 18+ 或使用原生安裝器
- macOS 11+ / Windows (WSL2 推薦) / Linux
macOS / Linux
# 方法 1:npm 全域安裝
npm install -g @anthropic-ai/claude-code
# 方法 2:原生安裝器(不需 Node.js)
# 從 https://code.claude.com/ 下載Windows
# npm 安裝(先裝 Node.js)
npm install -g @anthropic-ai/claude-code
# 或下載 Windows 原生安裝器(最簡單)驗證
claude --version
# Claude Code v2.x.x9.3 第一次啟動
cd ~/projects/ExamSystem # 進入專案
claude # 啟動互動模式首次啟動會:
- 自動開啟瀏覽器登入 Anthropic
- 同意授權
- 回終端機開始對話
第一條指令範例:
> 你好,請看看這個專案的結構,幫我寫一份 README
Claude 會自動掃 package.json / 程式檔,給建議。
9.4 基本工作流(5 步迴圈)
flowchart LR A[1. cd 進專案] --> B[2. claude 啟動] B --> C[3. 給任務] C --> D[4. 看 diff 確認] D --> E[5. 接受 / 修改] E --> C
實際範例:
$ claude
> 看 logs/error.log 找 TypeError 根因,提議修復
Claude:
📝 Reading logs/error.log...
🔍 Found 3 stack traces
✏️ Proposing changes to src/utils/parser.ts
[diff preview]
Accept? (y/n)
> y
✅ Changes applied
📤 git commit -m "fix: handle null in parser.ts"
9.5 核心 Slash Commands
| 指令 | 用途 |
|---|---|
/init | 初始化專案(產生 CLAUDE.md) |
/clear | 清空對話歷程 |
/compact | 壓縮上下文(降費用) |
/help | 顯示指令列表 |
/review | 標記程式碼待審視 |
/quit 或 Ctrl+C | 退出 |
💡
/init是新專案第一個該跑的指令——它會掃描技術棧、建好基礎CLAUDE.md。
9.6 Hooks(自動化規則引擎)
什麼是 Hook
Hook 是「Claude 觸發某事件時自動執行的程式」——不需手動同意,每次都跑。
Hook 類型
| 類型 | 觸發時機 | 用途 |
|---|---|---|
PreToolUse | Claude 用工具前 | 驗證、權限檢查 |
PostToolUse | Claude 用工具後 | 自動格式化、跑測試 |
Stop | 任務完成 | 清理、報告 |
範例:自動 Prettier 格式化
.claude/hooks.json:
{
"hooks": [
{
"name": "auto-format",
"trigger": "PostToolUse",
"tools": ["write_file"],
"script": "prettier --write {file_path}",
"continueOnError": true
}
]
}效果:每次 Claude 寫 .ts / .js 檔,自動跑 prettier。
範例:停止前先跑測試
{
"name": "test-before-stop",
"trigger": "Stop",
"script": "npm test",
"failMessage": "❌ Tests failed - 請修復後再 Stop"
}9.7 CLAUDE.md(專案手冊)
放在專案根目錄,告訴 Claude 您的編碼慣例、架構原則、禁忌項。Claude 每次啟動都會優先讀。
範例(您的 PAM 系統就有)
# PAM 績效考核管理系統 — AI 開發規格文件
## 技術架構
- 後端:C# / .NET 8 + Web API
- 前端:React 19 + TypeScript + Vite
- DB:MSSQL + EF Core
## 命名規範
- 資料表 / 欄位:PascalCase
- 主鍵一律 `Id`
- 布林:`Is` 開頭
## 禁忌
- ❌ 拼接 SQL(`"WHERE name = '" + n + "'"`)
- ❌ Controller 吞例外
- ❌ 各處重寫等第公式(一律呼叫 GradingService)💡 您 ExamSystem 的 CLAUDE - 主開發規格 就是個典範。
最佳實踐
✅ 簡潔、列關鍵點,不寫小說 ✅ 架構變動時記得更新 ✅ 明確列禁忌項,比說「請小心」有效
9.8 Settings(~/.claude/settings.json)
{
"model": "claude-sonnet-4-6",
"defaultTemperature": 0.3,
"maxContextTokens": 100000,
"autoCommit": true,
"commitTemplate": "fix: {description}",
"theme": "dark"
}| 參數 | 意義 | 建議值 |
|---|---|---|
model | 使用模型 | claude-sonnet-4-6 |
defaultTemperature | 創意度 0-2 | 0.3(程式碼) |
maxContextTokens | 對話上限 | 100000 |
autoCommit | 自動 commit | true(小心使用) |
9.9 Plugins / Marketplace
# 搜尋並安裝
claude marketplace search "prettier"
claude marketplace install claude-prettier-plugin
# 從 GitHub 直接裝
claude plugin add https://github.com/user/claude-plugin-name
# 發佈自己的 plugin
claude plugin publish9.10 MCP Server 串接
讓 Claude Code 連 GitHub / Slack / 資料庫等服務。詳見 11-MCP 建置與使用。
設定檔位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
範例:
{
"mcpServers": {
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "ghp_xxx" }
}
}
}⚠️ 編輯後必須完全關閉 Claude Code 再重啟。
9.11 PAM 實戰場景
場景 1:寫 README
> 看這個專案,產一份完整 README,含安裝 / 開發流程 / API 摘要
場景 2:追 stack trace
> ExamSystem/logs/error.log 有 NullReferenceException,
請定位並提議修復
場景 3:實作 GitHub Issue
> 實作 issue #42(年度結算 API 應加快取),完成後開 PR
Claude 會:讀 issue → 改 code → 寫測試 → push → 開 PR。
9.12 IDE 整合
VS Code
code --install-extension anthropic.claude-code側邊欄與 Claude 對話、一鍵套用建議。
JetBrains(IntelliJ / Rider / WebStorm)
Settings → Plugins → 搜「Claude Code」→ Install → 重啟。
快速鍵:Cmd+Shift+A(Mac)/ Ctrl+Shift+A(Win)。
💡 您寫 PAM 用的是 Visual Studio?也支援。
9.13 自動化排程
macOS / Linux(cron)
crontab -e
# 每晚 22:00 執行
0 22 * * * cd ~/projects/ExamSystem && claude < /tmp/nightly-task.txt >> ~/claude-logs.txt 2>&1/tmp/nightly-task.txt:
檢查 PAM 所有 TypeScript / C# 型別錯誤,列出修復建議。
不要自動套用,只回報。
Linux(systemd timer,更穩定)
# /etc/systemd/system/claude-nightly.service
[Service]
Type=oneshot
WorkingDirectory=/home/vincent/projects/ExamSystem
ExecStart=/usr/local/bin/claude < /tmp/nightly-task.txt
# /etc/systemd/system/claude-nightly.timer
[Timer]
OnCalendar=daily
OnCalendar=22:009.14 排錯 FAQ
| Q | 解 |
|---|---|
| API key 無效 | claude login 重新登入 |
| 權限不足 | 檢查資料夾 chmod u+w |
| Context 太長 | /compact 或 /clear |
| 推理太慢 | 改用 Sonnet(Opus 慢但深) |
| Hook 沒跑 | 檢查 .claude/hooks.json 語法、claude logs |
9.15 快速查詢卡
登入 claude login
啟動 claude
版本 claude --version
看 log claude logs
退出 Ctrl+C / /quit
初始化 /init
壓縮對話 /compact
清對話 /clear
review /review src/file.ts
help /help
9.16 官方資源
- 主文件:https://code.claude.com/docs
- MCP 串接:https://code.claude.com/docs/en/mcp
- GitHub:https://github.com/anthropics/claude-code
- 產品頁:https://claude.com/product/claude-code
下一章 → 10-Skill 建置與使用 上一章 ← 08-學習資源與延伸 回到 Claude 學習指南目錄