Claude Code 用了半年,我把踩过的坑做成了这套配置

49 阅读10分钟

用 AI 写代码这件事,我觉得可以分成两个阶段。

第一个阶段是"哇塞真牛逼",AI 能理解需求、能写代码、能跑通测试,感觉以后不用加班了。

第二个阶段是"我去怎么又出问题了"。AI 改着改着把同事的代码覆盖了,聊到一半忘了项目背景,让它修个 bug 它把整个模块重构了,代码风格一会儿驼峰一会儿下划线。

我从 Claude Code 内测就开始用了,两个阶段都经历过。踩了半年坑之后,我整理了一套配置,约束 AI 的行为,让它从"偶尔靠谱"变成"稳定输出"。

现在开源出来了:cc-best

GitHub: github.com/xiaobei930/…


这套配置要解决什么问题

先说问题,再说方案。

问题一:AI 会搞破坏

Claude Code 有执行命令的能力,这本来是好事,但有时候 AI 会执行一些危险操作:

git push --force origin main    # 覆盖远程历史,同事的提交没了
git reset --hard HEAD~5         # 本地改动全丢
rm -rf node_modules && npm i    # 可能没事,也可能依赖版本变了出问题

还有提交敏感文件:

git add .env                    # 数据库密码、API Key 全暴露了
git add credentials.json        # 同上

这些操作 AI 是"无意"的,它只是觉得这样能解决问题,但后果可能很严重。

问题二:上下文会丢失

Claude Code 的对话是有 token 限制的。聊着聊着 token 用完了,或者你关掉终端重新开,之前的对话上下文就没了。

下次你得重新解释:这个项目是干嘛的、架构是什么、上次做到哪了、为什么要用这个技术方案。

这很烦,而且浪费时间和 token。

问题三:AI 会越界

你让它分析需求,它分析完顺手就把代码改了。 你让它改个 bug,它觉得整个模块设计有问题,直接重构了。 你让它 review 代码,它 review 完顺手就把"问题"改了。

AI 的出发点是好的,但有时候你只想让它干一件事,它却干了三件。

问题四:代码风格不统一

同一个项目里:

# 第一次生成的
def get_user(id):
    return db.query(User).filter_by(id=id).first()

# 第二次生成的
def GetUser(userId: int) -> Optional[User]:
    """Fetch user by ID."""
    return db.query(User).filter(User.id == userId).first()

函数命名、参数风格、类型注解、文档字符串,全不一样。review 的时候看着头疼。


cc-best 怎么解决这些问题

安全钩子:拦截危险操作

cc-best 用 Hooks 机制,在 AI 执行命令之前进行检查:

操作处理
git push --force阻止,弹警告
git reset --hard阻止,弹警告
提交 .env*.keycredentials.*阻止
修改 node_modulesvendor阻止
删除受保护的文件阻止

这些规则可以自己改,不是写死的。但默认配置能拦住大部分"灾难"。

Memory Bank:记住项目状态

cc-best 有个 memory-bank 目录,AI 会把项目状态写进去:

memory-bank/
├── progress.md      # 当前任务、已完成的事、做过的决定
├── architecture.md  # 系统架构
└── tech-stack.md    # 技术选型

相关命令:

  • /checkpoint - 保存当前进度
  • /iterate - 读取进度,继续干活
  • /compact - 压缩对话,保留关键信息

下次开新对话,先跑个 /iterate,AI 会自动读这些文件,知道:

  • 这是个什么项目
  • 用了什么技术
  • 上次做到哪了
  • 之前做过什么决定、为什么这么决定

不用每次都从头解释。

角色工作流:让 AI 只干一件事

这是我用得最多的功能。

把开发流程拆成几个角色,每个角色有明确的职责边界:

命令角色干什么不干什么
/pm产品经理分析需求,列任务清单不写代码
/lead技术主管设计方案,拆任务,评估风险不写具体实现
/designer设计师出 UI 方案,定交互不写业务逻辑
/dev开发工程师写代码,跑测试不改需求
/qa质量工程师review 代码,验收不直接改代码

完整流程:

/pm → /lead → /designer(前端项目) → /dev → /qa → /verify → /commit

比如你用 /pm 命令,AI 只会输出需求分析和任务列表,绝对不会动手写代码。它知道自己现在是"产品经理",不是"开发工程师"。

这样 AI 就不会在你让它分析需求的时候顺手把代码改了。

自主迭代模式:让 AI 自己干活

这是 cc-best 的特色功能。

普通模式下,你得一步步指挥 AI:分析需求、设计方案、写代码、跑测试、提交。每一步都要你介入。

/iterate 模式不一样。你只需要告诉 AI 要做什么,然后它会:

  1. 读取 progress.md,了解当前状态
  2. 按照任务列表,自动切换角色执行
  3. 每完成一步,自动保存进度
  4. 遇到问题会停下来问你,否则一直干到完成

用法:

# 先用 /pm 分析需求,生成任务列表
/pm 实现用户登录功能

# 然后启动自主迭代
/iterate

AI 会自动走完整个流程:Lead 设计方案 → Dev 写代码 → QA 验收 → 提交。

什么时候用 /iterate

  • 任务比较明确,不需要频繁沟通
  • 你想去喝杯咖啡,让 AI 自己干
  • 晚上下班前启动,第二天看结果

什么时候不用

  • 需求不清晰,需要边做边调整
  • 涉及重要决策,需要你把关
  • 第一次接触项目,还不熟悉代码

还有个 /pair 结对编程模式,适合需要频繁沟通的场景。AI 每一步都会等你确认。

编码规范:统一代码风格

内置 7 种语言的规范配置:

  • Python - PEP8 + 类型注解 + Google docstring
  • TypeScript - 严格模式 + ESLint + Prettier
  • Vue - 组合式 API + TypeScript + script setup
  • Go - 官方规范 + 常见最佳实践
  • Java - Google Java Style
  • C# - .NET 规范
  • C++ - 现代 C++ 风格

AI 生成代码会按这些规范来,不用每次都提醒。

规范文件在 rules/ 目录下,是 Markdown 格式,不喜欢可以自己改。


更多功能

除了解决上面四个问题,cc-best 还有一些其他功能:

智能体(Agents)

6 个专业智能体,处理复杂任务:

智能体作用
planner任务规划,把大需求拆成可执行的小任务
code-reviewer代码审查,按检查清单逐条检查
code-simplifier代码简化,找出可以重构的地方
security-reviewer安全审查,检查 OWASP Top 10 漏洞
tdd-guideTDD 引导,带你走测试驱动开发流程
requirement-validator需求验证,检查需求文档是否完整

调用方式:/cc-best:code-reviewer

专业技能(Skills)

14 个专业知识库,需要时加载:

技能内容
database-patterns数据库最佳实践(PostgreSQL、MySQL、Oracle、SQLite)
security-review安全审查(OWASP Top 10 + 云安全)
backend-patterns后端开发模式(Python、TypeScript、Java、Go、C#)
frontend-patterns前端开发模式(Vue、React、Svelte、Angular)
devops-patternsDevOps 模式(Docker、CI/CD)
api-developmentRESTful API 设计规范
tdd-workflow测试驱动开发流程
git-workflowGit 工作流最佳实践
debugging系统化调试方法
ios-developmentiOS/macOS 开发模式
continuous-learning会话知识提取
strategic-compact策略性上下文压缩
isolated-research隔离上下文研究
second-opinion第二意见(跨模型验证)

调用方式:/cc-best:database-patterns

这些知识平时不加载,不占 token,需要时再调用。

常用命令

32 个命令,覆盖常见开发场景:

命令作用
/build运行构建
/test运行测试,失败自动修复
/commit生成 commit message 并提交
/pr创建 Pull Request
/fix修复当前问题
/cleanup清理无用代码
/docs生成文档
/status查看当前状态
/pair结对编程模式
/cc-ralph自主开发循环

怎么安装

前置条件:安装 Claude Code

cc-best 是 Claude Code 的插件,所以你得先有 Claude Code。

如果还没装,去官网下载:claude.ai/code

或者用命令行:

# macOS / Linux
npm install -g @anthropic-ai/claude-code

# Windows
npm install -g @anthropic-ai/claude-code

装完之后在终端输入 claude 就能启动。第一次用需要登录 Anthropic 账号。

方式一:安装插件(推荐)

在 Claude Code 里面执行:

# 添加插件市场源
/plugin marketplace add xiaobei930/claude-code-best-practices

# 安装插件
/plugin install cc-best@xiaobei930

或者用交互式菜单:

# 输入 /plugin,选择 "Add Marketplace",输入:
xiaobei930/claude-code-best-practices

# 然后选择 "Install Plugin",选择 cc-best

装完之后输入 /status 验证是否生效。

插件方式的好处

  • 不会往你项目里塞文件
  • 更新方便:/plugin update cc-best@xiaobei930
  • 所有项目共享同一套配置

方式二:Clone 到项目

如果你想深度定制,可以直接 clone 仓库:

# 克隆模板
git clone https://github.com/xiaobei930/claude-code-best-practices.git my-project
cd my-project

# 运行初始化
bash scripts/shell/init.sh

# 编辑 CLAUDE.md,替换占位符

或者复制到现有项目:

cp -r claude-code-best-practices/commands /path/to/your/project/
cp -r claude-code-best-practices/skills /path/to/your/project/
cp -r claude-code-best-practices/rules /path/to/your/project/
cp -r claude-code-best-practices/memory-bank /path/to/your/project/
cp claude-code-best-practices/CLAUDE.md /path/to/your/project/

Clone 方式的好处

  • 完全可定制,所有文件在你的仓库里
  • 可以修改任何配置
  • 适合团队统一规范

注意:不要在 clone 的项目里再装插件,会导致命令重复。


路线图:接下来要做什么

cc-best 还在持续迭代,接下来的计划:

v0.6.0 - 易用性与配置化

  • Lite 模式 - 精简版插件
    • 很多人反馈功能太多,用不上。会出一个 cc-best-lite,只保留核心功能(/iterate、/checkpoint、/commit + 基础 hooks)
    • 适合只想要"安全护栏 + 进度记忆"的用户
  • 交互式配置向导 - 增强 /setup 命令,引导式配置
  • 模型策略配置 - 支持选择"质量优先/速度优先/均衡"模式
  • 错误诊断 - 常见问题自动检测和修复建议

v0.7.0 - 多模型协作

  • 多模型技能 - 同一个任务用多个模型协作
  • Gemini 集成 - 用 Gemini 的长上下文能力处理大文件分析
  • 任务路由 - 根据任务类型自动选择最合适的模型

v1.0.0 - 稳定版

  • 扩展 API - 支持自定义命令和技能
  • Memory Bank 云同步 - 跨设备同步项目状态
  • 团队协作 - 多人共享配置和进度
  • 完整 i18n - 等官方支持后做多语言

适合谁用

适合

  • 用 Claude Code 做实际项目开发的人
  • 被 AI 乱改代码、忘记上下文搞烦了的人
  • 想在团队里统一 AI 开发规范的人
  • 喜欢折腾配置、追求效率的人

不适合

  • 只是偶尔用 Claude Code 问问问题的人
  • 觉得约束太多、想让 AI 自由发挥的人
  • 不用 Claude Code 的人(Cursor、Copilot 用户这套配置不兼容)

最后

这个项目是我自己用的配置整理出来的,从 0.1.0 到现在 0.5.1,迭代了十几个版本。

但我一个人用的场景有限,肯定有很多我没想到的需求和没遇到的问题。

如果你用了之后:

  • 发现了 bug
  • 有想要的功能
  • 觉得哪里设计不合理
  • 或者只是想吐槽

都欢迎到 GitHub 提 issue:

github.com/xiaobei930/…

你的反馈是这个项目进步的唯一动力。

认真的,每一条 issue 我都会看,能做的会尽快做,做不了的会说明原因。


GitHub: github.com/xiaobei930/…

MIT 协议,随便用,欢迎 PR。