dmmulroy/anti-slop
Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns
解决的问题
Anti-slop 提供了一组针对 TypeScript 和 JavaScript 的意见性 lint 规则,旨在消除 "slop"(低信号、低证据、低效率)的编码模式。通过拒绝丢弃类型信息或使用低效运行时操作的模式,旨在强制执行更高的代码质量和更严格的类型安全。
工作原理
它是 Oxlint 的一个插件,利用 Oxlint 的 ESTree 和 lexical-scope API 对代码进行语法分析。该项目采用 "vendored"(内嵌)设计,用户将规则直接复制到自己的仓库中,而非作为固定的 npm 依赖安装,从而允许团队根据自身标准自定义规则。
可以通过代理技能(使用 npx skills add)安装,该方式会自动完成复制、配置和依赖管理;也可以手动操作,即复制 src/ 目录,并在 oxlint.config.ts 中注册插件。
适用人群
希望采用更严格、更具意见性的 lint 标准的 TypeScript 和 JavaScript 开发者,以减少样板代码、防止常见的类型泛化错误,并强制执行更好的架构模式(尤其适用于使用 Effect 生态系统的开发者)。
主要亮点
- 类型安全强制:拒绝将已知值强制转换为
unknown或object,并禁止链式类型断言。 - 效率检查:标记相邻的
filter().map()调用,建议改用惰性迭代器管道,并防止reduce累加器中出现二次时间复杂度。 - Effect 生态系统支持:包含专为 Effect 库设计的规则组,防止手动标签比较,鼓励使用
MatchAPI。 - require-safety-comment:强制开发者为每个非 const 类型断言提供
// SAFETY:说明注释。 - 代理就绪安装:提供打包好的技能,帮助 AI 编码代理自动化设置和更新流程。
相关
- 项目
- Dispatch
- 项目
- 项目