ai-rules
AI 编码治理框架,让 Cursor/Copilot 等工具遵守项目架构边界、设计模式和代码规范
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 编码治理框架,让 Cursor/Copilot 等工具遵守项目架构边界、设计模式和代码规范
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你的团队花了一周建立了清晰的 React 项目架构——UI 组件不许直接调数据层、服务层要统一管理状态、禁止使用 dangerouslySetInnerHTML——然后团队成员引入 Cursor 或 Copilot 辅助开发,三天后 AI 把数据查询直接写进了按钮点击事件里。这种「AI 编码助手产生架构腐烂」的问题,正是 AI-RULES 想要系统性解决的核心痛点。
AI-RULES 由独立开发者 fjb040911 创建,定位为「AI 辅助编码治理框架」。它的核心思路不是训练或微调 AI 模型,而是在项目本地建立规则契约,让 AI 工具在编写代码时就能感知项目边界、技术栈约束和设计模式。
项目的诞生背景很真实:随着 Cursor、Windsurf、GitHub Copilot 等 AI 编程工具的普及,开发者发现这些工具可以快速生成代码,但生成的代码「全局正确、局部不符合项目规范」。数据层被从 UI 层直接调用、服务边界被绕过、项目路径别名被忽视,这些问题在代码审查阶段才能发现,造成大量返工。
AI-RULES 从 CLI 工具切入,提供了从初始化规则模板、运行审计到生成修复提示的完整闭环。目前在 GitHub 拥有 590 颗星,语言栈为 JavaScript/Node.js,适合任何使用 Node.js 环境的团队。
图1:AI-RULES 项目 Logo
AI-RULES 的工作流程可以概括为「初始化 → 验证 → 审计 → 报告 → 修复」五步:
第一步,规则初始化(ai-law init):在项目根目录创建 .ai-rules/ 目录,包含规则配置文件 rules-config.json、路径别名配置 config.json,并可选地应用预设规则模板。支持的模板覆盖 Node.js/Express/NestJS、Python/FastAPI、React/Vue 前端、Java/Spring、C/C++ 等主流技术栈,以及 i18n 国际化模板。
第二步,规则验证(ai-law doctor):检查规则配置和解析结果的完整性,确保 .ai-rules 目录下的配置符合规范,及时发现格式错误或路径配置问题。
第三步,规则审计(ai-law audit):这是核心命令。CLI 会解析项目中的 .ai-rules.md 规则文件和 rules-config.json,结合项目实际代码结构(通过 AST 或正则收集本地证据),生成一份「规则感知的审计提示词」,并自动复制到剪贴板。用户将这段提示词粘贴到 AI 编程工具中,AI 就能以项目规则的视角审查代码。
第四步,报告校验(ai-law validate-report):当 AI 工具生成 ai-rule-report.json 审计报告后,CLI 会验证报告格式和内容的规范性。
第五步,修复生成(ai-law fix):根据报告中的问题 ID 生成针对性的修复提示词,同样复制到剪贴板,供 AI 辅助工具执行修复。
图2:AI-RULES Fix 流程示意图
从技术角度看,AI-RULES 实现了从「规则文本」到「结构化执行上下文」的编译过程。
规则解析层:CLI 在 cli/src/core/rules/ 下实现了规则解析模块,将 .ai-rules.md 中的人类可读规则解析为结构化的 Rule IR(中间表示)。支持三种规则类型:regex(正则匹配)、import/include(依赖路径检查)、count(代码量/参数数量统计)。对于前端项目,还支持 ast 类型的 AST 层分析,这是项目在 v0.8.x 版本的重要升级——通过 Babel 解析 JS/TS、通过 @vue/compiler-sfc 解析 Vue 单文件组件,实现精确到语法树节点的违规检测。
证据收集层:cli/src/core/evidence/ 模块负责从项目代码中收集本地证据。正则规则直接匹配源码,AST 规则调用 Babel/Vue 编译器解析后遍历语法树。证据与规则绑定后生成 rule-validator.json,记录每条规则的违规实例和上下文。
提示生成层:cli/src/core/prompt/ 模块将解析后的规则、配置的严重程度阈值、路径别名、例外文件等上下文组装成结构化的审计提示词。相比静态的提示词模板,这种方式的优势在于:规则激活状态、路径别名、例外列表都来自结构化配置,提示词本身是确定性的,不同团队运行同一规则集不会因为模板文本变化而产生不一致的审计上下文。
多语言支持:CLI 内置了 zh-CN、en、zh-TW、ja、ko、es、fr 七种语言文件,部分翻译不完整的语言会优雅降级到英文,确保核心功能不受影响。
AI-RULES 定位为本地工具包,不提供 Web UI,部署门槛极低。仅有的依赖是 Node.js >= 18,安装命令一行搞定:
npm install -g ai-law
安装后,ai-law 命令全局可用。项目初始化后,.ai-rules/ 目录存放在项目本地,不污染全局配置,也不随 npm 包更新,适合作为团队代码规范的一部分纳入 Git 管理。
工具不要求 GPU,无需容器化,单机 Node.js 环境即可完整运行。磁盘占用约 50MB,内存占用低于 512MB,是真正意义上的轻量工具。
v0.8.x 还引入了 ai-law inspect-logic 命令,专门针对「业务逻辑风险」生成审查提示词。与规则检查不同,这类风险更依赖语义理解,难以用正则或 AST 静态检测。工具将当前规则上下文、验证器输出、高风险上下文文件编译成聚焦提示词,引导 AI 从以下角度审查:
AI-RULES 并非完整的静态分析引擎。目前 AST 支持仅限于选定的 JS/TS/Vue 规则子集,不支持语义级别的复杂规则(如数据流分析、跨函数调用链追踪)。这类规则仍然依赖 AI 引导,最终审计结论的准确性受限于 AI 模型本身的能力。 另外,项目采用 MIT 许可证,不提供任何担保,生产环境使用前建议先在小范围验证规则的覆盖面和误报率。当前版本为 0.8.9,尚未达到 1.0 稳定版,API 和规则格式可能在未来版本中调整。
AI-RULES 代表了一种新兴的「规则即服务」思路:不改变模型,而是在使用层建立治理契约。随着 AI 编程工具从「辅助建议」进化到「直接生成代码」,这类工具填补了 AI 代码质量治理的空白。它与传统的代码审查工具(如 ESLint、Prettier)形成互补——后者约束代码风格,前者约束架构与模式。GitHub Trending 上这类「AI 治理」项目正在受到更多关注,反映了开发社区对 AI 编程工具信任边界的现实焦虑。