一、项目级:写好 CLAUDE.md(最重要)

在项目根目录建 CLAUDE.md(提交进 Git 与团队共享),Claude Code 每次启动自动读取,相当于给 AI 注入"项目 README + 编码规范":

# 项目概述
这是 PHP + Laravel 电商后端,使用 MySQL 8.

## 常用命令
- 跑测试:`./vendor/bin/pest` 或 `npm test`
- 构建:`npm run build`
- Lint:`./vendor/bin/pint`

## 编码规范
- 使用 strict_types=1
- Controller 不许直接写 DB 查询,走 Service 层
- 所有新 API 必须写集成测试
- 禁止在代码中硬编码密钥/config

## Git 约定
- 功能分支:`feature/xxx`,修复:`fix/xxx`
- Commit 用 Conventional Commits 格式

个人偏好放 CLAUDE.local.md(加进 .gitignore),团队共享放 CLAUDE.md


二、编程工作流最佳实践

习惯

做法

先探索再动手

新项目先问"解释这个项目结构",确认它读懂了再让改代码

大任务先 Plan

说"先出计划不要改文件",确认后批准执行,防跑偏

一会话一任务

无关任务间 /clear,上下文污染会降低质量

最小改动

提示词加"只改相关文件,不做无关重构"

Git 检查点

大改前 git add -A && git commit -m "checkpoint before refactor",出事可回滚

让 AI 自验

告诉它跑测试/`lint/build 并修失败,别只生成代码

看 diff 再提交

每次改完 git diff,确认无无关文件/硬编码密钥再 git add -p

用 /commit

Claude Code 内置 /commit分析 diff 生成规范 commit msg;提交前可跑 /simplify做代码清扫

典型修改型 Prompt:

修复 UserService.php 中 getUserById($id) 未校验 $id 为正的 bug。
- 先定位相关文件并说明计划
- 最小改动,不重构其他逻辑
- 修改后跑 ./vendor/bin/pest tests/Unit/UserServiceTest.php
- 告诉我应该运行哪些验证命令

三、审查尚未提交的代码(你问的重点)

Claude Code 有内置命令,也可以直接问。

方式 A:内置 /code-review(推荐)

在 Claude Code 交互会话中,改完代码未 commit 时直接输入:

/code-review

它会启动子 Agent 读当前 git diff(工作区未暂存 + 已暂存),重点找 bug、边界条件、安全问题和遗漏的错误处理,输出按严重程度分级。

方式 B:手动 Prompt 审查 diff(更可控)

在会话中直接说:

检查我尚未提交的改动(git diff),重点关注:
- 空指针/NULL 未判空
- 边界条件(数组越界、除零、负数 ID)
- 异常处理是否向上传播
- SQL 注入 / 未鉴权接口
- 是否有逻辑错误会影响生产行为
只报 Critical/Major 问题并给文件和行号,不报风格 nit。

或终端一键(非交互):

git diff | claude -p "审查以下 diff,找会导致生产 bug 的逻辑错误,给出文件:行号和建议修复"

方式 C:对比指定基准分支

审查 git diff main...HEAD 中的改动,检查是否与需求一致、有无引入不相关修改

四、提交前推荐完整闭环

git checkout -b fix/user-id-validation
# ← 在 Claude Code 中完成编码 + 跑测试
git diff              # 人工过一遍
# 在 Claude Code 会话中:
/code-review          # AI 审查未提交改动
/simplify             # 可选:代码清扫
/commit               # AI 生成 commit msg
git push

出问题回滚:

  • 未 commit → git checkout .

  • 已 commit 但想撤 → git revert HEADgit reset --hard HEAD~1


五、快捷别名(可选)

# ~/.zshrc
alias ccr='git diff | claude -p "审查 diff,只报 Critical/Major bug,给文件:行号"'
alias ccm='claude'

一句话CLAUDE.md定规矩 + 先 plan 再 implement + /code-review审未提交 diff + 看 git diff再 commit,是用 Claude Code 最稳健的日常闭环。

有需要我可以给你一份适配 PHP/Laravel 或你具体技术栈的 CLAUDE.md模板 👍

更多推荐