modem-dev/slop-scan

Detect AI code slop patterns in your repo

何を解決するか

JavaScript および TypeScript リポジトリ内に存在する「スロップ(slop)」——つまり、レビューされていない AI 生成コードによく見られる低判断力・疑わしい・ボイラープレート的なパターン——を特定します。開発者が成熟した人間によるレビュー済みのオープンソースソフトウェアと、『バイブコード』のように感じられたり、生成されたボイラープレートに過度に依存しているコードベースを区別するのを助けます。

動作方法

このツールは決定論的な CLI を使って、特定のヒューリスティクス(ルール)をスキャンし、一般的な AI 関連パターンをマークします。ファイル数、論理的 KLOC、関数数に基づいた生スコアと正規化スコアを提供することで、サイズの異なるリポジトリ間での公平な比較が可能になります。また、delta モードをサポートしており、パターンが時間経過や異なるブランチ間で増加または減少しているかを追跡できます。

対象ユーザー

  • 第三者リポジトリの品質を監査したい開発者。
  • 自分のコードベースに低判断力のボイラープレートがないか探したいチーム。
  • AI 生成リポジトリと成熟した OSS ベースラインを比較する研究者。
  • 生成コードを検出するための決定論的ヒューリスティクスを反復改善したいユーザー。

特徴

  • 決定論的なスキャン: 空の catch ブロック、エラーを隠す catch ブロック、重複する関数シグネチャなどのパターンを検出する検証済みルールセットを使用。
  • 正規化されたメトリクス: スコア/KLOC などの比率を使用して、公平なベンチマークを実現。
  • 拡張可能: 第三者ルールプラグインと slop-scan.config.json を通じたカスタム設定をサポート。
  • CI/CD 統合: 人間が読みやすいログを提供する --lint モードと、機械が読み取り可能な出力を提供する --json モードを備え、新しい発見に基づいてビルドを失敗させることが可能。
  • ピン止めされたベンチマーク: 2025 年以前のコミットにピン止めされた成熟した OSS と AI 生成リポジトリを比較するベンチマークセットを含み、基準を確立します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト