跳转到内容
Supastack
CN
主题
登录获取终身访问权
全部文章

如何阻止 Claude Code 与 Cursor 弄坏你的 Monorepo(用 .ai 规则与 MCP)

代码超过约一万行,AI 代理就开始幻觉架构:重复的工具函数、被绕过的租户校验、被改坏的 webhook。这里是用 .ai/ + AGENTS.md + MCP + 测试门禁让代理安全交付的完整打法。

Noah Zixin Zhang约 4 分钟阅读

如何阻止 Claude Code 或 Cursor 破坏 Monorepo 架构?

取决于能否给代理提供与资深工程师相同的上下文:机器可读的架构契约(AGENTS.md 与写明每个包边界的 .ai/ 镜像文档)、.agents/skills/ 下的任务手册、让代理通过结构化工具而非 grep 猜测来检查仓库的 MCP 服务器(@supastack/mcp),以及一套由 693+ 测试组成、必须在评审前通过的免凭证确定性测试门禁。supastack 四层全部预装。

每个代理用户都会撞上的「一万行高墙」

用 Claude Code 或 Cursor 写前 5,000 行像变魔术。然后仓库大到代理再也看不全——失败也开始不像笔误:它重新实现了两个包之外早已存在的工具函数;它新增的查询忘了带 workspaceId;它「修好」了一个 webhook 处理器,顺手删掉了你花一个周末才做对的幂等校验。

这是上下文失败,不是能力失败。资深工程师不踩这些缝,是因为架构就在他们脑子里:哪个包管什么、哪些不变量承重、测试承诺什么。代理踩缝,是因为没人替他们把这些写下来。

第一层:一份代理能读懂的书面契约

supastack 把代理上下文当作一等交付物。仓库根部的 AGENTS.md 写明架构契约——每个包管什么、测试门禁要求什么、哪些模式被禁止。.ai/PROJECT_CONTEXT.md 记录当前状态与决策背后的理由,再配上一份份随文件而存的镜像文档,让上下文跟着代码走,而不是烂在 wiki 里。

其上还有 .agents/skills/ 下约 29 个任务手册——新增 Web 功能、改数据库 schema、接入支付商、验证改动——让代理执行仓库自己的流程,而不是临场发挥。

your-saas/
  AGENTS.md              architecture contract every agent reads first
  .ai/
    PROJECT_CONTEXT.md   current state, decisions, ship status
    apps/web/src/...     per-file mirror docs that travel with code
  .agents/skills/        ~29 task playbooks for agent workflows
  packages/mcp/          MCP server: structured repo access for agents

第二层:@supastack/mcp 给代理结构化的仓库访问

没有工具时,代理探索一个 700 文件的 Monorepo 只有一种方式:grep、读到错误的文件、然后猜。@supastack/mcp 是一个真正的 Model Context Protocol 服务器,基于 @modelcontextprotocol/sdk 与 @supastack/agents 工具运行时构建——它通过结构化工具、文档资源与现成提示词,把仓库暴露给支持 MCP 的代理(Claude Code、Cursor、Devin、Windsurf)。

差别直接体现在失败率上。一个能通过类型化工具查询「这个包导出什么」「测试门禁要求什么」的代理,就不会再用它碰巧打开的那个文件脑补答案。我们的 AI 编程代理脚手架文章 从构建视角讲了同一套工作流。

第三层:代理必须通过的确定性测试门禁

没有强制执行的护栏只是建议。supastack 自带 693+ 自动化测试,针对计费、认证、邮件与存储提供免凭证的虚拟适配器,整条黄金路径——注册、收款 webhook、授权发放、团队邀请——几秒内在本地完成验证。

让代理变安全的循环朴素无华:代理写 diff、跑门禁、读失败信息、自我纠正——全部发生在人工评审之前。仓库的 verify-changes 技能告诉代理按改动类型该跑哪些检查,于是「代理弄坏了计费」变成了「代理自己抓到了」。

失败模式无护栏的仓库有 supastack 护栏
代理重复实现已有代码评审时才发现——如果发现的话AGENTS.md + .ai/ 镜像中的包边界预先阻止
租户校验被悄悄丢掉在生产环境爆雷工作区规则白纸黑字且有测试覆盖
webhook 回归支付出事才暴露幂等 webhook 账本由重放测试钉死
仓库探索靠 grep 和猜@supastack/mcp 工具 + 文档资源
验证代理口头说「完成了」评审前必须通过 693+ 测试门禁

为什么护栏对客户工作是复利

对外包公司来说,这笔账很直接:每个客户仓库继承同一份契约,新项目上的新代理第一小时就有产出,而不是靠踩坑来学习边界。这就是「卖代理的速度」与「卖代理的善后」之间的差别。

产品的三个档位正好对应外包公司的购买方式——单端面项目用 $199 的 Starter,全端面含 3 席位用 $299 的 Full Bundle,$799 的 Agency 含 10 席位——每个档位都允许无限量商业客户项目。去 定价页 对比选项。

常见问题:真实 Monorepo 上的 AI 编程代理

团队在把生产代码库交给代理之前常问的问题:

  • 这些护栏支持哪些代理?, 任何能读 Markdown 的代理——Claude Code、Cursor、Windsurf、Copilot、Devin。支持 MCP 的客户端还能通过 @supastack/mcp 获得结构化工具;.ai/ 文档与技能本身与工具无关。
  • 只有 AGENTS.md 不够吗?, 有帮助,但单个文件会腐坏。真正站得住的组合是契约(AGENTS.md)+ 记忆(.ai/ 镜像)+ 流程(Agent Skills)+ 验证(测试门禁)——少了任何一层都会漏。
  • 测试套件到底有多大?, 693+ 自动化测试,覆盖计费幂等、会话认证、工作区隔离、API 密钥与面向代理的包——全部无需真实凭证即可运行。
  • 能把这些护栏补进现有仓库吗?, 可以,代价大约是两周的细致编写外加自建 MCP 服务器。这套脚手架就是捷径:契约、技能、MCP 服务器和测试彼此早已对齐。

下一个产品,从这里开始。

一次付费,持续打造盈利的产品。