当前位置: 首页 > news >正文

Rule Miner:让AI写出“像你团队”的代码

Rule Miner:让AI写出“像你团队”的代码

背景

AI 编码助手越来越强,但你有没有发现:

  • Copilot、Claude、Cursor 生成的代码,虽然能跑,但总有点“AI味儿”——风格、命名、结构都很标准,却和你们团队的习惯差一截。
  • 项目里那些“约定俗成”的写法,AI 根本学不会。比如:service 和 types 文件总是成对出现,某些命名前缀/后缀,某些反模式(比如绝不允许用 any),还有一些隐藏的耦合关系。
  • 你想让 AI 生成的代码真正“融入”项目,但靠 prompt 反复强调,效果有限。

解决方案:Rule Miner

Rule Miner 是一个 VS Code/Claude/Copilot/Cursor/Trae 通用的 skill,专门为“让 AI 学会你项目的开发习惯”而生。

它会:

  1. 全量阅读你的项目源码(跳过 node_modules、dist、build 等)
  2. 提取 8 类模式:命名、组织、导入、错误处理、注释、测试、隐藏关联、反模式
  3. 只保留“偏离语言默认”的规则,比如团队独有的命名、结构、耦合、排斥项
  4. 生成 ≤1000 字的规则,写入 Copilot、Claude、Cursor、Trae 四种 IDE 的配置文件
  5. 规则语气毒舌刻薄,让 AI 不敢越雷池一步

为什么要“毒舌”风格?

事实证明,AI 对“建议”类 prompt 很容易软处理,但对“强制、刻薄、零容忍”的规则会更认真遵守。

比如:

  • “建议不要用 any” → AI 可能还是会用
  • “用 any 我会直接回滚你整个 PR” → AI 基本不会再用

安装方法

推荐一键安装:

npx skillsaddxiwen-haochi/agent-rule-miner

或手动复制 rule-miner/ 文件夹到项目根目录。

使用方法

安装后,在 AI 聊天框输入:

  • “分析这个项目的编码风格,生成项目规则”
  • “Mine the coding conventions of this project”
  • “Generate .cursorrules for this project”
  • “学习项目规范,帮 AI 理解这个项目”

AI 会自动触发 Rule Miner skill,流程如下:

  1. 侦察:识别语言/框架/目录结构/已有 linter 配置
  2. 全量读取:按优先级读所有源文件
  3. 模式提取:统计 8 类编码模式
  4. 规则蒸馏:筛选高价值规则,≤1000 字
  5. 预览确认:先展示规则草稿,等你确认
  6. 写入文件:写入 4 种 IDE 配置文件(已有内容不会被覆盖)

示例输出

# Project Rules > Stack: TypeScript · Express · PostgreSQL. REST API service. ## Naming - Service files end with `Service.ts`, interfaces with `IService.ts`。别自作聪明乱起名,创意留在业务逻辑里。 - Route handlers 必须是 `handle[Verb][Resource]`。再看到 `processData` 或 `doStuff`,直接回滚 PR。 ## Code Organization - 每个 service 必须有同名 types 文件。没有 types = 这个 service 不存在。 - 直接在 service 里 import `pg`,你就是单点故障源。所有 DB 操作必须走 `db/` 层。 ## Anti-Patterns - 用 `any`,整个 PR 都别想过。`unknown` 不会用就去学。 - 在 `config/env.ts` 之外碰 `process.env`,你就是弱智。

总结

Rule Miner 让 AI 真正“入乡随俗”,写出和你团队一样风格的代码。再也不用担心 AI 生成的代码“格格不入”!

http://www.jsqmd.com/news/548686/

相关文章:

  • 职场生存暗规则 DAY5:同事抢你功劳?用这 1 招让他偷鸡不成蚀把米|乐想屋
  • 国家标准批量采集工具:全量元数据检索 + 批量导出
  • 快速构建skills智能体原型:利用快马平台十分钟搭建可运行AI技能模块
  • 实战指南:如何在ResNet中集成CBAM模块提升图像分类准确率(附代码)
  • 别再说MCU跑不动人脸识别!手把手教你优化LBP算法,在STM32上实现1秒内识别
  • 保姆级避坑指南:用FlyMcu给STM32F103下载程序,别再傻傻先开Keil编译了
  • OpenFeign性能优化最全实战
  • 文墨共鸣大模型生成技术教程:以“计算机组成原理”为例的课件与习题制作
  • FlowState Lab低成本运行方案:在消费级显卡上的优化与适配
  • AI选型与配置:让快马智能推荐npm包并生成个人博客系统前端代码
  • 别急着扔!用Windows虚拟内存和这几招,让老电脑再战三年(附SSD选购建议)
  • WorkshopDL:跨平台资源获取的开源工具解决方案
  • 灵感画廊惊艳生成:基于‘影院余晖’预设的赛博朋克夜景城市图集(含参数)
  • 给硬件工程师的Versal架构速查手册:从PL到NoC,一张图看懂关键互连
  • WebGIS驱动的智慧校园导航系统:架构设计与功能实现全解析
  • 5分钟掌握Zotero学术搜索:让文献查找效率翻倍的实用方案
  • 发那科机器人高级编程实战:RoboGuide仿真驱动复杂工艺优化
  • 如何用 Gemini 3.1搭建可持续运行的 亚马逊 AI Agent
  • AI辅助创作:Krita智能选区工具效率提升指南
  • 实战进阶:基于快马AI构建集成地图与即时通讯的黑马点评企业级应用
  • Qwen-Image-Layered场景实战:用AI图层技术为你的产品图换背景
  • 别再死记硬背D-H参数了!用旋量和指数积(PoE)搞定机械臂正运动学,附Python代码示例
  • 2026 靠谱考研机构安利|亲测不踩雷,退费无忧 + 全程直播,择校不迷路
  • JAVA集成CAS客户端总结
  • 基于GLCM的纹理特征提取在遥感图像分类中的应用实践
  • OpenClaw大更新“翻车”:微信插件宕机、用户回滚,我们该反思什么?
  • 零基础入门:TranslateGemma快速安装与配置,开启本地翻译新体验
  • Ansys与Adams刚柔耦合仿真实战:从模态分析到MNF文件生成全流程解析
  • 5毛钱的STC8G1K08A单片机,如何用USB转TTL模块免冷启动一键下载程序?
  • 浅谈高压电池选型原则