一、痛点:AI 工具写出来的代码,永远跟你项目格格不入

你有没有过这种经历——

团队花了几个月时间,封装了一套组件库、约定了接口调用方式、确定了页面结构。然后你引入 Claude Code 或 Cursor 开始用 AI 写代码。结果呢?

AI 把这些规范全部忽略了。

  • AI 不知道你把 <el-table> 封装成了 <AppTable>,直接用原始组件
  • AI 不知道接口必须走 src/api/ 下的封装,自己造了个 axios 调用
  • AI 不知道列表页有固定的结构模板,每次都重新发明结构
  • AI 不知道某个工具函数已经存在,反复创建重复的逻辑

最终的代码能跑,但跟项目格格不入。你花在纠正 AI 上的时间,比它帮你省下的还多。

更糟的是,你维护多个项目时:每个项目规范不同,每次 AI 对话都从零开始。你得不停地告诉 AI “用我们项目的封装”、“按已有页面的写法来”、“别造新轮子”。


二、根本原因:AI 没有项目上下文

为什么会这样?

因为 AI 工具默认不读你的项目代码。Claude Code 启动时会读 CLAUDE.md,Cursor 会读 .cursorrules,但这些文件得你自己写。问题是:

  1. 手写费时 —— 把项目里所有封装、规范、命名约定整理成 Markdown,是个枯燥的活
  2. 容易过期 —— 项目演进后你忘了同步更新规则文件
  3. 多工具维护 —— 团队里有人用 Claude Code、有人用 Cursor、有人用 Copilot,每个工具要单独写一份
  4. 覆盖不全 —— 你写的规则只覆盖"显性"约定,"隐性"约定(比如某种页面的标准结构)AI 还是不知道

所以痛点的本质是:AI 工具缺少一个"项目自动分析 + 规则生成"的环节。


三、mirrorai:让 AI 镜像你的项目,而不是创造它自己的风格

mirrorai 是一个开源 npm 工具,专门解决这个问题。它的核心动作很简单:

分析你的存量代码 → 提取项目高频模式 → 自动生成多 AI 工具的规范文件

一行命令安装:

npx mirrorai install

然后在 AI 工具里跑 /mirror-init,它会:

  1. 扫描你的项目(package.json、go.mod、pyproject.toml 等任意清单文件)识别技术栈
  2. 分析目录结构、核心抽象、基础设施
  3. 扫描所有业务文件,按业务单元类型聚类
  4. 评分筛选出真正高频的模式(出现 ≥ 3 次、单文件 ≥ 50 行、相似度 ≥ 80%)
  5. 生成你选择的 AI 工具规范文件
  6. 可选生成 plopfile.js 和模板,用于零 token 本地生成骨架代码

支持的 AI 工具

AI 工具生成的规范文件
Claude CodeCLAUDE.md + .claude/commands/*.md
Cursor.cursorrules
Windsurf.windsurfrules
GitHub Copilot.github/copilot-instructions.md
Cline.clinerules

运行时可按需勾选——团队只用 Cursor 就只生成 .cursorrules,不会污染目录。

支持的项目类型

不限语言、不限框架、不限业务领域:

  • 前端:Vue 2/3、React、Svelte、Angular、Next.js、Nuxt、Astro
  • 后端:Express、NestJS、FastAPI、Django、Flask、Spring Boot、Gin、Laravel、Rails 等
  • 移动:React Native、Flutter、SwiftUI、Jetpack Compose
  • CLI / 库:clap、cobra、commander、click 等
  • 数据:ETL pipeline、消息消费者、定时任务、报表导出

只要你的项目里有可识别的重复模式,mirrorai 就能帮你。


四、mirrorai 解决的四个核心痛点

1. AI 不认识你封装的抽象层

团队封装的 <AppTable>、useFetch、BaseRepository 这些抽象层,AI 一概不知。

mirrorai 怎么做:生成的规范文件会列出每一个封装组件/工具/服务的名称、位置、用法。明确告诉 AI 什么已经存在、必须用什么。

2. AI 总在浪费你的 token

让 AI 写一个标准的 CRUD 列表页,它会从头生成:表格结构、分页、加载状态、搜索栏、错误处理。这些80% 在你项目里都是固定模板,纯粹是 token 浪费。

mirrorai 怎么做:从项目实际代码中提取骨架模板,本地零 token 生成模板部分,AI 只补充业务字段。token 消耗降低 60-80%。

3. AI 不知道什么场景该用哪个模式

即便有了 CLAUDE.md,AI 还是需要用户明确说"用列表页模板"或"按订单管理那个写法"。手动指挥太麻烦。

mirrorai 怎么做:生成的 CLAUDE.md 里有个 Auto-Execute Rules 段,AI 会根据用户描述自动识别场景:

你:帮我做个请假申请功能
AI:(自动识别为审批流模式)
    → 按项目规范生成端点 + 测试 + 路由

无需手动触发任何命令。

4. 团队同时用多个 AI 工具,规则文件维护成本爆炸

有人用 Claude Code,有人用 Cursor,有人用 Copilot——五个工具五份规则,同步是噩梦。

mirrorai 怎么做:一次分析,按需生成所有选中工具的规范文件,内容核心一致,仅格式适配。再次运行可重新生成、增量更新或合并。


五、快速上手:3 分钟用上

第一步:安装

# 在项目根目录执行
npx mirrorai install

这会把一个 mirror-init.md 文件复制到 .claude/commands/ 目录。整个工具就这么大——后续所有规则都由 AI 分析项目动态生成。

第二步:在 AI 工具里初始化

/mirror-init

AI 会问你两个问题:

Which AI coding tools do you use? (multi-select, comma-separated)

1. Claude Code    → CLAUDE.md + .claude/commands/
2. Cursor         → .cursorrules
3. Windsurf       → .windsurfrules
4. GitHub Copilot → .github/copilot-instructions.md
5. Cline          → .clinerules

Also generate a plopfile and skeleton templates for zero-token local scaffolding? (y/n)

选完之后等几分钟,AI 会自动完成分析、生成规则、模板提取、语法验证、语义验证、最终报告全套流程。

第三步:日常开发

由于规则文件里有 Auto-Execute Rules,绝大多数场景下你不需要手动触发命令,直接描述需求即可:

你:帮我做一个订单管理页面
AI:(识别为列表页模式 + 表单弹窗模式)
    → 按规范创建列表页 + 表单组件 + API 文件 + 路由配置

可选:零 token 生成骨架

如果开启了 plop 模板:

npx plop --help                       # 查看可用模式
npx mirrorai new <模式名> <模块名>     # 本地生成骨架,AI 再填业务

六、工作原理:为什么不会跑偏

很多人会问:mirrorai 怎么保证生成的规则不"瞎写"?

核心机制是 “绝不预设、全部基于真实代码”:

你的项目代码
     ↓
扫描清单文件 → 识别语言、框架、技术栈
     ↓
扫描业务代码 → 按业务单元类型聚类
     ↓
评分筛选:出现 ≥ 3 次 + 单文件 ≥ 50 行 + 相似度 ≥ 80%
     ↓
生成 4 类产物
   ├─ 规范文件:CLAUDE.md / .cursorrules / .windsurfrules / ...
   ├─ Slash Commands:只为高频模式生成(3–6 个,命名贴合业务)
   ├─ plopfile:与命令一一对应的骨架生成器
   └─ 模板:从项目实际代码提取的 .hbs 文件(任意语言)

特别值得说的几点:

没有固定命令集

不像别的脚手架工具固定生成 new-list / new-form,mirrorai 完全根据项目实际情况决定生成哪些命令。

  • OA 系统会生成 new-approval(审批流)
  • 数据大屏会生成 new-chart、new-dashboard
  • ETL 工具会生成 new-pipeline、new-task
  • 后台管理可能是 new-list、new-form

命名贴合你的业务,而不是套用通用名。

重新运行不会覆盖你的内容

每个 mirrorai 生成的文件都会带一个 marker(<!-- mirrorai:generated -->)。再次运行时如果发现某个规则文件没有这个 marker,会单独询问你:合并、覆盖、还是跳过。绝不静默破坏你的自定义内容。

生成结果有完整的验证流程

生成 plopfile 和模板后会自动执行:

  1. 语法检查 —— node --check
  2. 加载检查 —— npx plop --help
  3. Trial-run —— 用临时模块名跑每个 generator
  4. 产物语法检查 —— 按项目语言验证
  5. 语义对比 —— 与提取来源样本对比 import、核心抽象引用、结构段落
  6. 清理临时文件
  7. 失败分级处理 —— 单个 generator 失败会被移除,不影响整体流程

七、与其他方案的对比

方案是否分析项目多工具支持维护成本token 消耗
手写 CLAUDE.md❌单工具高中
GitHub 模板仓库❌单工具中高
Cursor Rules 市场模板❌仅 Cursor低高
mirrorai✅ 完整分析✅ 5 个工具✅ 极低✅ 极低

mirrorai 的独特价值在于:它不是模板库,而是项目分析器。模板库给你"通用 React 项目"的规则,mirrorai 给你"你这个项目"的规则。


八、技术栈与开源信息

  • GitHub:github.com/joygqz/mirrorai
  • npm:npx mirrorai install
  • License:MIT
  • 环境要求:Node.js 18+
  • 依赖:仅 picocolors(彩色输出)

用什么 AI 工具订阅?

mirrorai 本身不调用 Anthropic API,整个分析过程跑在你的 AI 工具内(用你已有的订阅):

  • Claude Code 订阅
  • Cursor Pro
  • Windsurf
  • GitHub Copilot
  • Cline

任意一个都行。整个流程无需 API Key。


九、总结

问题:AI 工具写代码总跑偏,因为它不知道你项目的真实规范。

根因:项目规范信息没有传递给 AI;手写又费时、易过期、难跨工具。

方案:mirrorai 自动分析项目代码 → 生成 CLAUDE.md、.cursorrules、.windsurfrules、Copilot instructions、Cline rules 一站式规则文件。

收益:

  • ✅ AI 严格遵守项目规范,停止跑偏
  • ✅ token 消耗降低 60-80%
  • ✅ 多 AI 工具统一管理
  • ✅ 无需额外 API Key,走现有订阅
  • ✅ 重新运行不破坏你的自定义内容

🔗 立即试用

# 在你的项目根目录执行
npx mirrorai install

然后在 Claude Code / Cursor / Windsurf 等任意 AI 工具里输入:

/mirror-init

剩下的交给 AI。

GitHub 仓库:https://github.com/joygqz/mirrorai
欢迎 Star、Issue、PR。


📌 文章配套标签:Claude Code、CLAUDE.md、Cursor、cursorrules、Windsurf、GitHub Copilot、Cline、AI 编程助手、AI 代码规范、前端工程化、开源工具

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐