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 を使用してコードを構文的に分析します。このプロジェクトは「ベンダリング済み」設計となっており、ユーザーはこのルールを直接自身のリポジトリにコピーする形で使用します。固定の 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
- プロジェクト
- プロジェクト