一、痛点: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 Code CLAUDE.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>useFetchBaseRepository 这些抽象层,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-chartnew-dashboard
  • ETL 工具会生成 new-pipelinenew-task
  • 后台管理可能是 new-listnew-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 给你"你这个项目"的规则。


八、技术栈与开源信息

  • GitHubgithub.com/joygqz/mirrorai
  • npmnpx 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 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐