55:25Vercel
Log in to leave a comment
No posts yet
将代码交给 AI 代理时,最令人不安的一点就是运行时配置。虽然 Claude Code 非常方便,但在 Next.js 项目中,遗漏 NEXT_PUBLIC_ 前缀或缺失必需 API 密钥的错误仍然极有可能发生。每次都靠人工肉眼去检查这些概率性错误是非常疲惫的。
请在项目根目录编写一个 .claude-check 脚本,并将其连接到 Claude Code 的 post-tool-use 钩子(hook)中。让脚本检测 .env 文件的更改,并检查是否缺失前缀或存在空值。如果将脚本设置为在验证失败时以 JSON 格式输出错误内容,Claude 看到该消息后会尝试自动修复。仅需增加一个机械式的验证循环,每周就能减少至少 2 小时因部署后环境变量错误而浪费的调试时间。
本地环境与实际部署环境的差异会导致 AI 给出错误的答案。Vercel 会为每个分支生成唯一的预览 URL,将此 URL 注入 Claude 会话可以让 AI 开始感知实际的运行时状态。
首先,编写一个 shell 脚本,通过终端命令 vercel ls --format json 提取当前分支的部署 URL。然后,在运行 Claude Code 时使用 --append-system-prompt 标志传递该 URL。现在,你可以命令 Claude:“查看预览 URL 的日志并帮我找出错误”。这在处理那些本地运行正常但在部署服务器上才出现的注水(Hydration)错误时特别有用。在实际开发场景中,仅靠这种实时数据注入就能让调试速度提升 30% 以上。
盲目地将项目中所有文件交给 AI 是在浪费金钱。上下文越复杂,AI 的推理性能就越差,成本也就越高。能够正确使用 .claudignore 文件才是真正的技术。
务必排除 **/.next/**、**/node_modules/**、**/dist/** 等构建产物。涉及安全的 .env.local 也必须列入名单。如果项目规模较大,建议在各子目录中放置 CLAUDE.md 以形成层级结构。这种方式只提供该文件夹内任务所需的最小化信息。有数据表明,仅通过优化忽略模式设置,每个会话的令牌消耗量最高可节省 40%。
如果是以团队为单位引入 Claude Code,绝不能任由每个人随心所欲地使用。事故往往发生在瞬间。请将定义了共同护栏(Guardrails)的 .claude/settings.json 包含在 Git 仓库中,确保所有团队成员遵循相同的规则。
如果担心安全问题,必须拆分权限。特别是在 GitHub Actions 等 CI 环境中运行时,仅赋予 contents: read 和 pull-requests: write 权限才更安全。这意味着让 AI 通过评论提出修改建议,而不是直接提交代码。此外,还需要利用管理设置(Managed Settings)强制执行,防止个别开发人员随意关闭安全验证钩子。针对提示词注入攻击(Prompt Injection)导致的恶意代码植入风险,必须通过这种多重防御体系来拦截。
在审查 AI 修改的代码时,最令人恼火的是不知道“为什么要这样修改”。Claude Code 最清楚自己做了什么。请让它利用工作上下文,生成符合 Conventional Commits 规范的消息。
编写一个 shell 函数,将 git diff --cached 的结果传递给 Claude 进行变更分析。如果在 CLAUDE.md 中明确了团队的提交规范,AI 就能生成如 feat(env): add NEXT_PUBLIC_API_URL 这样具体的辅助信息。这比人类随手写的 “fix” 含有更多的信息量。这种自动化的提交记录能显著减少同事理解和批准代码的时间。其核心在于不仅是简单的摘要,还要准确记录 Vercel 基础设施的变更点。