最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文徹底掌握.claude/目錄(讓Claude Code真正懂你的項目)

  發(fā)布時間:2026-05-19 11:44:06   作者:Zhustand   我要評論
如果你曾經(jīng)用過Claude Code,或許會發(fā)現(xiàn)項目根目錄下突然多出一個名為.claude的文件夾,下面這篇文章主要介紹了ClaudeCode中.claude/目錄的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

前言

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 Code工具的核心配置機制,指出其使用體驗主要取決于.claude/目錄下的配置文件而非模型本身,文章詳細解析了用戶級和項目級兩個.claude/目錄的結(jié)構(gòu)差異與作
    2026-06-24

最新評論

淮阳县| 太白县| 洪雅县| 乐陵市| 桃园县| 南漳县| 盘山县| 萝北县| 新乡市| 平南县| 应用必备| 台前县| 凌云县| 西平县| 连江县| 开封县| 定陶县| 福安市| 温州市| 报价| 定兴县| 中超| 湄潭县| 华亭县| 宕昌县| 佛冈县| 监利县| 东平县| 丹东市| 房山区| 郧西县| 斗六市| 贵阳市| 龙口市| 衡水市| 普定县| 航空| 临安市| 崇信县| 友谊县| 桃源县|