Reuse Before Generate について
Reuse Before Generateは、AIコーディングアシスタントが新しいプロジェクトやモジュールを生成する前に、公開コードやパッケージ索引を検索する、依存関係のないMCPサーバー兼CLIです。リポジトリ、パッケージレジストリ、ソフトウェアディレクトリを並列検索します。
主な機能
- 01公開リポジトリとパッケージ索引の検索
- 02複数ソースの並列検索
- 03構造化Markdown形式で結果を返却
- 04一部ソースの停止時も検索を継続
- 05CLIからの検索実行
活用シーン
- 01新規作成前に既存ライブラリを確認
- 02アイデアに合うデスクトップアプリやCLIを検索
- 03言語別レジストリのパッケージを比較
MCP 対応
`check_before_building`と`reuse_before_generate`ツールを提供し、MCPクライアントがコード生成前に既存の解決策を検索できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| keywords | array | はい | 必須:説明から自分で推論した、精度の高い検索語を 3~4 個指定してください。ユーザーが実際に何を意味しているか、自分の理解を使ってください。説明が曖昧、くだけた表現、または非母語話者によるものである場合は、特に注意してください。一般的なカテゴリ語ではなく、メンテナーが README に実際に記載する具体的な分野名詞を選んでください。たとえば、「コードに誤って秘密鍵が含まれていないかチェックするもの」なら、["secret", "scanner", "detect", "git"] より ["git", "secrets", "detect", "leak"] を優先します。「scanner」は範囲が広く、無関係なセキュリティツールのまとめ記事まで拾いますが、「leak」/「secrets」は gitleaks/trufflehog が実際に自らを説明する表現に合致します。一般的なツールエコシステムの語(mcp、agent、server、tool、app)は、説明にそれ以上具体的な語がない場合を除き、避けてください。これらは実際の競合ではなく、ノイズ(awesome リストや無関係な MCP サーバー)を返します。重要なのは、ユーザーの問題を表す語よりも、ツールそのものを表すためにメンテナーが使う語を優先することです。実際の「ターミナルで JSON をきれいに表示する」ツールは、「pretty-printer」/「colorizer」ではなく、「viewer」や「processor」を名乗る可能性があります。実際の静的サイトリンクチェッカーなら、「static site alt-text」ではなく「rendered HTML」の検証をうたうでしょう。最初の推測が合わない場合は、想定しているツールの README を頭の中でシミュレーションし、その文から語を直接選んでください。 |
| description | string | はい | これから構築するプロジェクト/モジュールについて、何をするものかを平易な言葉で説明してください。方法ではなく、機能を記述します。具体的であるほど、一致精度が高くなります。 |
詳細
reuse-before-generate
あなたのアイデアは、すでに存在しているかもしれません。作り始める前に調べましょう。
AI コーディングアシスタントにアプリやモジュールの作成を頼むと、実績のあるオープンソースライブラリやメンテナンスされているツールがすでに存在する場合でも、AI は熱心になりすぎて、何千行ものコードを一から作り始めてしまいます。
reuse-before-generate は、コード生成が始まる前に AI のワークフローに割り込む、依存関係ゼロの MCP サーバー(および CLI ツール)です。複数の観点から公開コードやパッケージのインデックスを検索し、結果を構造化された Markdown として整形して、既存の SaaS 製品やコミュニティでの議論をウェブで検索するよう AI に促します。
確認するソース
このサーバーは、以下のソースを並行して確認します。
| ソース | 検索対象 |
|---|---|
| GitHub | 公開リポジトリ |
| GitLab | 公開プロジェクト |
| Show HN | Hacker News の製品・プロジェクトの発表 |
| Flathub | Linux デスクトップ GUI アプリケーション |
| F-Droid | Android のオープンソースアプリ・ユーティリティ |
| GNOME Extensions | デスクトップシェル拡張機能 |
| Homebrew | 厳選された CLI ユーティリティ・フォーミュラ |
| AUR | Arch Linux のツール、デーモン、スクリプト |
| PyPI | Python パッケージ・ユーティリティ |
| Conda / Bioconda | Conda-forge および Bioconda のパッケージ |
| CRAN / Bioconductor | R パッケージ・バイオインフォマティクスライブラリ |
| npm | JavaScript・TypeScript パッケージ |
| crates.io | Rust クレート |
| NuGet | .NET パッケージ |
| Hugging Face | AI モデル・パイプライン |
| Docker Hub | 公開コンテナーイメージ |
| Maven Central | Java アーティファクト |
| RubyGems | Ruby gem |
| Packagist | PHP パッケージ |
追加されたソースはすべて公開エンドポイントを使用し、API キーは不要です。可能な範囲で各ソースに問い合わせます。いずれかのソースが利用できない、またはレート制限に達した場合でも、ほかのソースからの結果は返されます。GitHub トークンは任意で、GitHub の検索レート制限を引き上げる場合にのみ使用します。
クイックスタートとインストール
API キーなしで始められます。
1. Claude Code CLI
claude mcp add -s user reuse-before-generate -- npx -y reuse-before-generate
2. Cursor、Claude Desktop、Antigravity、Windsurf、または VS Code
mcpServers の設定に追加してください(例:~/.claude/mcp.json、~/.gemini/antigravity-ide/mcp_config.json、または Cursor の設定)。
{
"mcpServers": {
"reuse-before-generate": {
"command": "npx",
"args": ["-y", "reuse-before-generate@latest"]
}
}
}
オプション:GitHub API のレート制限を引き上げる
GitHub トークンを渡すと、GitHub のレート制限を引き上げられます(任意)。
{
"mcpServers": {
"reuse-before-generate": {
"command": "npx",
"args": ["-y", "reuse-before-generate@latest"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
3. ターミナルから直接実行する(CLI モード)
MCP クライアントを使わずに、シェルから直接検索を実行できます。
npx reuse-before-generate "terminal markdown viewer"
# or if cloned locally:
node index.js "gnome speech to text offline"
4. スラッシュコマンド/エージェントスキル
対応する AI コーディングアシスタント(Antigravity、Claude Code)では、スラッシュコマンドから直接呼び出せます。
/reuse-before-generate <project description or keywords>
🤖 AI エージェントで自動化する
AI アシスタントがコードを書く前に既存のソリューションを確認するよう、CLAUDE.md、.cursorrules、GEMINI.md、または AGENTS.md に次の指示を追加してください。
Before scaffolding a new project or substantial new module from scratch:
1. Call `check_before_building` (or `reuse_before_generate`) from the `reuse-before-generate` MCP server.
2. Follow up with web search for existing commercial products or self-hosted tools as directed by the tool.
3. Present existing alternatives in a concise table and ask the user whether to reuse or extend an existing project instead of building from scratch.
🤖 AI の使用に関する開示
このプロジェクトでの AI の使用方法については、AI に任せることと、任せないことをご覧ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。