fallow-rs/fallow
Codebase intelligence for TypeScript and JavaScript. Health, complexity hotspots, duplication, architecture boundaries, circular dependencies, design-system drift, and unused code, from one graph. CLI, GitHub Action, LSP, MCP, and VS Code. Rust, MIT licensed.
解決する問題
大規模な TypeScript または JavaScript コードベースを健全に保つことは困難です。複雑さが忍び寄り、コードが重複し、未使用のエクスポートが蓄積され、アーキテクチャが逸脱します。すべての変更を手動でレビューするのは遅く、一貫性がありません。fallow は、これらの問題を確認し、新しい問題がプルリクエストに入るのを防ぐための、高速で決定的な方法をチームに提供します。
仕組み
fallow は、リポジトリのグラフ(モジュール、エクスポート、依存関係、関数、スタイルトークン)を構築します。次に、そのグラフに対して分析を実行し、複雑度のホットスポット、循環依存、重複コード、未使用のファイルとエクスポート、スタイルの逸脱などを検出します。アナライザーは Rust で記述され、Oxc パーサーを使用するため、TypeScript コンパイラも Node.js ランタイムも不要で、単一のバイナリだけで済みます。npx fallow のような単一のコマンドで実行でき、100 を超える組み込みのフレームワークプラグインをすぐに使用できます。
プルリクエストの場合、fallow audit は変更されたファイルをベースブランチと比較し、変更によって導入された発見のみで失敗します。既存の発見は除外されるため、レガシーコードベースで fallow を採用する際に、すべてを先に修正する必要はありません。型認識分析、ランタイムカバレッジ、ミューテーションテストなどのオプション機能により、より深いチェックが追加されます。
対象者
TypeScript または JavaScript プロジェクトに取り組むチームで、重い設定なしでコード品質を高く保ちたいと考えている方。ターミナルで簡単なヘルスチェックを希望する開発者、プルリクエストゲートを必要とする CI システム、ファイル内診断を表示するエディタ、構造化されたフィードバックを必要とするコーディングエージェントに適しています。また、段階的な採用とベースラインサポートにより、既存のコードベースに静的解析を導入するチームにも役立ちます。
ハイライト
- 単一の Rust バイナリ、開始に TypeScript コンパイラや設定は不要
- 複雑度、重複、デッドコード、アーキテクチャの逸脱、スタイルの問題などを検出
fallow auditは、変更によって導入された発見に基づいてプルリクエストをゲート- ターミナル、CI(GitHub Actions、GitLab)、エディタ(VS Code、LSP)、コーディングエージェントで実行
- 高速:20,558 ファイルのモノレポで 3 秒未満でデッドコードを検出
- 決定的、アナライザー内に AI はなし。オプトインの
similar-codeのみがローカルモデルを使用 - デッドコードの自動修正、抑制コメント、knip/jscpd/stylelint からの移行
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト