一、项目级:写好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 | 说"先出计划不要改文件",确认后批准执行,防跑偏 |
一会话一任务 | 无关任务间 |
最小改动 | 提示词加"只改相关文件,不做无关重构" |
Git 检查点 | 大改前 |
让 AI 自验 | 告诉它跑测试/`lint/build 并修失败,别只生成代码 |
看 diff 再提交 | 每次改完 |
用 /commit | Claude Code 内置 |
典型修改型 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 HEAD或git 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模板 👍