概要
カタログが示す内容と、その根拠。
2600件の開発ツールを、それぞれが置き換えるツールとともに掲載しています。ツールについてそれ以外に表示される情報は GitHub から取得したもので、追加した人が書いたものではありません。
エントリに書かれている内容
各ツールは data/tools/配下の小さな YAML ファイルです。ファイルには、ツール名、GitHub リポジトリ、カテゴリ、置き換えるツールとそれぞれの置き換えの度合い、そして該当する場合は利害関係を記載します。コントリビューターが書けるのはこれだけです。
エントリにスター数、ライセンス、バージョン、説明文を書くことはありません。スキーマがこれらを拒否するため、プルリクエストでスター数を水増ししたり、存在しないリリースを主張したりすることはできません。
毎晩の更新
毎晩、およびメインブランチでカタログのデータが変更されるたびに、 refresh が GitHub API から掲載中のすべてのリポジトリについて次の情報を読み取ります:
- 説明文、ホームページ、言語、ライセンス、スター数、フォーク数、トピック
- リポジトリがアーカイブされているかどうかと、最終プッシュの日付
- 最新リリース(リリースがない場合は最新タグ)と、それが署名されているかどうか
- 直近5件の公開リリース(ツールのページに表示)
- 過去90日間のデフォルトブランチのコミット作成者(保持するのは人数のみ)
- 最新リリースに添付されたファイル名(そこに含まれる OS とアーキテクチャを読み取るため)
- 次の項目で説明するメンテナーファイル: メンテナー確認済み
ツールのページでは、これらの情報をプロジェクトの活発さとして示しますが、スコアにはしません。経過年数はリポジトリの作成日から数えます。リリース間隔は直近の安定版リリース間の中央値で、リリースが3件以上ある場合に表示します。アクティブなコントリビューターは、過去90日間にデフォルトブランチでコミットした異なる作成者の数です。名前が [bot] で終わるアカウントは除外し、GitHub アカウントに紐付かないコミットはメールアドレスで数えます(メールアドレスは公開しません)。読み取るのは直近500件のコミットだけなので、より活発なプロジェクトでは 40+ のように下限値を表示します。スカッシュマージのワークフローでは、共同作成者がいてもプルリクエストごとに1人の作成者しか数えられません。また、モノレポ内のツールではリポジトリ全体を集計し、その旨をページに表示します。プラットフォームは最新リリースのファイル名に含まれている場合にのみ表示し、含まれていない場合は推測しません。モノレポ内のツールも、最新リリースが別パッケージのものである可能性があるため推測しません。
何か変更があれば、更新処理が新しいカタログをコミットし、このサイトの新しいビルドが公開されます。掲載中のツールのリポジトリが削除されたり非公開になったりして GitHub から返されなくなった場合、更新処理は何も公開せずに失敗し、人が確認します。ツールがカタログから外れるのは、そのエントリを削除するプルリクエストによってのみです。
更新のたびに、新しいカタログを前回のものと比較し、ライセンス、リポジトリ名、アーカイブ、新しいリリース、ツールの追加や削除といった変更を記録します。 変更履歴 ページではこれを日ごとに一覧にし、カタログ全体、ツールごと、カテゴリごとの RSS フィードを提供しています。スター数の変化は変更として扱いません。
毎晩の更新の合間でも、リポジトリに awesome-alternatives GitHub App をインストールしているか、リリースワークフローで refresh-action を実行していれば、リリースを公開してから数分以内にツールの情報が更新されます。
マーク
- ✓ 署名済み
- 最新バージョンの横に表示されます。タグに GitHub が検証した署名がある場合、または軽量タグの場合はタグが指すコミットに署名がある場合に付きます。確認するのは最新リリースだけです。
- メンテナー確認済み
- ツール自身のリポジトリのデフォルトブランチのルートに
.awesome-alternativesファイルがあり、slug:にこのエントリが設定されています。このファイルを追加できるのはリポジトリへの書き込み権限を持つ人だけなので、このマークはメンテナーがエントリの内容を認めていることを示します。ファイルは毎晩の更新で読み取ります。また、リポジトリに awesome-alternatives GitHub App がインストールされている場合もこのマークが付きます。App のインストールには管理者権限が必要だからです。ファイルによる確認は、そのファイルへの最後のコミットの日付を持ちます。その日付より後にエントリが編集されると「確認後に編集あり」と表示され、メンテナーがファイルに再度コミットすると消えます。日付入りの # コメントを追加するだけで十分です。どの一覧でも、確認済みのツールは置き換えの度合いが同じ未確認のツールより前に表示され、それ以外はスター数で並びます。より置き換えの度合いが高いツールより前に出ることはありません。 - アーカイブ済み
- リポジトリはアーカイブされており、今後変更されることはありません。アーカイブされたツールはまさに乗り換え元として探されるものなので、他のエントリが置き換える対象としてのみ受け付け、代替としては受け付けません。また、 プッシュなし の警告も付きません。
- Other
- GitHub がライセンスを検出したものの、SPDX 識別子に対応付けられない場合にライセンスとして表示されます。GitHub がライセンスを検出しない場合、ツールには 検出されず と表示され、 ライセンス未検出 の警告が付きます。
置き換えの度合い
各代替には、エントリを追加した人が設定した度合いが1つ付いています。
- ドロップイン
- 元のツールの設定やインターフェースをそのまま受け付けます。セットアップに手を加えずに差し替えられます。検索でドロップインを指定すると、これだけに絞り込まれます。
- 完全な置き換え
- 同じ用途を独自の方法でカバーします。設定の移行が必要です。
- 部分的
- 用途の一部をカバーします。どの部分かはツールの下のメモに記載しています。
警告
警告によってツールが削除されることはありません。メンテナーがプルリクエストをマージする前に確認する点であり、ツールに依存する前に知っておきたい点でもあります。
- リポジトリ移動
- リポジトリは現在、別の名前または所有者のもとにあります。GitHub は古いアドレスをリダイレクトしますが、エントリは更新する必要があります。
- ライセンス未検出
- GitHub がライセンスを検出していないため、コードを利用できる条件が不明確です。
- リリース・タグなし
- リポジトリにリリースもタグもないため、固定できるバージョンがありません。
- 1年間プッシュなし
- 365日以上何もプッシュされていません。アーカイブされたリポジトリはこの警告の対象外です。
- スターの異常な急増
- 1日に50以上のスターを獲得し、かつ過去1か月のそのツールの通常の1日あたりのペースの5倍以上、かつ前日のスター数の3%以上だった場合です。大きなプロジェクトの普通の好調な日は含まれません。購入されたスターは一度にまとまって付きますが、Hacker News での公開も同じなので、判断は人が行います。GitHub はリポジトリにスターを付けたユーザーの一覧を提供しなくなったため、毎晩の更新で各日のスター数を記録し、日ごとに比較しています。判断には1週間分の履歴が必要なので、ツールが確認されるのは掲載された後になります。
一方、次のような問題はプルリクエストをブロックします:非公開のリポジトリ、フォーク、アーカイブ済みなのに代替として提案されているもの、作成から30日未満のもの、すでに別の slug で掲載されているもの。 コントリビューターガイド にすべてのチェックを記載しています。
利害関係
ツールをメンテナンスしている人、開発に携わっている人、報酬を受けている人は、エントリにその旨を記載する必要があります。自分のプロジェクトを掲載するのは歓迎しますが、それを明かさない場合は削除の対象になります。エントリに利害関係が記載されている場合、ツールのページにはその記載どおりに表示します。
検索の仕組み
クエリはまずキーワードとして読み取ります。対象は、他のツールに置き換えられるツールの名前、カタログ内の言語とライセンス、そして「drop in」です。置き換えたいツールの名前が含まれていない場合は、検索サーバー上で動く小さな多言語埋め込みモデルが、クエリを各ツールの説明文と比較します。そのため、説明文自体は GitHub が返すとおり英語のままでも、サイトが対応しているどの言語で書いたクエリでも、英語で書いた場合と同じツールが見つかります。置き換えたいツールが1つはっきりと浮かび上がればそれを選び、そうでなければクエリとの近さで結果を並べます。どちらの段階でも置き換えたいツールが見つからず、かつサーバーにそのためのキーがある場合に限り、クエリのテキストを外部サービスの Jev に送信して解釈させます。その解釈結果はサーバーに1日キャッシュします。 プライバシーページ に、送信される内容と保存される内容を記載しています。
一部の語は、サイトが対応しているすべての言語でフィルターになります。「オープンソース」はライセンスがオープンなツールに絞り込みます。「メンテナンスされている」はアーカイブされたツールと365日間プッシュのないツールを除外します。「セルフホスト」は自分で運用するサービスのカテゴリに属するツールに絞り込みます。Linux や Docker のようなプラットフォームやデプロイ方法は認識しますがまだ確認はしておらず、確認したふりをせずにその旨を結果に表示します。
AI エージェントから使う
カタログは https://awesome-alternatives.com/api/mcp で Model Context Protocol(MCP)サーバーとしても公開しており、Streamable HTTP で、キーもアカウントも不要で利用できます。エージェントは、ツールや製品の代替を探したり、カテゴリ、言語、ライセンスでツールを一覧したり、1つのツールの情報を読んだりできます。検索ツールはキーワードとこのサーバー上のモデルだけでクエリを読み取り、Jev は使いません。また、アドレスごとに制限があります。その他のツールには制限はありません。
Claude Code に追加するには: claude mcp add --transport http awesome-alternatives https://awesome-alternatives.com/api/mcp
ライセンス
カタログのデータのライセンスは CC BY-SA 4.0 です。awesome-alternatives.com へのリンクを示し、同じライセンスで公開すれば自由に再利用できます。サイト、API、スクリプトのコードのライセンスは GNU AGPL v3。