GitHubのGistにファイルをアップロードするCLIを作りました。
見出し画像

GitHubのGistにファイルをアップロードするCLIを作りました。

みなさんは、GitHubのgistを使ってますか??
このgitstなんですけど、結構さっと書いたサンプルのコードなどを見せるのに便利だったりします。

例えば、ここの実装の方法を教えて欲しい。みたいなやりとりの中でプロダクトのコードの中で使ってるからそのリポジトリを見せるわけにはいかない。みたいなのとか、単純な実装の例みたいなのを後の自分のために置いておくためみたいな時にGistを僕は使います。


なぜCLIを作ったのか

多分調べればGitHubのgistを扱うCLIってあると思います。有名なのはこちらですね。あとは日本人だとmercariのb4b4r07さんがつくっていました

作った理由として
- コマンドラインツールを使いたかった
- もう一つ作ってたGoのフラットな構造体をいい感じに表示するライブラリを使いたかった
- コマンドラインツールでOAuthを扱いたかった

などの理由があります。

2つ目のGoのフラットな構造体をいい感じに表示するというのはkonojunya/go-frameです。

3つ目のOAuthを扱いたいと言うのは、コマンドラインでユーザーのデータを扱うときのログインする実装(よく見るのはgcloudとかを使う時のGoogleの認証画面など)をやってみたかった。

あとはOSSで何か作りたかったといったところです。


出来ること

出来ることは、現在はただファイルをGistにアップロードすることだけです。複数のファイルをアップロードしたりするのもまだ出来ません。

secretかどうか、メッセージをつけるか。みたいなことは出来ます。


インストール

Goが入っている環境であれば、

$ go get github.com/konojunya/gost

でインストールができます。


使い方

コマンドは2つだけにしています。

$ gost login

とすると、ブラウザが開いてGitHubのアカウントの認証画面が出てきます。

$ gost create /path/to/file

gost createで、ファイルをアップロードできます。ここでアップロードが終わったURLが帰ってくるので使いたかったgo-frameを使って表示をしてます。

シンプルですね。


OSSとして楽しんでいきたい

このコマンドラインツールだと、とても簡単に作っていてまだ機能も少ないのでOSSにコントリビュートしたことない人が初めてコントリビュートできるようなOSSに出来たらと思っています。この体験が結構ハマるポイントになると思っているからです。

なのでぜひ、konojunya/gostへよろしくお願いします。

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
甘いものが好きです。エンジニア👨‍💻 PWAとGolangを触っています。