GitHub のリポジトリページにアクセスするだけでローカルに git clone される Chrome 拡張を書きました.ggc という略称になりますが,まあなんかこれ紛らわしいですね.
なぜこんなものが必要になったかというと GitHub のリポジトリ内検索は割と結果がひどくて,手元に clone してきてから grep なりなんなりをかけた方が必要なものを得られる可能性が極めて高い,というのがあるためです.
そんでもっていちいち clone するっつうのもダルいので,それだったらブラウザでリポジトリのアクセスした瞬間に自動的に clone すればいいじゃーん,もう2015年なのでストレージとか気にせず豪快にいこうやガッハッハ,という方法に id:s5r 氏と話していて辿り着いたのでそれを実装したという経緯になります.
Chrome 拡張を名乗っていますが,実態は Chrome 拡張 + サーバサイド実装という風になっています.
Chrome 拡張から直接コマンドラインを叩くのは不可能では無さそうだったけれど割とへんてこりんなステップを踏まなければならなそうな上に,Chrome のバージョンが変わったらここらへんガンガンぶっ壊れるんだろうな〜という憂慮があった為,ローカルにサーバを立ち上げておいてそのサーバに対して Chrome 拡張から Ajax で API を叩く,というシンプルな構成になっています.
サーバの実装は go で書いていて,GitHub Releases でバイナリを配っているので,ダウンロードしてきてシュッと立ち上げることが可能です.拡張本体の実装はこうしたアプリケーションの特性から Chrome Web Store とかにはリリースしてません.GitHub に置いてるだけですので適宜インストールしてご利用ください.
clone 先のディレクトリの構成は ghq と統一しているので,サーバの --dir
オプションで clone ディレクトリの先を ghq のディレクトリと繋いでおくと色々多幸感があるかもしれません.
また,オプションとして github.com
以外のドメイン,例えば社内 GitHub Enterprise に対応させるための設定機能などが入っています.詳しくは README などを読んでいただけると良いかと思います.
とにかくこの拡張を有効にしておくと自動的にたくさんのリポジトリが降って来るのである種の快感があります.そして便利.
この便利さは Disk Full を味わうまでは続くことと思われます.ご利用ください.