Show HN:AI Lint —— 教 AI 代理你的团队标准,而不只是语法
它能通过测试,能运行。但跟语言的习惯用法格格不入。它在平台已经提供了状态管理的情况下,还自己发明状态。它把因果逻辑藏在巧妙的单行代码里。它在同一个文件里用三种不同的方案解决同一个问题。架构上虽然说得通,但认知负担很重。
光靠提示词说要“写干净的代码”根本没用。这些 AI 代理需要的,是我给一个聪明的新手看的东西:一本关于品味的指南。
所以我写了教义文件(doctrine files)——用 markdown 写的约束,教代理什么代码只是能编译,什么代码才是可维护的。比如:
- “一个文件里超过 20 个可变状态变量?说明你其实是在把多个模块硬塞进一个文件。”
- “同一个问题同时存在三种方案?选一个,删掉其他的。”
- “如果你没办法用一句话解释清楚一个条件,就把它提取成一个有名字的布尔值。”
AI Lint 就是把这个想法产品化的结果。它不是一个 CLI 也不是 SaaS——只是一些优化好的文本文件,你丢进 .cursorrules、AGENTS.md 或者系统提示词里就行。代理会读它们,而且真的会照着做。
里面有教义(应该遵循的)和拒绝规则(应该避免的)。当规则冲突时,有一个覆盖协议。它是设计给上下文注入用的,而不是给人读的。
商业模式:不同技术栈有对应的付费包(Apps、Systems 等)。不过我已经在 GitHub 上发布了一个免费预览版,包含核心理念和 JavaScript/Node.js 的教义,你可以试试效果。
- 网站:https://ai-lint.dosaygo.com
- 免费预览:https://github.com/DO-SAY-GO/AI-Lint
我很好奇 AI 在你们的代码库里持续注入哪些反模式。我现在正在扩充 Go 和 Rust 的拒绝规则,接下来计划做 iOS/Swift 和基础设施(Docker、k8s)的包。