dadbodgeoff/drift

Codebase intelligence for AI. Detects patterns & conventions + remembers decisions across sessions. MCP server for any IDE. Offline CLI.

解決する課題

Driftは、AIエージェントが既存のリポジトリの規約に違反するコードを導入することを防ぎます。特に、Next.jsプロジェクトにおけるAPIルートレイヤーの設計パターンを無視してコードを記述する問題に焦点を当てています。

動作方法

DriftはRustベースのスキャンエンジンとTypeScript CLIを使用して、コードを分析し、宣言されたレイヤー契約を強制します。すべての処理はローカルで実行され、状態とリポジトリのインテリジェンスはSQLiteデータベースに保存されます。コードベースを分析して規約を特定し、人間がその候補を承認または拒否できます。規約がリポジトリ契約の一部になると、Driftは差分をチェックして、新しい変更(通常はAIエージェントによるもの)がこれらのルールを破っていないか確認します。ブロックモードで設定されている場合、違反があるとエラーコードで終了し、変更をブロックします。

対象ユーザー

AIエージェントを使ってコードを生成するTypeScriptまたはJavaScriptでNext.js(App RouterまたはPages)を使用する開発者で、手動で1行ずつ規約違反を確認せずに、アーキテクチャの整合性を維持したい方。

特徴

  • ローカル最優先の実行: クラウド同期や外部サーバーの要件なしに、ユーザーのマシン上で完全に実行されます。
  • 決定論的強制: 一般的なLLMベースのコードレビューに頼るのではなく、宣言された契約を使って違反をブロックします。
  • エージェント対応: リポジトリマップや発見内容に関するコンテキストをエージェントに提供する、読み取り専用のMCP(Model Context Protocol)サーバーを備えています。
  • 証拠に基づく: 規約が破られた正確なファイルと行を報告します。
  • ガバナンス重視: リポジトリ契約やガバナンス意思決定の変更には、明示的な人間の承認が必要です。

関連

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