repofit について
repofitは、コーディングエージェントのローカル履歴やメモリ、インストール済みツールを読み取り、その人の作業に合うGitHubプロジェクトを推薦します。各推薦には履歴上の根拠が示され、MCP経由またはCLIで利用できます。
主な機能
- 01複数のコーディングエージェントのローカルデータを読む
- 02タスクに応じてGitHubプロジェクトを検索・推薦
- 03推薦に履歴上の根拠を付ける
- 04インストール済みスキルとMCPサーバーをスキャン
- 05データの秘匿化と読み取り範囲の選択
活用シーン
- 01過去の作業に合うプロジェクトを探す
- 02GitHubプロジェクトがニーズに合うか確認
- 03使われていないスキルやMCPサーバーを特定
- 04CLIまたはMCPでプロジェクト推薦を取得
MCP 対応
repofitはMCPサーバーとしてコーディングエージェントに接続し、ローカル履歴を使ったプロジェクト推薦を行います。MCPモードでは、テキストはエージェントが使用中のモデルに渡されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
トレンドを延々とスクロールするのはやめましょう。あなたの仕事ぶりを見てきたエージェントに尋ねてください。
毎週、新たなリポジトリが星を1万個集め、「試すべきツール」のリストは誰にでも向けて書かれています。その一方で、あなたのコーディングエージェントは何か月もかけて、あなたが何を作り、何が何度も壊れ、午前2時に何をこぼしたかを記録してきました。repofit は、Claude Code、Codex、Cursor など十数種類のエージェントから、あなた自身のマシン上でその記録を読み取り、まだ聞いたことがなく、実際に使いたくなるおすすめを提案します。それぞれのおすすめについて、あなた自身の履歴のどの出来事がきっかけになったのかも示します。
https://github.com/user-attachments/assets/c7ac0bcf-74ed-4a09-9295-b6d06e6d67c1
インストール
pipx install repofit
次に、使用するエージェントから repofit mcp を指定します。ほとんどのエージェントは同じ MCP 設定を読み込みます。
{ "mcpServers": { "repofit": { "command": "repofit", "args": ["mcp"] } } }
この行は、Cursor では ~/.cursor/mcp.json、Gemini CLI では ~/.gemini/settings.json、Qwen Code では ~/.qwen/settings.json に記述し、Cline、Windsurf、Claude Desktop ではそれぞれの MCP 設定に追加します。Codex は TOML を読み込み、Claude Code ではコマンドラインからサーバーを追加します。
# ~/.codex/config.toml
[mcp_servers.repofit]
command = "repofit"
args = ["mcp"]
claude mcp add repofit -- repofit mcp
repofit はエージェント内で動作するため、推論にはエージェント自身のモデルを使います。API キーもアカウントも、ホストするものも必要ありません。インストール手順を省略するには、uv を使い、コマンドを uvx repofit mcp にしてください。
まずは聞いてみましょう
接続したエージェントで新しいセッションを開き、あなたの履歴を読んだ同僚に話しかけるように聞いてみてください。
- 「repofit を使って、私におすすめの GitHub プロジェクトを教えてください。」
- 「github.com/owner/name は私に合っていますか?」
- 「PDF を Markdown に変換するのに良いツールはありますか?」
- 「インストールしたスキルのうち、まったく使っていないものはどれですか?」
エージェントはチャット内でおすすめを表示し、同じリストをコマンドひとつでいつでも確認できます。
おすすめはサンプル履歴に基づいています。表示されているテキストは CLI の出力そのままです。
おすすめにはすべて根拠があります。「X にスターを付けていたから」ではなく、seen in の行に、ニーズが現れたセッションとあなたが話した内容が引用されています。repofit があなたの履歴を根拠として示せない場合、おすすめを提示することはありません。
下部のリストは、見た目以上に重要です。インストールしたまま忘れているスキルや MCP サーバーは、リクエストのたびにコンテキストを消費します。repofit は、どのセッションからも一度も呼び出されていないものを特定します。
おすすめの選び方
各エージェントは履歴をそれぞれ異なる形式で保存し、形式も数か月ごとに変わるため、repofit にはエージェントごとのアダプターが用意されています。プロフィールは、編集済みの番号付きエビデンスパックをもとに作成されます。実在しないエビデンスを根拠として挙げる主張は、モデルの良心に任せず、コードで却下します。検索では、実際に行っているタスクごとに1つのクエリを実行し、モデルがプロジェクト名や検索語句を追加するため、名前を入力したことがなくても、タスクに必要なライブラリを見つけられます。ランカーには、すでに知っている有名ツールを除外するよう指示します。候補リストは毎週月曜日に GitHub API から再構築されます。対象は、スター数3,000以上のアクティブなリポジトリ、新しいリポジトリでは1,000以上、エージェントエコシステムでは300以上のものに加え、GitHub のトレンドです。
あなたの履歴はあなたのものです
- すべての処理はあなたのマシン上で実行されます。repofit はエージェントがすでに保存しているファイルを読み込み、独自のファイルを
~/.repofitに書き込みます。 - 読み込む範囲は自分で選べます。インストール済みのツールのみ、メモリファイルと指示ファイルを含める(デフォルト)、または自分のメッセージとツール呼び出しも含める、のいずれかです。
- モデルに行が渡される前に、API キー、トークン、パスワード、メールアドレス、電話番号、ランダムに見える文字列(はい、以前
sshの後に貼り付けたパスワードも含みます)が取り除かれ、ホームフォルダーは~に置き換えられます。 - MCP を使う場合、テキストはエージェントがすでに利用しているモデルに送られます。コマンドラインから使う場合は、確認後、指定したプロバイダーにのみ送られます。
- メモや他の人の README には、指示が隠されていることがあります。repofit はすべてをデータとして渡し、見つかった内容には決して従わないようエージェントに指示します。
対応エージェント
| エージェント | セッション | メモリーと指示 | インストール済みツール |
|---|---|---|---|
| Claude Code | はい | CLAUDE.md、プロジェクトメモリー | スキル、プラグイン、MCP サーバー |
| Codex | はい、CLI とデスクトップ | AGENTS.md、memories/ | スキル、プラグイン、MCP サーバー |
| Cursor | はい | ユーザールール、保留中のメモリー | MCP サーバー、拡張機能 |
| Hermes Agent | はい | USER.md、MEMORY.md | スキル、MCP サーバー |
| Gemini CLI、Qwen Code | はい | GEMINI.md、QWEN.md | MCP サーバー、拡張機能 |
| Cline、Roo Code、Kilo Code | はい | .clinerules | MCP サーバー |
| Continue | はい | rules/ | MCP サーバー |
| VS Code Copilot | はい | copilot-instructions.md | MCP サーバー、拡張機能 |
| Kimi CLI、Aider | はい | ||
| OpenCode | カウント対象 | AGENTS.md | MCP サーバー |
| Windsurf、Claude Desktop、WorkBuddy、Trae | ローカルセッションなし | 存在する場合はメモリー | MCP サーバー |
プロジェクトの指示ファイル(AGENTS.md、CLAUDE.md、.cursorrules など)も読み取ります。repofit scan を実行すると、お使いのマシン上で検出された内容を確認できます。エージェントが別の場所にデータを保存している場合は、パスを添えて issue を作成してください。アダプターを追加します。
エージェント不要のコマンドライン
pipx install repofit でインストールするか、各コマンドの前に uvx を付けてください。
repofit scan # which agents are installed and what each one stores
repofit profile build --level L2 --provider deepseek
repofit recommend --provider deepseek --lang zh
プロバイダー:deepseek、openai、ollama、anthropic、または --provider compatible --base-url ... --model ... を指定した OpenAI 互換のエンドポイント。キーは DEEPSEEK_API_KEY、OPENAI_API_KEY、ANTHROPIC_API_KEY から取得され、repofit は送信前に送信するテキストの量を表示します。
プロバイダーがない場合は、各モデルのステップで任意のチャットに貼り付けるプロンプトを出力し、回答をインポートします。
repofit profile prompt --level L2 > prompt.md # then: repofit profile apply answer.json
repofit profile expand --prompt # then: repofit profile expand --apply answer.json
repofit recommend --prompt --lang en # then: repofit recommend --apply answer.json
repofit recommend --no-llm # keyword retrieval only, nothing leaves your machine
開発
git clone https://github.com/pth2002/repofit && cd repofit
python -m pip install -e . pytest
python -m pytest
repofit index build # rebuild the candidate pool yourself; needs a GitHub token
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。