一文徹底掌握.claude/目錄(讓Claude Code真正懂你的項目)
前言
Claude Code 開箱即用已經(jīng)很強大,但真正讓它如虎添翼的,是學(xué)會配置 .claude/ 目錄。這個目錄是你與 Claude 之間的"約定"——項目規(guī)范、自定義工具、工作流自動化,全都在這里。
目錄結(jié)構(gòu)總覽
your-project/ ├── .claude/ │ ├── settings.json # 權(quán)限、MCP、環(huán)境變量配置 │ ├── settings.local.json # 本地私有配置(不提交 git) │ ├── rules/ # 自動加載的規(guī)則文件(補充 CLAUDE.md) │ │ ├── security.md │ │ └── style.md │ ├── commands/ # 斜杠命令(簡單指令) │ │ ├── commit.md │ │ └── test.md │ └── skills/ # 斜杠命令(復(fù)雜工作流) │ ├── review.md │ └── deploy.md └── CLAUDE.md # 項目說明書(自動加載)
提交建議:
CLAUDE.md、.claude/settings.json、.claude/commands/、.claude/skills/全部提交 git,團隊共享。settings.local.json加入.gitignore,存放個人 API Key 等敏感信息。
CLAUDE.md — 項目說明書
CLAUDE.md 是整個系統(tǒng)的核心。每次啟動 Claude Code,它都會自動讀取這個文件,無需任何調(diào)用。
把它理解為"寫給 AI 的 README"——你希望 Claude 始終知道的一切,都寫在這里。
寫什么?
# 項目名稱 ## 技術(shù)棧 - React 18 + TypeScript + Vite - 包管理器:pnpm(不要用 npm 或 yarn) - 樣式:Tailwind CSS ## 常用命令 pnpm dev # 啟動開發(fā)服務(wù)器(端口 3000) pnpm build # 構(gòu)建生產(chǎn)版本 pnpm lint # 代碼檢查 ## 代碼規(guī)范 - 組件文件:PascalCase(Button.tsx) - 工具函數(shù):camelCase(formatDate.ts) - 新頁面必須使用 React.lazy() 懶加載 - 禁止使用 any 類型 ## 架構(gòu)說明 - components/common/ → 通用基礎(chǔ)組件 - components/features/ → 業(yè)務(wù)功能組件 - pages/ → 頁面(懶加載) ## 注意事項 - 提交前必須通過 pnpm lint - 不要修改 tailwind.config.js 的顏色變量
最佳實踐
- 寫"不要做什么"比"要做什么"更重要 — Claude 的默認行為已經(jīng)很好,主要用 CLAUDE.md 糾偏
- 保持簡潔 — 超過 200 行會被截斷,重點突出
- 用代碼塊展示命令 — Claude 會直接復(fù)用這些命令
- 說明項目特殊約定 — 普通項目不需要說,但你項目里的"特殊規(guī)則"一定要寫
.claude/rules/ — 自動加載的補充規(guī)則
rules/ 目錄里的所有 .md 文件會自動加載,和 CLAUDE.md 一樣無需手動調(diào)用。
和 CLAUDE.md 有什么區(qū)別?
| CLAUDE.md | .claude/rules/*.md | |
|---|---|---|
| 位置 | 項目根目錄 | .claude/rules/ 目錄 |
| 數(shù)量 | 一個文件 | 可以有多個文件 |
| 內(nèi)容 | 項目整體說明 | 按主題拆分的具體規(guī)則 |
| 團隊共享 | 提交 git | 提交 git |
核心優(yōu)勢是拆分——當(dāng)規(guī)則很多時,按主題分文件,比把所有內(nèi)容堆在 CLAUDE.md 里更清晰,也更容易維護。
示例:security.md
# Security Rules - 所有用戶輸入必須經(jīng)過驗證和轉(zhuǎn)義,防止 XSS - 禁止在客戶端代碼中硬編碼 API Key 或密碼 - SQL 查詢必須使用參數(shù)化查詢,禁止字符串拼接 - 敏感數(shù)據(jù)(密碼、token)禁止寫入 console.log - fetch 請求必須處理錯誤狀態(tài)碼
示例:style.md
# Code Style Rules - 函數(shù)超過 50 行必須拆分 - 禁止嵌套超過 3 層的 if/else,使用提前返回 - React 組件 props 必須用 interface 定義類型 - 禁止使用魔法數(shù)字,提取為具名常量 - 注釋只寫"為什么",不寫"是什么"
何時用 rules/,何時用 CLAUDE.md?
- CLAUDE.md — 項目介紹、技術(shù)棧、目錄結(jié)構(gòu)、常用命令,偏"說明"
- rules/ — 強制性的約束和禁令,偏"規(guī)則",尤其適合團隊需要統(tǒng)一強調(diào)的內(nèi)容
兩者內(nèi)容都會被 Claude 讀取,實際上寫在哪里效果相同,按團隊習(xí)慣選擇即可。
.claude/commands/ — 輕量斜杠命令
commands/ 目錄存放簡單、單一職責(zé)的指令。文件名就是命令名:commit.md → /commit。
示例:/commit
# Commit 分析暫存區(qū)的改動,生成符合 Conventional Commits 規(guī)范的提交信息并提交。 ## 步驟 1. 運行 `git diff --staged` 查看改動 2. 根據(jù)改動類型選擇 type:feat / fix / style / refactor / docs / chore 3. 用中文寫 subject,不超過 50 字 4. 執(zhí)行 git commit
示例:/test
# Test 運行測試套件并報告結(jié)果。 - 執(zhí)行 `pnpm test` - 如有失敗,分析原因并給出修復(fù)建議 - 不要自動修改測試文件,先詢問用戶
調(diào)用方式
在對話框直接輸入:
/commit /test /commit 只提交 src/ 目錄的改動
命令名后面可以附加自然語言說明,Claude 會結(jié)合命令定義和你的補充來執(zhí)行。
.claude/skills/ — 復(fù)雜工作流
skills/ 和 commands/ 在功能上完全相同,但按慣例用于更復(fù)雜、多步驟的工作流。
示例:/review(代碼審查)
# Code Review 對當(dāng)前改動進行全面的代碼審查。 ## 審查維度 ### 1. 正確性 - 邏輯是否正確?邊界條件是否處理? - 有無潛在的 null/undefined 錯誤? ### 2. 安全性 - 是否存在 XSS、SQL 注入等風(fēng)險? - 用戶輸入是否經(jīng)過驗證? ### 3. 性能 - 是否有不必要的重渲染? - 大列表是否做了虛擬化? ### 4. 可維護性 - 函數(shù)是否單一職責(zé)? - 命名是否清晰? ## 輸出格式 用 Markdown 表格列出問題,包含:文件、行號、問題描述、嚴重程度(高/中/低)、修復(fù)建議。
示例:/deploy(部署流程)
# Deploy 執(zhí)行完整的部署流程。 1. 運行 `pnpm lint` — 有錯誤則停止,不自動修復(fù) 2. 運行 `pnpm build` — 確認構(gòu)建成功 3. 運行 `pnpm test` — 測試通過才繼續(xù) 4. 詢問用戶確認:是否部署到生產(chǎn)環(huán)境? 5. 執(zhí)行部署命令 6. 驗證部署結(jié)果,訪問健康檢查接口
commands/ vs skills/:怎么選?
兩者功能完全相同,只是約定俗成的分工:
| commands/ | skills/ | |
|---|---|---|
| 適合場景 | 簡單、單一指令 | 復(fù)雜、多步驟工作流 |
| 典型例子 | /commit、/lint、/format | /review、/deploy、/refactor |
| 本質(zhì)區(qū)別 | 沒有區(qū)別 | 沒有區(qū)別 |
實際上選哪個目錄都行,統(tǒng)一用一個更好。
.claude/settings.json — 權(quán)限與配置
控制 Claude 可以執(zhí)行哪些操作,配置 MCP Server、環(huán)境變量等。
權(quán)限分兩個文件:
settings.json— 提交 git,團隊共享的基礎(chǔ)權(quán)限settings.local.json— 不提交 git,個人本地權(quán)限(API Key、私有工具)
權(quán)限語法
"Bash(pnpm *)" # 允許所有 pnpm 命令 "Bash(git add:*)" # 允許 git add(: 后為參數(shù)通配) "WebFetch(domain:github.com)" # 只允許訪問指定域名 "Skill(commit)" # 允許調(diào)用指定 skill "mcp__ide__getDiagnostics" # 允許調(diào)用指定 MCP 工具
實際配置示例(settings.local.json)
以下是一個真實的前端項目配置:
{
"permissions": {
"allow": [
"Bash(pnpm install:*)",
"Bash(pnpm dev:*)",
"Bash(pnpm build:*)",
"Bash(pnpm lint:*)",
"Bash(pnpm add:*)",
"Bash(pnpm tsc:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git rm:*)",
"Bash(git mv:*)",
"Bash(npx playwright:*)",
"WebSearch",
"WebFetch(domain:api.github.com)",
"mcp__ide__getDiagnostics",
"mcp__context7__query-docs",
"Skill(update-config)"
]
}
}配置建議
- 最小權(quán)限原則:只開放項目實際用到的命令,不要寫
"Bash(*)"放開所有 - 危險命令不授權(quán):
rm -rf、git push --force、git reset --hard等讓 Claude 每次都彈確認 - MCP 工具按需開放:用哪個 MCP 就開放哪個工具,不用的不授權(quán)
- 本地 vs 團隊:CI/CD 相關(guān)權(quán)限放
settings.json,個人工具和 Key 放settings.local.json
完整工作流示例
假設(shè)你的項目有這樣的 .claude/ 配置:
.claude/
├── settings.json
├── commands/
│ ├── commit.md → /commit
│ └── lint.md → /lint
└── skills/
├── review.md → /review
└── deploy.md → /deploy典型的開發(fā)工作流:
你:幫我實現(xiàn)用戶登錄功能 Claude:(讀取 CLAUDE.md 了解項目規(guī)范,按規(guī)范實現(xiàn)代碼) 你:/review Claude:(按 review.md 的維度進行代碼審查,輸出問題列表) 你:/lint Claude:(運行 pnpm lint,修復(fù)發(fā)現(xiàn)的問題) 你:/commit Claude:(分析改動,生成規(guī)范提交信息,執(zhí)行 git commit)
快速上手模板
復(fù)制這個最小化模板到你的項目:
CLAUDE.md
# 項目名 ## 包管理器 pnpm(禁止使用 npm/yarn) ## 常用命令 pnpm dev / pnpm build / pnpm lint ## 規(guī)范 - TypeScript,禁止 any - 組件 PascalCase,工具函數(shù) camelCase - 提交前必須通過 lint
.claude/commands/commit.md
# Commit 查看 git diff --staged,生成 Conventional Commits 格式提交信息(中文 subject),執(zhí)行提交。
.claude/commands/lint.md
# Lint 運行 pnpm lint,自動修復(fù)可修復(fù)的問題,不可修復(fù)的列出并解釋原因。
小結(jié)
| 文件 | 觸發(fā)方式 | 用途 |
|---|---|---|
CLAUDE.md | 自動加載 | 項目整體說明、技術(shù)棧、常用命令 |
.claude/rules/*.md | 自動加載 | 按主題拆分的強制規(guī)則和約束 |
.claude/commands/*.md | /command-name | 簡單斜杠命令 |
.claude/skills/*.md | /skill-name | 復(fù)雜工作流 |
.claude/settings.json | 自動加載 | 權(quán)限控制、MCP 配置 |
.claude/settings.local.json | 自動加載(不提交) | 私有配置、API Key |
花 30 分鐘配置好這些文件,Claude Code 就能真正理解你的項目,像一個熟悉代碼庫的老隊友一樣工作。
到此這篇關(guān)于Claude Code .claude/目錄的文章就介紹到這了,更多相關(guān)ClaudeCode .claude/目錄詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
本文揭示了Claude Code工具的核心配置機制,指出其使用體驗主要取決于.claude/目錄下的配置文件而非模型本身,文章詳細解析了用戶級和項目級兩個.claude/目錄的結(jié)構(gòu)差異與作2026-06-24


