iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
AI Engineering

30 天打造我的 AI 開發工作流:從需求分析到上線系列 第 4

Day 04|讓 Claude 進入專案:Claude Code 安裝、/init 與第一份 CLAUDE.md

  • 分享至 

  • xImage
  •  

前言

昨天提到,Spec 要成為 AI 可以持續取得的 Context。

如果規格只放在某個人的腦袋裡、Email 裡,或散落在不同的共用文件中,對 AI 的工作流程來說,就很難成為穩定的依據。

那既然我們希望 AI 能夠持續依照 Repo 裡的 Context 工作,今天就先做一件最基本的事情:

讓 Claude 真的進入這個 Repo。


今天要解決的問題

先把 Claude Code 的基本環境建立起來,主要會做三件事:

  1. 安裝 Claude Code
  2. /init 建立第一份 CLAUDE.md
  3. 理解權限模式,決定 Claude 可以做到什麼程度

一、安裝 Claude Code

官方目前提供原生安裝方式,依照作業系統選擇對應的指令即可。

# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash

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

安裝完成後,可以先確認版本:

claude --version

接著登入帳號

/login

小提醒: Claude Code 的可用方案與帳號類型可能會隨 Anthropic 的產品政策調整,實際使用前建議以官方文件目前的說明為準。目前方案:使用 Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳號。


二、/init:建立第一份 CLAUDE.md

Claude Code 可以透過 /init 幫我們建立專案的第一份 CLAUDE.md。

/init

它會根據目前 Repository 裡的內容,整理出一份專案 Context。

例如:

  • 技術棧
  • 目錄結構
  • Build / Run 指令
  • 測試方式
  • 從現有程式碼看得出來的架構慣例

CLAUDE.md 可以告訴 Claude:「我們這個專案通常應該怎麼做。」

但它不是一個用來強制阻止 Claude 執行某個動作的機制,如果真的需要在執行層面限制某些行為,就要使用其他機制,例如 Hook,這部分後面還會再詳細介紹。

可以先簡單把它理解成:

CLAUDE.md 是給 AI 的 Context,不是 AI 的防火牆。


三、權限模式:到底要讓 Claude 做到哪裡?

這裡就接回 Day 03 講到的,Chat 跟 Agent 最大的差別之一就是:

Agent 開始擁有實際執行權。

我們需要開始思考:

  • Claude 可以看到什麼?
  • 可以修改什麼?
  • 可以執行什麼?

Claude Code 的 Permission Mode,就是在處理這件事情。

模式 核心概念 適合情境
default / Manual 需要人確認操作 初次使用、敏感專案
acceptEdits 自動接受檔案編輯 一般開發迭代
plan 先探索與規劃,再決定是否執行 動手前先確認方案
auto 自動化程度更高 長任務
dontAsk 不主動詢問,依既有權限執行 自動化流程
bypassPermissions 跳過權限確認 隔離環境

這裡要特別注意,AI-DLC / Spec-Driven 裡的 Plan,和 Claude Code 的 plan permission mode 不是同一個東西。

  • 前者是 Implementation Plan:這個功能打算怎麼實作。
  • 後者是 Permission Mode:Claude 在目前階段可以做到什麼程度。

實作

Step 1:建立 Repository,啟動 Claude Code

cd meetingNotesSystem
claude

第一次進入時,Claude Code 會要求確認是否信任這個 Workspace。

信任 workspace 的確認畫面

Step 2:先讓 Claude 建立基本專案骨架

我先讓 Claude 建立最基本的專案結構,這裡我使用 plan mode,先讓 Claude 告訴我它準備做什麼,我確認之後再讓它執行,這也剛好對應到 Day 02 講的 AI-DLC:

AI 提案 → Human Validation → AI Execute

plan mode 下 Claude 提出的建立計畫

Step 3:用 /init 建立第一份 Context

/init

Claude 掃描目前的 Repository 後,產生 CLAUDE.md

在專案骨架建立完成後才執行 /init,這樣產出的 CLAUDE.md 是根據目前實際存在的程式碼與目錄結構整理出來的,而不是對一個空 Repo 做猜測。

/init 掃描專案的過程

Step 4:看看 /init 到底幫我們寫了什麼

/init 幫我整理出目前 Repo 的技術棧、目錄結構與基本指令,這樣下次進入這個 Repo 時,Claude 不用重新猜「這是一個什麼專案」。

/init 產出的 CLAUDE.md

但這份文件到這裡還不算完成。Claude 知道「這個 Repo 現在長什麼樣」,但不知道「我們希望它接下來怎麼做」,例如我們的 Meeting Notes System 可能還有這些規則:

  • API 命名規則
  • 哪些資料夾不能直接修改
  • Database migration 的方式
  • 哪些測試一定要跑
  • 哪些架構決策不能隨便改

/init 先建立 AI 對專案的共同起點,真正的團隊規範後面會逐步補進 CLAUDE.md

Step 5:驗證 Context 有沒有真的生效

到這裡,我想確認一件事情:Claude 真的有理解這個 Repo 嗎?

所以我沒有直接叫它開始寫功能,而是先問:

「如果我要新增 Meeting API,你會修改哪些檔案?」

它不是只回答「可以新增 meeting.py」,Claude 先分析了目前 Repo 的狀態,再把新增 Meeting API 所需要的修改拆成幾個部分。

Claude 依照 CLAUDE.md 拆解修改範圍


小結

  • Claude Code 裝起來很快,真正重要的是裝完之後先讓 AI 理解專案,而不是馬上叫它寫功能。
  • /init 產出的是 Repo Context,不是完整的團隊規範。真正重要的規則、決策與限制,還需要我們自己補進 CLAUDE.md。
  • 權限模式決定 AI 擁有多少執行權。
  • CLAUDE.md 是 context,不是強制配置。 如果真的需要在執行層面限制某些行為,就需要進一步使用 Hook 等機制。

明天:同一個任務交給 Opus、Sonnet、Haiku,結果差多少?什麼時候「換模型」比「改提示詞」有效。


上一篇
Day 03|Spec-Driven Development:為什麼我不直接叫 Claude 寫 Code
系列文
30 天打造我的 AI 開發工作流:從需求分析到上線4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言