设置Claude Code别名
可以使用claude-danger来启动CC绕过权限
加入到 ~/.zshrc
alias claude-danger='claude --dangerously-skip-permissions'
也可以编辑 ~/.claude/setting.json 文件来达到绕过权限的效果
{
"permissions": {
"allow": [
"WebSearch", "WebFetch", "Bash", "Read", "Write",
"Edit", "Glob", "Grep", "Task", "TodoWrite"
],
"deny": [],
"defaultMode": "bypassPermissions"
},
"skipDangerousModePermissionPrompt": true
}
用 /init 命令重构/初始化 CLAUDE.md 文档
CLAUDE.md 是 Claude Code 非常重要的记忆文档,这个文件是随着开发迭代逐步完善的,如果不知道怎么写,你可以使用这个命令进行创建,但是建议初始化完成之后进行手动调整。
参考这个结构(基于next.js的电商平台)
# Project: ShopFront
Next.js 14 e-commerce application with App Router, Stripe payments, and Prisma ORM.
## Code Style
- TypeScript strict mode, no `any` types
- Use named exports, not default exports
- CSS: Tailwind utility classes, no custom CSS files
## Commands
- `npm run dev`: Start development server (port 3000)
- `npm run test`: Run Jest tests
- `npm run test:e2e`: Run Playwright end-to-end tests
- `npm run lint`: ESLint check
- `npm run db:migrate`: Run Prisma migrations
## Architecture
- `/app`: Next.js App Router pages and layouts
- `/components/ui`: Reusable UI components
- `/lib`: Utilities and shared logic
- `/prisma`: Database schema and migrations
- `/app/api`: API routes
## Important Notes
- NEVER commit .env files
- The Stripe webhook handler in /app/api/webhooks/stripe must validate signatures
- Product images are stored in Cloudinary, not locally
- See @docs/authentication.md for auth flow details
最新版本/init 已经更加智能,现在运行不只会帮你写 Claude.md 还会扫描你的代码库询问相关信息,帮你配置对应的 Skills 、插件、Hook
将这段内容添加到 settings.json 开启:“CLAUDE_CODE_NEW_INIT”: “1”
按 Esc 键是停止,按 Esc+Esc 可以直接进入/rewind 模式进行回滚
Esc+Esc(或 /rewind)会打开一个可滚动的菜单,列出 Claude 创建的每个检查点。你可以恢复代码、对话,或者两者兼有。“撤销那个”也行。有四个恢复选项:代码与对话、仅会话、仅代码,或从检查点以后总结。
# 终端执行 回到上次对话
claude -c
# 进入claude 查看历史会话
/resume
在跟 Claude 对话时,提供详细的反馈链路
没有反馈链路的提问方法:
帮我做一个邮箱密码登录功能
有反馈链路的提问方法:
帮我做一个邮箱密码登录功能。
做完后请自己测试这个流程:
- 错误输入要有提示
- 正确登录后要跳转到 dashboard
- 未登录访问 dashboard 要跳回 login
如果测试失败,请继续修复,直到这条链路跑通再告诉我完成。
为什么会这样,因为 AI 只对当前代码生成负责,它很容易认为自己成功,缺乏链条的测试能力,我们在提问的时候,尽量描述清楚你认为的功能完成最基础的标准是什么?
目前可以采用SKILL:superpowers
安装一个针对语言的代码智能插件(LSP)
LSP 插件在每次文件编辑后自动给 Claude 诊断。类型错误、未使用的导入、缺少返回类型。Claude 在发现问题之前就已经发现并修复了它们。
/plugin install typescript-lsp@claude-plugins-official
/plugin install pyright-lsp@claude-plugins-official
/plugin install rust-analyzer-lsp@claude-plugins-official
/plugin install gopls-lsp@claude-plugins-official
尽可能多的使用技能/创造技能
技能 = 封装流程并且可以让大模型给你一个确定的结果
在AI 编程中的每个环节,都可以去思考如何使用技能来提效
头脑风暴->需求拆解->ui 设计->技术设计->plan->task->开发->测试->review->上线->复盘等等
- 安装技能
npx skills add <owner/repo>
你可以先按照一个查找技能的技能
https://skills.sh/vercel-labs/skills/find-skills
当你不确定如何处理某件事时,使用计划模式
对于小型、明确范围的任务,可以跳过它。如果你能用一句话描述差异,就直接说出来。你可以随时切换到计划模式,按 Shift+Tab,在正常、自动接受和计划权限模式间切换,无需离开对话。
用自己的话转述 bug,直接把报错贴给 Claude
用自己的解释漏掉了原始的信息
登录跳转有问题,应该是 token 没存上,你帮我修一下。
自己的怀疑+原始的日志信息,能够让 AI 更快定位问题。
如果你没有任何怀疑的方向,直接贴日志就行
这是登录相关的控制台报错和接口返回。
我怀疑是 token 存储或者路由守卫的问题,你先从这个方向排查,但也请结合日志判断真实原因。
-日志信息
-其他信息
开启无关的任务时,进行/clear 操作,清空上下文
系统自带的自动压缩,是不会区分任务和任务的关联性的。
上下文的堆积会极大的影响 AI 生成代码的质量。手动清除的好处就是,时刻让上下文保持干净清爽。
还有,如果你在让 AI 修复某个问题时,一直兜兜转转解决不了,非常建议clear一下,重新开始,你会发现新的世界是如此美好。
使用子代理保持主上下文的清晰
子代理是独立的上下文,在整个运行过程中不影响主代理的上下文
-
使用系统自带的子代理
1、explore 搜索代码
2、plan 生成计划
3、General-purpose 复杂任务
-
自定义子代理
什么情况下要去使用自定义子代理?
-
你要进行的任务时间比较长且和当前主代理没有多大关系,主代理更关心的是这个子代理的结果
比如 code-review
-
隔离高容量操作 - 运行测试、获取文档等产生大量输出的任务
-
使用/btw 来进行快速提问
这个命令的好处是可以边运行边提问,而且不会加入到上下文。
使用—worktree 并行开发
Claude —Worktree Feature-Auth 创建了一个带有新分支的独立工作副本。Claude 会帮你完成 git worktree 的设置和清理。
前提一定要先用 git 初始化
你可以使用比如 conductor, vibe-kanban 这类工具更加方便的使用 worktree 进行管理
选择合适的MCP来提升效率
值得入手的 MCP 服务器有:Playwright 用于浏览器测试和 UI 验证,PostgreSQL/MySQL 用于直接模式查询,
告诉Claude具体要看哪些文件
Claude 可以单独进行 grep 和搜索你的代码库,但它仍然需要缩小候选范围并确定合适的文件。每一步搜索都需要代币和上下文。一开始就把 Claude 指向正确的文件,可以跳过整个过程。