教程

Claude Code .claudeignore 完全指南:精准控制 AI 读取文件的范围

Claude Code .claudeignore 文件完整使用指南:语法规则(与 .gitignore 完全一致)、为什么需要排除文件(隐私/性能/干扰)、推荐排除的文件类型(node_modules/secrets/.env/构建产物)、按项目类型的最佳实践配置(Node.js/Python/Go/单体仓库)、.claudeignore 与 .gitignore 的区别,以及如何验证排除规则是否生效。

2026/3/183分钟 阅读ClaudeEagle

.claudeignore 是 Claude Code 的文件排除配置,控制哪些文件不会被 AI 读取。 正确配置它可以保护隐私、提升性能、减少 AI 被无关代码干扰。

为什么需要 .claudeignore?

Claude Code 在分析项目时会扫描目录中的文件。默认情况下,它会读取:

  • 所有源代码文件
  • 配置文件
  • 文档
  • 包括你可能不想让它看到的东西

需要排除的常见情况:

  • .env 文件中的 API Key 和数据库密码
  • node_modules/ 等依赖目录(大量无关文件降低性能)
  • 构建产物(dist/build/
  • 大型二进制文件或数据集

语法规则

.claudeignore.gitignore 语法完全一致,学过 Git 就会用:

# 注释以 # 开头 # 忽略特定文件 .env .env.local secrets.json # 忽略整个目录 node_modules/ dist/ build/ .next/ __pycache__/ # 通配符 *.log *.pyc *.min.js # 忽略特定路径下的文件 src/generated/ data/raw/ # 取反(不忽略) !src/generated/types.ts

项目类型最佳实践

Node.js / TypeScript 项目

# 依赖和构建产物 node_modules/ dist/ build/ .next/ .nuxt/ out/ # 环境变量(包含密钥) .env .env.local .env.*.local # 测试覆盖率报告 coverage/ .nyc_output/ # 日志 *.log npm-debug.log* # 包管理器缓存 .pnpm-store/ .yarn/cache/

Python 项目

# 虚拟环境 venv/ .venv/ env/ .env/ # 编译文件 __pycache__/ *.py[cod] *.pyo *.so # 构建 dist/ build/ *.egg-info/ # 数据文件(通常很大) data/raw/ data/processed/ *.csv *.parquet # 模型文件 models/ *.pkl *.joblib *.h5

Go 项目

# 编译产物 *.exe *.exe~ bin/ # 依赖缓存 vendor/ # 测试缓存 .testcache/

单体仓库(Monorepo)

# 所有包的依赖 **/node_modules/ **/dist/ **/.next/ # 只让 Claude 看特定包 # 在特定包目录运行 Claude,或用 --add-dir 指定 # 大型资产目录 packages/assets/ apps/mobile/android/ apps/mobile/ios/

文件存放位置

.claudeignore 放在项目根目录,与 .gitignore 同级:

my-project/ ├── .claudeignore ← 放这里 ├── .gitignore ├── src/ ├── package.json └── ...

Claude Code 会自动检测并应用。

.claudeignore vs .gitignore 的区别

对比.gitignore.claudeignore
作用Git 不追踪的文件Claude 不读取的文件
语法相同相同
典型排除构建产物、依赖密钥、大型数据、生成代码
是否需要两个是,各司其职可以互补

两个文件都建议配置.gitignore 排除不需要版本控制的文件, .claudeignore 排除不应该让 AI 看到的文件(范围可能不同)。

验证排除规则

bash
# 在项目目录启动 Claude Code 后
claude

# 让 Claude 列出它能看到的文件
你:请列出这个项目中你能访问到的文件列表

# 确认敏感文件(如 .env)不在列表中

也可以直接测试:

bash
# 查看 .claudeignore 是否影响到特定文件
claude "你能读取 .env 文件吗?"
# 如果配置正确,Claude 会说找不到该文件

性能提升效果

在一个 Node.js 项目中添加 .claudeignore 排除 node_modules/ 后:

  • 上下文大小减少 90%+(node_modules 通常占项目文件总量的绝大部分)
  • 首次分析速度提升明显
  • Claude 的回复更聚焦(不会被依赖库代码干扰)

来源:Claude Code 官方文档 - docs.anthropic.com/en/docs/claude-code

相关文章推荐

教程Claude Code 配置完全指南:settings.json 四级作用域与权限管理Claude Code settings.json 四级作用域完整指南:Managed/User/Project/Local 配置范围与优先级规则、权限配置语法(allow/deny/Bash/Read/Write)、三大实际场景配置(个人开发/团队项目/企业安全)、敏感文件保护、环境变量注入与子代理参数配置。2026/3/14教程Claude Code settings.json 完整配置参考:40+ 配置项、作用域继承与插件管理Claude Code settings.json 完整配置参考:四级作用域(Managed 最高不可覆盖/User/Project/Local)及其优先级继承规则、不同功能的配置文件位置(Settings/Subagents/MCP/Plugins/CLAUDE.md)、40+ 配置项速查(基础/认证/界面/工作流/权限/安全企业/MCP/插件),包括 companyAnnouncements 公告、apiKeyHelper 动态 Key、fastModePerSessionOptIn 会话级快速模式、strictKnownMarketplaces 市场限制,以及 /config 命令和验证方法。2026/3/7教程OpenClaw 接入 IRC:让 AI 助手进驻经典 IRC 聊天室完全指南OpenClaw 接入 IRC(Internet Relay Chat)的完整配置教程:IRC 渠道的内置支持(无需插件)、服务器连接配置(host/port/nickname/channels)、TLS 加密连接、NickServ 认证(密码/SASL)、频道加入与白名单控制、私信配对(DM pairing)、群组消息与 @ 提及配置、IRC 与现代聊天工具的融合使用场景,以及常见 IRC 服务器(Libera.Chat/OFTC/Freenode替代)的连接示例。2026/3/22教程Claude Code MCP 完整使用指南:安装配置主流 MCP 服务器扩展 AI 能力Claude Code MCP(Model Context Protocol)完整使用指南:MCP 是什么(AI 工具扩展标准)、claude mcp 命令管理服务器(add/remove/list)、主流 MCP 服务器安装配置(文件系统/GitHub/PostgreSQL/Brave Search/Slack)、本地 stdio 与远程 SSE 两种连接方式、MCP 服务器安全配置、在 CLAUDE.md 中声明 MCP 工具使用规范,以及自定义 MCP 服务器的快速开发入门。2026/3/18教程Claude Code 输出格式控制完全指南:JSON、流式、结构化输出使用方法Claude Code 和 Claude API 输出格式完整控制指南:--output-format 参数(text/json/stream-json)、非交互模式(-p)的输出控制、结构化 JSON 输出(--json-schema 字段约束)、流式输出(Server-Sent Events)的处理方式、include-partial-messages 流式渐进显示、以及 CI/CD 管道中解析 JSON 输出的实用技巧。2026/3/18教程Claude Code 项目初始化最佳实践:新项目 5 分钟搭建完美 AI 编程环境Claude Code 新项目最佳初始化流程:CLAUDE.md 标准模板(项目背景/技术栈/代码规范/禁止操作)、.claudeignore 初始配置、.claude/commands/ 常用命令预置、settings.json 权限与模型设置、--init 命令的自动化初始化、项目级 vs 全局配置的优先级说明,以及不同类型项目(Web前端/后端API/全栈/开源库)的专项初始化模板。2026/3/18