Claude Code 项目配置指南:每个仓库一套规则,怎么建怎么用
【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code
你手上同时开着两个仓库:一个后端服务,一个静态站点。你希望 Claude Code 在服务项目里执行 Bash 前先过沙箱,在站点项目里直接放行。逐个项目手动切换设置很繁琐,而 Claude Code 的项目配置让每个仓库各带一份设置文件——进哪个目录,就用哪套规则。下面从安装到落地钩子,只需要两条命令、两段配置。
最小例子:一份 settings.json 解决什么
没有项目配置时,所有仓库共用一套全局设置,管得松或管得紧只能一刀切。有了它,项目根目录下的 settings.json 单独生效:服务项目里写上"必须运行在沙箱中",站点项目不写这条,两个项目天然隔离,切换目录时不用再记自己上次动了哪个开关。文件就是标准 JSON,保存即生效,和项目的代码放在一起管理。
隔离逻辑讲清楚了,从零把它跑一遍。
三步装好你的项目配置
- 安装 Claude Code,用官方安装脚本,一条命令完成:
curl -fsSL https://claude.ai/install.sh | bash- 进入你的项目目录,直接启动:
cd ~/work/my-service && claude- 在项目根目录新建 settings.json,写入第一条规则——让 Bash 工具跑在沙箱里:
{ "sandbox": { "enabled": true } }从这一刻起,这个目录下的 Claude Code 按这套规则走,和别的仓库互不影响。
配置跑起来之后,看看几个真实场景怎么落地。
场景实战:Bash 验证钩子与团队配置基线
担心执行到低效命令。当 Claude 准备跑一条 Bash 时,你希望它先被规则检查一遍。在 settings.json 里加一条 PreToolUse 钩子指向验证脚本即可,仓库自带一个现成示例,会把 grep 这类调用拦下来并提示改用 rg:
{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "python3 examples/hooks/bash_command_validator_example.py" } ]} ]} }配完之后,命中规则的命令会在执行前被挡下,Claude 会按提示换一种写法再试,你在终端里看不到任何低效命令真正跑起来。
新人克隆仓库就要受同样约束。仓库里有一份严格的设置示例,包含 Bash 需审批、禁用联网搜索等规则。把它复制成项目的 settings.json 起点,按差异微调后提交,规则就和代码一起进仓库,团队不用口头对齐。
接手不熟悉的第三方代码。把沙箱参数进一步收紧,禁止任何命令绕过沙箱执行,动作范围立刻可控。
前两步都顺利的话,剩下就是排查那些"看起来没生效"的情况。
配置不生效、钩子不拦截时先查这三处
规则写了没反应。多数情况是 JSON 本身有语法错误,整个文件被忽略;也可能是某些字段只在企业管理层级生效,放在项目文件里不起作用。处理:先校验 JSON 合法性,再在 settings.local.json 里本地试跑,确认无误再推广到团队。
钩子跑了但不拦截。钩子脚本靠退出码表达结果:0 表示放行,2 表示拦截并把消息反馈给 Claude,1 只把错误展示给你自己。只打印提示、不改退出码,等于没拦。
沙箱像没起作用。sandbox 属性只约束 Bash 工具,对读取、联网搜索等其他工具以及钩子本身无效。想限制其他工具,需要单独加权限规则,而不是继续调沙箱参数。
一句话记住:一个目录一份设置文件,规则跟着代码进仓库。更多细节可看 设置示例目录、Bash 验证钩子示例 和 官方 README。
【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考