常見工作流程
了解 Claude Code 的常見工作流程。
本文件中的每個任務都包含清晰的說明、範例指令和最佳實踐,幫助您充分利用 Claude Code。
理解新的程式碼庫
快速取得程式碼庫概覽
假設您剛加入一個新專案,需要快速理解其結構。
導航到專案根目錄
啟動 Claude Code
要求高層次概覽
深入了解特定元件
提示:
- 從廣泛的問題開始,然後縮小到特定領域
- 詢問專案中使用的編碼慣例和模式
- 要求專案特定術語的詞彙表
尋找相關程式碼
假設您需要找到與特定功能或功能相關的程式碼。
要求 Claude 尋找相關檔案
了解組件如何互動
理解執行流程
提示:
- 明確說明您要尋找的內容
- 使用專案中的領域語言
有效修復錯誤
假設您遇到錯誤訊息,需要找到並修復其來源。
與 Claude 分享錯誤
要求修復建議
應用修復
提示:
- 告訴 Claude 重現問題的指令並獲得堆疊追蹤
- 提及重現錯誤的任何步驟
- 讓 Claude 知道錯誤是間歇性的還是持續性的
重構程式碼
假設您需要更新舊程式碼以使用現代模式和實踐。
識別需要重構的遺留程式碼
取得重構建議
安全地應用變更
驗證重構
提示:
- 要求 Claude 解釋現代方法的好處
- 在需要時要求變更保持向後相容性
- 以小的、可測試的增量進行重構
使用專門的子代理
假設您想使用專門的 AI 子代理來更有效地處理特定任務。
查看可用的子代理
這會顯示所有可用的子代理並讓您建立新的子代理。
自動使用子代理
Claude Code 會自動將適當的任務委派給專門的子代理:
明確要求特定子代理
為您的工作流程建立自訂子代理
然後選擇「建立新子代理」並按照提示定義:
- 子代理類型(例如,
api-designer
、performance-optimizer
) - 何時使用它
- 它可以存取哪些工具
- 其專門的系統提示
提示:
- 在
.claude/agents/
中建立專案特定的子代理以供團隊共享 - 使用描述性的
description
欄位來啟用自動委派 - 將工具存取限制為每個子代理實際需要的內容
- 查看子代理文件以獲得詳細範例
處理測試
假設您需要為未覆蓋的程式碼新增測試。
識別未測試的程式碼
產生測試腳手架
新增有意義的測試案例
執行並驗證測試
提示:
- 要求涵蓋邊緣情況和錯誤條件的測試
- 在適當時要求單元測試和整合測試
- 讓 Claude 解釋測試策略
建立拉取請求
假設您需要為您的變更建立一個記錄良好的拉取請求。
總結您的變更
使用 Claude 產生 PR
審查和完善
新增測試詳細資訊
提示:
- 直接要求 Claude 為您建立 PR
- 在提交前檢視 Claude 產生的 PR
- 要求 Claude 強調潛在風險或考慮事項
處理文檔
假設您需要為您的程式碼新增或更新文件。
識別未記錄的程式碼
產生文件
審查和增強
驗證文檔
提示:
- 指定您想要的文件樣式(JSDoc、docstrings 等)
- 在文件中要求範例
- 為公共 API、介面和複雜邏輯要求文件
處理圖像
假設您需要在程式碼庫中處理圖像,並希望 Claude 幫助分析圖像內容。
將圖片新增到對話中
您可以使用以下任何方法:
- 將圖片拖放到 Claude Code 視窗中
- 複製圖片並使用 ctrl+v 貼到 CLI 中(不要使用 cmd+v)
- 向 Claude 提供圖片路徑。例如,「分析這張圖片:/path/to/your/image.png」
要求 Claude 分析圖片
使用圖像提供上下文
從視覺內容取得程式碼建議
提示:
- 當文字描述不清楚或繁瑣時使用圖片
- 包含錯誤截圖、UI 設計或圖表以獲得更好的上下文
- 您可以在對話中處理多張圖片
- 圖片分析適用於圖表、截圖、模型等
引用檔案和目錄
使用 @ 快速包含檔案或目錄,無需等待 Claude 讀取它們。
引用單個檔案
這會在對話中包含檔案的完整內容。
引用目錄
這會提供包含檔案資訊的目錄清單。
引用 MCP 資源
這會使用格式 @server:resource 從連接的 MCP 伺服器獲取資料。詳見 MCP 資源。
提示:
- 檔案路徑可以是相對或絕對路徑
- @ 檔案引用會將檔案目錄和父目錄中的 CLAUDE.md 新增到上下文中
- 目錄引用顯示檔案清單,而非內容
- 您可以在單個訊息中引用多個檔案(例如,「@file1.js and @file2.js」)
使用延伸思考
假設您正在處理複雜的架構決策、具有挑戰性的錯誤或需要深度推理的多步驟實作規劃。
提供上下文並要求 Claude 思考
Claude 會從您的程式碼庫收集相關資訊並 使用延伸思考,這將在介面中可見。
使用後續提示改進思考
從延伸思考中獲得最大價值的提示:
延伸思考對於複雜任務最有價值,例如:
- 規劃複雜的架構變更
- 調試複雜問題
- 為新功能建立實作計劃
- 理解複雜的程式碼庫
- 評估不同方法之間的權衡
您提示思考的方式會導致不同程度的思考深度:
- 「think」觸發基本延伸思考
- 強化短語如「think more」、「think a lot」、「think harder」或「think longer」觸發更深層的思考
更多延伸思考提示技巧,請參見延伸思考提示。
Claude 會將其思考過程顯示為回應上方的斜體灰色文字。
恢復先前的對話
假設您一直在使用 Claude Code 處理任務,需要在稍後的會話中從中斷的地方繼續。
Claude Code 提供兩個恢復先前對話的選項:
--continue
自動繼續最近的對話--resume
顯示對話選擇器
繼續最近的對話
這會立即恢復您最近的對話,無需任何提示。
在非互動模式下繼續
使用 --print
與 --continue
在非互動模式下恢復最近的對話,非常適合腳本或自動化。
顯示對話選擇器
這會顯示互動式對話選擇器,顯示:
- 對話開始時間
- 初始提示或對話摘要
- 訊息數量
使用箭頭鍵導航並按 Enter 選擇對話。
提示:
- 對話歷史記錄儲存在您的機器本地
- 使用
--continue
快速存取您最近的對話 - 當您需要選擇特定的過去對話時使用
--resume
- 恢復時,您會在繼續之前看到整個對話歷史記錄
- 恢復的對話以與原始對話相同的模型和配置開始
工作原理:
- 對話儲存:所有對話都會自動儲存在本地,包含完整的訊息歷史記錄
- 訊息反序列化:恢復時,整個訊息歷史記錄會被還原以維持上下文
- 工具狀態:先前對話中的工具使用和結果會被保留
- 上下文還原:對話會在保持所有先前上下文完整的情況下恢復
範例:
使用 Git worktrees 執行並行 Claude Code 會話
假設您需要同時處理多個任務,並在 Claude Code 實例之間完全隔離程式碼。
理解 Git worktrees
Git worktrees 允許您從同一個儲存庫將多個分支檢出到不同的目錄中。每個 worktree 都有自己的工作目錄和隔離的檔案,同時共享相同的 Git 歷史記錄。在官方 Git worktree 文件中了解更多。
建立新的 worktree
這會建立一個新目錄,其中包含您儲存庫的單獨工作副本。
在每個 worktree 中執行 Claude Code
在另一個 worktree 中執行 Claude
管理您的 worktrees
提示:
- 每個 worktree 都有自己獨立的檔案狀態,非常適合並行 Claude Code 會話
- 在一個 worktree 中所做的變更不會影響其他 worktree,防止 Claude 實例相互干擾
- 所有 worktrees 共享相同的 Git 歷史記錄和遠端連接
- 對於長時間執行的任務,您可以讓 Claude 在一個 worktree 中工作,同時在另一個 worktree 中繼續開發
- 使用描述性目錄名稱輕鬆識別每個 worktree 用於哪個任務
- 記住根據您專案的設定在每個新 worktree 中初始化您的開發環境。根據您的技術堆疊,這可能包括:
- JavaScript 專案:執行依賴項安裝(
npm install
、yarn
) - Python 專案:設定虛擬環境或使用套件管理器安裝
- 其他語言:遵循您專案的標準設定流程
- JavaScript 專案:執行依賴項安裝(
將 Claude 用作 unix 風格的實用程式
將 Claude 新增到您的驗證流程
假設您想將 Claude Code 用作 linter 或程式碼審查器。
將 Claude 新增到您的建置腳本:
提示:
- 在您的 CI/CD 管道中使用 Claude 進行自動化程式碼審查
- 自訂提示以檢查與您專案相關的特定問題
- 考慮為不同類型的驗證建立多個腳本
管道輸入,管道輸出
假設您想將資料管道輸入到 Claude,並以結構化格式取回資料。
通過 Claude 管道資料:
提示:
- 使用管道將 Claude 整合到現有的 shell 腳本中
- 與其他 Unix 工具結合以實現強大的工作流程
- 考慮使用 —output-format 進行結構化輸出
控制輸出格式
假設您需要 Claude 的輸出採用特定格式,特別是在將 Claude Code 整合到腳本或其他工具中時。
使用文字格式(預設)
這只輸出 Claude 的純文字回應(預設行為)。
使用 JSON 格式
這輸出包含成本和持續時間等元資料的 JSON 訊息陣列。
使用串流 JSON 格式
這會在 Claude 處理請求時即時輸出一系列 JSON 物件。每個訊息都是有效的 JSON 物件,但如果串聯,整個輸出不是有效的 JSON。
提示:
- 對於只需要 Claude 回應的簡單整合,使用
--output-format text
- 當您需要完整的對話日誌時使用
--output-format json
- 對於每個對話回合的即時輸出,使用
--output-format stream-json
建立自訂斜線命令
Claude Code 支援自訂斜線命令,您可以建立這些命令來快速執行特定提示或任務。
更多詳細資訊,請參見斜線指令參考頁面。
建立專案特定命令
假設您想為您的專案建立可重複使用的斜線命令,所有團隊成員都可以使用。
在您的專案中建立命令目錄
為每個命令建立 Markdown 檔案
在 Claude Code 中使用您的自訂命令
提示:
- 指令名稱來自檔案名稱(例如,
optimize.md
變成/optimize
) - 您可以在子目錄中組織指令(例如,
.claude/commands/frontend/component.md
建立/component
,在描述中顯示「(project:frontend)」) - 專案指令對克隆儲存庫的每個人都可用
- Markdown 檔案內容成為呼叫指令時發送給 Claude 的提示
使用 $ARGUMENTS 新增指令參數
假設您想建立可以接受使用者額外輸入的靈活斜線命令。
使用 $ARGUMENTS 佔位符建立命令檔案
使用帶有問題編號的命令
在您的 Claude 會話中,使用帶有參數的命令。
這會在提示中將 $ARGUMENTS 替換為「123」。
提示:
- $ARGUMENTS 佔位符會被指令後面的任何文字替換
- 您可以在指令範本中的任何位置放置 $ARGUMENTS
- 其他有用的應用:為特定函數產生測試案例、為組件建立文件、審查特定檔案中的程式碼,或將內容翻譯成指定語言
建立個人斜線命令
假設您想建立在所有專案中都有效的個人斜線指令。
在您的主資料夾中建立命令目錄
為每個命令建立 Markdown 檔案
使用您的個人自訂命令
提示:
- 個人指令在使用
/help
列出時在其描述中顯示「(user)」 - 個人指令只對您可用,不與您的團隊共享
- 個人指令在您的所有專案中都有效
- 您可以將這些用於跨不同程式碼庫的一致工作流程
詢問 Claude 關於其功能
Claude 內建存取其文件,可以回答關於其自身功能和限制的問題。
範例問題
Claude 為這些問題提供基於文件的答案。對於可執行範例和實際演示,請參考上面的特定工作流程部分。
提示:
- Claude 始終可以存取最新的 Claude Code 文件,無論您使用的版本如何
- 提出具體問題以獲得詳細答案
- Claude 可以解釋複雜功能,如 MCP 整合、企業配置和進階工作流程
下一步
Claude Code 參考實作
克隆我們的開發容器參考實作。