scanaislop/aislop

Catch and fix the code-quality issues AI coding agents leave behind - dead code, unsafe casts, swallowed errors, duplication, security risks, and more. 50+ deterministic rules across 10 language targets, with CLI, CI, and GitHub Actions. No LLM at runtime. MIT.

什么是 aislop?

aislop 是一个命令行工具,用于扫描代码库中 AI 编程助手(如 Claude Code、Cursor、Codex、OpenCode 等)经常留下的“垃圾代码”。它会查找叙述性注释、隐藏的回退逻辑、不必要的 as any 类型转换、幻觉导入、死代码、重复的辅助函数、过大的函数以及其他虽然能编译通过但会增加维护难度的代码模式。

它是如何工作的?

  • 确定性分析 – 核心扫描器仅运行本地正则表达式、AST 检查以及现有的格式化程序/代码检查工具。不进行任何 LLM 调用,因此相同的输入总是产生相同的分数。
  • 多语言支持 – 开箱即用支持 10 种语言:TypeScript、JavaScript、Expo/React Native、Python、Go、Rust、Ruby、PHP、C# 和 C/C++。每种语言都会检查格式、代码规范、复杂度、AI 垃圾代码模式以及一些安全问题。
  • 评分 – 应用所有规则后,该工具会生成一个 0-100 的分数(分数越高越整洁)。该分数可用作 CI 流水线中的质量门禁。
  • 自动修复 – 确定性的“修复”模式可以自动应用安全的机械性更改(格式化、删除未使用的导入、删除死代码等)。激进的修复还可以清理未使用的依赖项或文件。
  • 代理集成 – 对于需要人工判断的问题,aislop agent 会将诊断结果交给本地配置的 AI 编码代理(Codex、Claude、Gemini 等)。代理在临时的 git 工作树中运行,更改会被重新扫描,并保存一份记录供审查。
  • Hooks 与 CI – git-hook 可以在每次编辑后运行,CI 模式 (aislop ci) 可以强制执行最低分数要求,输出 JSON 或 SARIF,并遵循基准线,从而仅在出现新的回归时报错。

谁会使用它?

  • 依赖 AI 代码生成器的团队 – 用于捕获这些工具引入的隐藏技术债务。
  • 开源维护者 – 在无需手动审查每个 AI 生成的 PR 的情况下保持存储库整洁。
  • CI/CD 流水线 – 作为一种轻量级、确定性的门禁,在分数低于阈值时阻止合并。
  • 个人开发者 – 通过单个 npx aislop@latest scan 命令快速获取项目的“健康检查”。

你可以用它做什么?

  1. 运行快速扫描 – npx aislop@latest scan 可立即获得分数。
  2. 添加预提交或 CI 门禁 – 使用 aislop ci 或提供的 GitHub Action 在低分时使构建失败。
  3. 自动修复机械性问题 – aislop fix 安全地重写文件;-f 启用激进清理。
  4. 移交给你的 AI 助手 – aislop agent 使用你首选的编码代理运行本地修复会话。
  5. 显示徽章 – 通过 aislop badge 在 README 中嵌入动态分数徽章。
  6. 跟踪趋势 – aislop trend 可视化本地存储的分数历史记录。

如何获取?

该 CLI 已发布在多个包管理器上:

  • npm / Yarn / pnpm / Bun – npm install -g aislop (或通过 npx 运行)。
  • Homebrew – brew install scanaislop/tap/aislop。
  • PyPI (via pipx) – pipx install aislop (需要 PATH 中有 Node)。

所有安装方式都提供相同的 aislop 二进制文件。


总结: aislop 为你提供了一种快速、确定性的方法来检测和评分 AI 编码代理可能留在代码中的隐藏技术债务,并提供可选的自动修复功能,可无缝集成到编辑器、git hooks 和 CI 流水线中。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目