AI 程式開發與代理

[Claude Code #1] 從 /init 與自動產生 CLAUDE.md 開始

Claude Code 的 /init 命令會分析程式碼庫並自動產生 CLAUDE.md。本文整理已有檔案時的行為、Cursor・Copilot 規則移轉、互動模式,以及產生後的調整準則。

閱讀 5 分鐘
[Claude Code #1] 從 /init 與自動產生 CLAUDE.md 開始 封面圖

把 AI 程式設計工具接到新專案後,常常得重複說明同樣的事:建置命令是什麼、如何執行測試、程式碼該遵循哪些規則。

Claude Code 會把這些說明放在 CLAUDE.md 檔案中,並在每個工作階段自動讀取。問題是,從零開始手寫這個檔案其實相當令人苦惱。

/init就是跨過第一道門檻的命令。它會分析程式碼庫,代替你建立 CLAUDE.md 草稿。

這是逐一拆解 Claude Code 命令系列的第一篇。就從最先執行的命令開始。

/init 的作用

在工作階段輸入框輸入 /init後,Claude 就會開始檢視專案。

官方記憶體文件對這個流程的說明是:分析程式碼庫,找出建置命令、測試方法與專案慣例,再根據這些內容產生 CLAUDE.md。

產出的結果大致如下。

# CLAUDE.md

## 建置與測試
- 開發伺服器: pnpm dev
- 測試: pnpm test (提交前必須執行)

## 結構
- API 將處理常式放在 src/api/handlers/
- 將共用型別集中到 src/lib/types.ts

從 package.json 或 Makefile 讀出的資訊會成為骨架。人從零開始寫可能要 30 分鐘的草稿,幾分鐘內就能產生。

如果你想知道 CLAUDE.md 是什麼、為什麼需要它,建議先閱讀 Claude Code 規則與記憶體整理文章

已經有 CLAUDE.md 時

即使再次執行 /init,也不會覆寫現有檔案。

依官方文件,檔案已存在時不會覆寫,而是提出改善建議。因此專案進行一段時間後再執行也很安全。

檢查過時的 CLAUDE.md 時,可以定期執行。它會提出反映期間變更之建置與測試流程的改善建議。

從其他 AI 工具移轉時

/init也會讀取其他程式設計代理程式的規則檔案。

対象包括 Cursor 的.cursor/rules/.cursorrules,以及 GitHub Copilot 的.github/copilot-instructions.md。它會挑選相關內容,融入新建立的 CLAUDE.md。

如果儲存庫已使用 AGENTS.md,還有另一種方法。在 CLAUDE.md 加入一行 @AGENTS.md,即可完整載入該檔案。

@AGENTS.md

## Claude Code 專用指示
- src/billing/ 修改下方內容時,先使用計畫模式

兩個工具會讀取相同規則,因此不必複製內容。

如果儲存庫原本使用 Codex CLI 或 Gemini CLI,另有 /import 命令。它能一次移轉從指示檔到 MCP 伺服器、命令與技能的全部內容(v2.1.213 以上)。

Claude Code /init 分析程式碼庫並產生 CLAUDE.md 的流程圖
這是 /init 的執行流程。會依檔案是否存在,分成產生與提出改善建議兩條路徑。

啟用互動式 /init

只要設定一個環境變數,就能將 /init 切換成更詳盡的互動模式。

CLAUDE_CODE_NEW_INIT=1 claude

此模式的/init會先詢問要建立什麼。你可以選擇只建立 CLAUDE.md,或連同技能與鉤子(在特定時點自動執行的腳本)一起設定。

接著它會透過子代理探索程式碼庫,並以追問補足不足的資訊。寫入檔案前會先顯示提案,檢閱後再套用即可。

此模式也會擴大讀取規則檔案的範圍。AGENTS.md、.windsurf/rules/.clinerules等其他工具的設定也會列入參考。

建立後先確認

產生完成後,試著執行 /context

如果在 Memory files 項目中看到 CLAUDE.md,就表示已正常載入。若沒有,代表 Claude 無法讀取該檔案。

想開啟檔案進行修改時,使用 /memory 命令即可。它會在工作階段中直接用編輯器開啟。

草稿終究是草稿:調整準則

/init建立的檔案原樣保留,會錯過一個重要環節:自動分析找不到的知識仍然缺少。

官方文件也建議建立檔案後補上「Claude 無法自行發現的指示」。例如為何選擇這種結構,以及應避免哪些陷阱等背景資訊。

調整時只要記住兩項準則。

第一,以每個檔案不超過 200 行為目標。越長越消耗內容脈絡,指示遵循率也會下降。

第二,使用可驗證的句子。「讓程式碼保持整潔」遠不如「縮排使用 2 個空格」容易確實遵守。

像目錄清單這種只看程式碼就能知道的內容可以刪除。/doctor檢查也可能找出這類贅述並建議刪除(v2.1.206 以上)。

想進一步了解必須保持精簡的原因,CLAUDE.md 為什麼應該保持精簡有詳細說明。

手拿紅筆修整 CLAUDE.md 草稿與「REFINE THE DRAFT」字樣的插畫
把草稿修整到 200 行以下,是人的工作。

總結

/init是新專案開始使用 Claude Code 時最先要通過的關卡。

它會分析程式碼庫建立 CLAUDE.md 草稿,已有檔案時則提出改善建議。連 Cursor・Copilot 規則移轉也能處理,換工具時很實用。

但草稿只是起點。補上自動分析找不到的團隊脈絡,並修整到 200 行以下,仍然是人的工作。

預計下一篇的Claude Code 第 2 篇,將介紹在修改程式碼前先達成設計共識的/plan計畫模式。

來源與確認標準

延伸閱讀