← 索引へ戻る

開発 / v1.0.0

anti-slop導入

install-anti-slop@1.0.0

TypeScriptとJavaScriptで、根拠を失う型操作や低シグナルな実装をOxlintの規則として検出する。

anti-slop

anti-slopは、TypeScriptとJavaScriptの「根拠を失ってから型アサーションで戻す」実装をOxlintで拒否する規則集である。

一般的なスタイルガイドではない。 型境界、推論、テストの依存分離に強い方針を持つため、導入前に既存コードへの影響を確認する。

検出する問題

15個の規則は、主に次の問題を検出する。

  • 二重の型アサーションと、安全性の説明がない型アサーション
  • 既知の値を広い型へ変えてから元の型へ戻す処理
  • unknownanyobjectなどを使った曖昧な入出力契約
  • 境界解析の代わりに各所で行うtypeof判定
  • 型付きアクセスを避けるReflect.getReflect.apply
  • 実際の依存境界を隠すVitestまたはJestのモジュールモック
  • 条件付きspreadで空オブジェクトを使う記述

違反を消すために規則を弱めたり、別のunsafe castで型を偽装したりしない。 推論、as constsatisfies、明示的な境界解析、名前を持つ契約へ置き換える。

導入判断

次の条件を満たすリポジトリで候補にする。

  1. TypeScriptまたはJavaScriptを使っている。
  2. Oxlintを導入済みか、導入を許容できる。
  3. opinionatedな規則をチームの方針として保守できる。
  4. 初回の違反件数を確認し、既存コードの修正範囲を判断できる。

この規則集は固定dependencyとして追従するのではなく、リポジトリへvendorし、採用側が内容を読んで保守する前提で公開されている。

公式スキルから導入する

実際の導入では、付属pluginとinstallerを含む公式スキルを取得する。

npx skills add dmmulroy/anti-slop --skill install-anti-slop

導入前に対象リポジトリのagent instructions、package manager、lockfile、Oxlint設定、既存のanti-slop配置を確認する。 導入後はlintとtypecheckを実行し、残る違反を規則別に報告する。

この事典には付属plugin、規則実装、installerを複製していない。 現時点では参照メモとして使い、bundle配布へ切り替える場合は公式packageを取得する。

出典

  • [dmmulroy/anti-slop](https://github.com/dmmulroy/anti-slop)
  • [install-anti-slop on skills.sh](https://skills.sh/dmmulroy/anti-slop/install-anti-slop)
  • MIT License, Copyright (c) 2026 Dillon Mulroy

使いどころ

  • TypeScriptの型アサーションやunknownの濫用を静的検査する
  • モジュールモックを減らし、実際の依存境界を使うテストへ移行する
  • AIが生成したコードから根拠の弱い型処理を検出する

入力例

このTypeScriptリポジトリにanti-slopを導入できるか調査してください。

anti-slopの違反を分類し、規則を弱めずに修正方針を示してください。

更新履歴

v1.0.0 · current公式リポジトリを確認し、参照メモとして初回登録。2026/08/17