argot について
argot は、リポジトリ自身の git 履歴からパターンを学習し、変更がそれから外れていないかを確認するローカルの MCP サーバーです。LLM は使用しません。AI が生成したコードをレビューするチーム向けで、検出結果にはリポジトリの根拠が添付され、採用の判断は人が行います。
主な機能
- 01git 履歴からパターンを学習
- 02アカウントや通信なしで完全ローカル動作
- 03外来インポートと未知の呼び出しを検出
- 0412 種のルールと独自ルールに対応
- 05検出結果にリポジトリの根拠を付与
活用シーン
- 01AI が生成したプルリクエストのスタイル確認
- 02CI での読み取り専用の変更セット検査
- 03削除または弱化されたテストの検出
MCP 対応
argot は MCP サーバーとして動作し、設定済みのクライアントに読み取り専用のコンテキスト、ハンク単位、変更セット全体のツールを提供します。モデルを使用するツールには、事前にリポジトリの fit 処理が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
書き留めていないルールを、Lint で検査しましょう。
AI がコードを書きます。argot は、ハルシネーションを起こさない唯一のもの、リポジトリ自体の履歴を活用して、そのコードを整えます。
使うのは統計であり、2つ目の LLM ではありません。すべてローカルで動作します。差異を明らかにし、何を受け入れるかはあなたが決めます。
argot.tmonier.com · ドキュメント · 検証データ · 調査ログ
|
|
🎬 45秒のローンチ映像を見る |
argot audit の実行に、事前の Argot の fit や設定は必要ありません。一時的なワークツリーで過去のベースを fit してから、残ったベースから HEAD までの差分を評価します。作業ツリーは変更されません。これはレビューの手掛かりを示すものであり、誰がコードを書いたかの全数調査でも、検出結果が欠陥であることの証明でもありません。
# macOS / Linux
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/get-tmonier/argot/releases/latest/download/argot-installer.sh | sh
cd your-repository
argot audit
Windows:powershell -c "irm https://github.com/get-tmonier/argot/releases/latest/download/argot-installer.ps1 | iex"。
npm パッケージは npm install -g @tmonier/argot でも利用できます。
Audit には、利用可能な Git 履歴とサポート対象のソースが必要です。実行時間の固定保証はありません。完全にオフラインで実行でき、セマンティックな検出結果に使用するコード埋め込みモデルはバイナリに同梱されています。インストールと fit の詳細については、 Getting started を参照してください。
Audit から有用な手掛かりが得られたら、現在のリポジトリを fit し、レビューする変更をスコアリングします:
argot init
argot check
生成された argot.toml と .argot/ の fit スナップショットを確認してコミットし、CI ワークフローを追加する前に、今後の PR のターゲットとなるブランチにマージしてください。ローカルツールと CI は、同じ学習済みベースラインを使用します。CI はベースブランチのスナップショットを読み取るだけで、fit は実行しません。そのため、初期スナップショットの PR は CI ワークフローの PR と分ける必要があります。その後、argot status は、許可されたソース、関数、またはレイアウトの範囲が実質的に変化した場合に限り、ローカルでの fit とコミットによる更新を推奨します。デフォルトでは、コミット数や経過期間は更新のトリガーになりません。[fit] refresh-after は、チームが明示的に設定する安全策としてのみ利用できます。argot-refresh スキルは fit の前に除外対象、構造上のパス、ミュートを再監査するため、リポジトリを再編成しても、以前の範囲を無条件に再学習することはありません。
flowchart LR
A["argot init<br/>learn locally"] --> B["review + commit<br/>argot.toml · .argot/"]
B --> C["local tools + CI<br/>read one baseline"]
C --> D{"material accepted drift?"}
D -- no --> C
D -- yes --> E["argot-refresh<br/>review scope · fit locally"]
E --> B
埋め込みモデル自体はバイナリに同梱されています。Git に保存されるのはリポジトリ固有の学習済みスナップショットのみで、通常は数 MB から数十 MB です。そのため、すべてのクローンで、再学習やサービスの運用なしにチェックを再現できます。
check は、選択した変更セットでレビューする価値のあるパターンを報告します。問題のない結果であっても、変更が正しいことや、完全に慣用的であることの証明にはなりません。正確な仕様については、
Audit、
Init and Fit、および
Check のガイドをお読みください。
検出する内容
型チェッカーがコンパイルできるかを確認するのに対し、argot はそのコードがリポジトリになじむかを確認します。 クリーンで、型が正しく、十分にレビューされたプルリクエストでも、取り込まれるリポジトリになじまないことがあります。argot が提供するルールは、すべて手作業で設定するのではなく、リポジトリ独自の履歴から学習したものです。
| ルール | グループ | 検出内容 |
|---|---|---|
foreign-import | voice | リポジトリでこれまで使われたことのない依存関係のインポート |
unfamiliar-callee | voice | リポジトリのコードで呼び出されたことのないレシーバーや呼び出し先への呼び出し |
rare-tokens | voice | リポジトリの文体と統計的に異なるトークン列 |
convention | voice | リポジトリから学習した規約に反する構文 |
superseded | voice | リポジトリで置き換えが進められている、または移行済みと宣言されたパターン |
redundant | semantic | リポジトリにすでに存在する関数と重複する新しい関数 |
misplaced | semantic | 別のモジュール領域に属するように見える関数 |
layering | architecture | リポジトリのレイヤー方向を逆転させる内部インポート |
test-deleted | integrity | テスト対象のコードが残っているにもかかわらず削除されたテスト |
test-disabled | integrity | 本番コードの変更に伴って追加されたスキップマーカー、または骨抜きにされたテスト |
test-weakened | integrity | 変更に伴って削除、同語反復化、または緩和されたアサーション |
rule-tampered | governance | ロックされたルールを削除または弱体化する変更 |
リポジトリ独自のルールも追加できます。.argot/rules/ 以下に TOML マニフェストとサンドボックス化された Rhai スクリプトを配置します。すぐに使える例は examples/rules/ にあります。再コンパイルは不要です。
argot は確率的なレビューガードレールであり、正しさを判定するものではありません。各検出結果には、リポジトリに基づく根拠が付随します。これを調査のきっかけとして扱い、人間が明示的に判断してください。コードに誤りがあることの証明として扱わないでください。
実行方法を選択する
CLI は、変更セット全体を明示的にチェックします。ほかの方法は、トリガーと対象範囲が限定されており、受け入れ時に汎用的なチェックを提供するものはありません。
| 方法 | 実行の種類 | 前提条件と対象範囲 | 根拠の状況 |
|---|---|---|---|
| CLI | ユーザーまたはエージェントが実行 | audit、init、または完全な check を実行します。コマンドでフィッティングが必要な場合は、事前にフィッティングが必要です。 | CLI/ソースのインベントリ、2026-07-22 |
| スキル | 呼び出し | 互換性のあるスキルホスト向けの、必要に応じて実行する7つのワークフローです。インストールしても、コマンドのスケジュール設定、MCP の構成、フックの追加は行われません。 | マニフェスト/ソースのインベントリ、2026-07-30 |
| MCP | パッシブ | 構成済みのクライアントが、読み取り専用のコンテキスト、ハンク、または変更セット全体を対象とするツールを選択します。モデル依存のツールには、フィッティング済みのリポジトリが必要です。フィッティングは、明示的なローカルの CLI/スキルのワークフローとして実施します。 | 集中的なテストとソースの確認、2026-07-30 |
| Claude Code プラグイン | 構成時に自動実行されるほか、呼び出し/パッシブのインターフェースも提供 | オプトインの書き込み前フックは、フィッティング済みのリポジトリで、Write、Edit、MultiEdit のいずれかによって外部インポートが追加された場合にのみ確認を求めます。処理をブロックすることはなく、完全なチェックでも、ターン終了時のチェックでもありません。 | マニフェスト/ソースの確認、2026-07-22 |
| pre-commit | ユーザーによる構成時に自動実行 | フィッティング済みのリポジトリで、ステージング済みのサポート対象ファイルをスコアリングします。argot-check フックは検出内容を通知するものであり、エラー重大度による終了はオプトインの argot-check-gate が担います。 | マニフェストの確認、2026-07-22 |
| GitHub Action | ユーザーによる構成時に自動実行 | ワークフロー内で、構成済みの ref/範囲をスコアリングします。チェックアウト履歴とリリースのダウンロードへのアクセスが必要です。fail-on-hits のデフォルトは false です。 | Action マニフェストの確認、2026-07-22 |
標準的なセットアップとホストの詳細については、Claude Code、 その他のエージェントと MCP、および CI と pre-commit を参照してください。
エビデンスと限界
現在公開されている測定値は検出器ごとのものであり、製品全体の精度や複合ブリーフィングに関する主張ではありません。承認済みの主張マニフェストには、次の内容が記録されています。
- 目に見える外来記号のテストケース:36のコーパス、12言語で 620/637 — 97.3%;
- 再発明のテストケース:31のコーパス、11言語で 545/584 — 93.3%;
- 配置転植:評価可能な22のコーパス、11言語で 12,899/13,456 — 95.9% (残りの9つは、レイアウトに分離可能なアーキテクチャがないため判定を保留します);
- レイヤリングのテストケース:25のコーパス、12言語で 264/272 — 97.1%;
- テストの完全性に関するテストケース:23のコーパス、12言語で 154/164 — 93.9%。
誤検知のコストを示さなければ検出率に意味はないため、両方を公開しています。同じ36のコーパスにおいて、ボイス検出器がフラグを立てるのは、通常の採用済み編集の 0.25% です。また、リポジトリから適切な内容を判断するための情報が最も少ない、新規追加ファイルのハンクでは 0.00% です。
それぞれの数値には、固有のコーパス、分母、修飾条件があります。複合ブリーフィング/ノイズの結果と、通常のリポジトリにおける処理時間は、まだ公開測定値としては確立されていません。ベンチマークの手法とソースをご覧ください。
Argot は12言語向けのアダプターを提供しています。テスト済みのリリース対象は、macOS arm64/x64、Linux x64/arm64、Windows x64の5つです。ローカル分析パスでは、統計、グラフ、スクリプト、埋め込みのエビデンスを使用します。生成モデルや意見を形成するモデルが検出結果を判定することはありません。
適合性の状態は重要です。履歴が浅い、生成されたもの、ベンダー提供のもの、またはそれ以外の理由で不適切なリポジトリでは、有用なモデルを作成できない場合があります。また、使い慣れた語彙だけを使い、文章を隠し、選択範囲外のコードで行われた誤った選択については、Argot の信頼性が最も低くなります。特定の検出器を信頼して使用する前に、制限事項をお読みください。
再現可能な作成済みの証明

これは作成済みのテストケースであり、実例コーパスではありません。固定されたコマンド、バージョン、レシート、チェックサム、再生成手順、画像のGIFがバイト単位では安定しないことに関する注記は、証明レシートに記載されています。この画像は、監査可能なMarkdownレシートに添えられた、再現可能な資料です。
プライバシーとオープンソース
Argot は、ソース、履歴、検出結果をローカルで分析します。個人向けローカルコアは無料のMITライセンスのオープンソースで、アカウントやクラウドサービスは必要ありません。Argot はデフォルトでテレメトリーを使用せず、ソースコードをアップロードしません。実行する分析にネットワーク接続は一切必要ありません。意味に関する検出結果を支えるコード埋め込みモデルは、バイナリにコンパイルされています。ただし、更新/バージョンの確認、リリースのダウンロード、または明示的に設定されたレビュー/更新/CIとの連携には、引き続きネットワークを使用する場合があります。ネットワークの使用を防ぐには ARGOT_OFFLINE=1 を設定してください。分析機能が失われることはありません。
プライバシーとセキュリティの境界、セキュリティポリシー、MITライセンスの全文をご覧ください。
貢献
貢献を歓迎します。まずCONTRIBUTING.mdをご確認ください。次に、継続して更新される意思決定記録については製品戦略を、エビデンスについては調査ログをご覧ください。
謝辞
argot が公開するすべての数値は、サポート対象の12言語にわたる36のオープンソースプロジェクトの実際の履歴と照らし合わせて測定されています。対象は、fastapi、rich、faker、saleor、wagtail、scrapy、hono、ink、faker-js、excalidraw、outline、express、commander、eslint、gh-cli、hugo、ripgrep、bat、guava、junit5、powershell、jellyfin、redis、curl、rocksdb、fmt、homebrew、rubocop、laravel、composer、castle-engine、mORMot2、uos、ideU、MSEide/MSEgui、dagster です。
これらがなければベンチマークは実現しませんでした。メンテナーとコントリビューターの皆様に感謝いたします。argot はこれらのコードをベンダー提供も再配布もしません。ハーネスは各リポジトリを固定された SHA でクローンし、履歴をローカルで読み取るだけで、そこから何も同梱しません。各プロジェクトはそれぞれのライセンスのもとにあり、その権利は各プロジェクトの作者が保持しています。リンク付きの全リストと、argot がコミットする内容については、benchmarks/README.md をご覧ください。
argot が再配布するものは1つだけです。redundant と misplaced の背後にあるモデルは、jina-embeddings-v2-base-code(Jina AI、Apache-2.0)から、model2vec の手法(MinishLab、MIT)を用いて蒸留した、1,560万パラメーターの静的テーブルです。その重みはバイナリにコンパイルされ、Apache-2.0 のもとで再配布されます。利用条件の全文は NOTICE をご覧ください。argot はいずれのプロジェクトとも提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
