FindGS は、入力テキストが README、名前、トピック、説明に一致する、Github 内のスター付きリポジトリを検索します。
モチベーション
おそらく、いつか使用するために github にスター付きのリポジトリがたくさんあるかもしれません。
スター付きリポジトリをどんどん積み重ねていくと、スター付きリポジトリ内で必要なリポジトリを見つけるのが難しくなることがあります。
github サイトは README での検索を正式にサポートしていないためです。
FindGS は、リポジトリを検索するために github トークンを使用する対話型 CLI です。
FindGS は内部的にデータベースをキャッシュし、ローカルでインデックスを作成することに注意してください。 Github API は 1 時間あたり 5000 に制限されているため、より高いパフォーマンスでキャッシュや検索を行うには何かが必要です。
そのため、最初に実行する場合、キャッシュとインデックス作成のために起動が多少遅くなります。
また、 FindGS を実行すると、キャッシュされたデータが 1 時間間隔で更新されます。
5000 を超えるスター付きリポジトリがある場合は、残りのリポジトリをキャッシュするために 1 時間間隔で findgs を実行する必要があります (Github API は 1 時間あたり 5000 に制限されています)。
その結果、スター付きリポジトリはすべて、キャッシュ データベースとインデックス作成をローカルに保存できます。
Golang を使用して実装されています。
github パーソナル アクセス トークンが必要です。 (ただし、トークンのスコープは必要ありません。)
このトークンはグローバル環境を設定するか、findgs に渡す必要があります。
# ex 1)
$ export GITHUB_TOKEN=your-github-token # .zshrc or .bash_profile
$ findgs run
# ex 2)
$ findgs run -t your-github-token
Mac をインストールする場合はHomebrewを使用しますが、リリースからダウンロードすることもできます。
# mac
$ brew tap gjbae1212/findgs
$ brew install findgs
# linux
$ wget https://github.com/gjbae1212/findgs/releases/download/v1.0.5/findgs_1.0.5_Linux_x86_64.tar.gz
# window
$ wget https://github.com/gjbae1212/findgs/releases/download/v1.0.5/findgs_1.0.5_Windows_x86_64.tar.gz
FindGS は現在、次の機能をサポートする予定です。
findgs run
findgs clear
インタラクティブ CLI を実行して、Github 内のスター付きリポジトリを検索します。
# 1)
$ findgs run # need to `export GITHUB_TOKEN=your-token`
# 2)
$ findgs run -t your-github-token
対話型 CLIは現在、次のコマンドをサポートする予定です。
1.検索
このコマンドは、入力テキストを使用してスター付きリポジトリを検索します。また、ワイルドカード検索をサポートするためでもあります。
>> search [searhing text(ex cli tool, hello * ...)]
2.開く
このコマンドは、選択したリポジトリをブラウザに表示します。
>> open name [searched repositories name]
>> open num [searched column num]
3. リスト
このコマンドは最近検索した結果を表示します。
>> list
4. スコア
このコマンドは、スコア以上のリポジトリを検索できるスコアを設定します。(0 <= スコア)
# default score 0.1
>> score 0.5 # change score to 0.5
5. 終了
この番組。
>> exit
キャッシュされたデータベースとローカルのインデックス付きデータを削除します。
$ findgs clear
このプロジェクトは MIT に従っています。