thank-you-starsを使用してGoのライブラリにスターを送る
みなさん普段GitHubのスターを投げることはありますか?
職業柄みなさんも人のGitHubアカウントを覗くことがよくあると思いますが、人によってすごく多くのライブラリに対してスターを投げている人もいれば、全くスターを投げていない人もいると感じます。
(人によってスターを投げる基準が異なるのは当たり前で、スターを投げないことが悪いことだとは全く言いません。)
僕個人の意見としては「自分のリポジトリで使用しているのであれば、スターを投げて欲しいな」と思っていて、自分はスターを投げるようにしています。
そこで、thank-you-starsという依存しているGoのライブラリにスターを送ることができるライブラリを開発しました。
このツールは以下のツールに強く影響を受けています。それぞれを使用してHaskellのリポジトリ、npmパッケージへもスターを送ることができます。
これらのツールの開発の背景も以下の記事に記載があります。
個人でいくつかのツールを開発しているのですが、スターを一つもらえるだけで、少なくとも僕はもんのすごいモチベーションになります。そもそも細かなライブラリなどは使用してもらえているという事実だけでやる気が出るものです。
issueやPRを出すと言う貢献の方法は敷居が高いところですが、スターを渡すと言うのもすごく身近でありながらモチベーション寄与という意味で大きな貢献になると思います。
使い方
インストールはgo get
やgo install
などで行うことができます
Go version < 1.16
GO111MODULE=on go get github.com/sanposhiho/thank-you-stars
Go version 1.16+
go install github.com/sanposhiho/thank-you-stars@latest
あとはGitHub Auth Tokenが必要になります。
以下のページからtokenを生成してください。必要になるのはpublic_repoのスコープのみです。
あとは環境変数にセットして実行するだけ!です!
$ export GITHUB_AUTH_TOKEN=your_github_auth_token
$ thank-you-stars
2021/04/17 15:09:49 Starred! github.com/go-gorp/gorp/v3
2021/04/17 15:09:50 Starred! github.com/go-sql-driver/mysql
2021/04/17 15:09:50 Starred! github.com/golang/mock
2021/04/17 15:09:50 Starred! github.com/golang/protobuf
2021/04/17 15:09:51 Starred! github.com/google/go-cmp
2021/04/17 15:09:51 Starred! github.com/google/uuid
2021/04/17 15:09:51 Starred! github.com/gorilla/websocket
2021/04/17 15:09:52 Starred! github.com/labstack/echo/v4
2021/04/17 15:09:52 Starred! github.com/labstack/gommon
2021/04/17 15:09:52 Starred! github.com/patrickmn/go-cache
2021/04/17 15:09:52 Starred! github.com/zmb3/spotify
ちょっとだけ技術的な話
このリポジトリ自体は特に技術的に面白いことはしているわけではないですが、modfileパッケージを使用してgo.modをパースするというのは初体験でした。
GitHubへのリクエストはお馴染みのgo-githubを使用しています。
終わりに
あとは使用した各thank-you-starsへのスターをポチッと押してくださいね(お
Discussion