GitHubのコントリビューショングラフを緑に塗りたい欲

GitHubのプロフィールページを開くと、コントリビューショングラフが表示される。1年分のカレンダーに緑の点が並ぶあれだ。

私はこれを埋めることに、かなり執着している。

空白の日が気になる

コントリビューションがない日はグレーのまま残る。グレーが続くと「最近何もやっていない」という事実が可視化されて、居心地が悪い。

理屈ではわかっている。コントリビューションの多さが実力や生産性と比例するわけではない。プライベートリポジトリへのコミットはグラフに反映されないこともある。

でも緑が埋まっていると、純粋に気持ちがいい。

草を生やす習慣が個人開発を続ける動機になった

最初は「毎日コミットしよう」という目標を立てた。

当然、最初は続かなかった。週に3〜4日空く週があった。そのたびにグラフのグレー部分を見て「やってない…」という軽い自己嫌悪を感じた。

自己嫌悪はあまり良い動機ではないが、「今日もやろう」と思うきっかけにはなった。

気づいたら2週間連続でコミットできていた。連続記録を更新すると、途切れさせるのが惜しくなった。それが習慣の入口だった。

コミットの質と量のバランス

草を生やすことにこだわり始めると、「1行でもいいのでコミットしよう」という方向に走りがちだ。

README.md の誤字を直すだけのコミットを毎日繰り返すのは意味がない。連続記録のために空コミットを作るのはもっと意味がない(実際にやったことがある)。

今は「意味のある変更が1つ以上あれば緑にしていい」という基準を自分に課している。

  • バグを直した
  • 新しい機能を少し追加した
  • リファクタリングをした
  • ドキュメントを整理した
  • これらのどれかがあれば、コミットする。1行の変更でも構わない。

    最長連続記録は37日

    今年の2月に37日連続コミットを達成した。個人開発のWordPress自動投稿システムをずっと作り続けていた時期だ。

    37日目の夜、「明日業務の締め切りがあるから今日は無理かも」という状況になった。23時45分にリポジトリを開いて、小さなバグを直してコミットした。それで37日が継続した。

    翌日の締め切りは無事に対応できた。コミットが生産性を下げたわけではなかった。

    草を生やすことの本当の価値

    コントリビューショングラフへの執着は、半分は見栄だと思っている。「ちゃんと毎日やってます」という証明をしたいという気持ちがある。

    でも結果として、個人開発を継続する習慣を形成してくれた。

    草を生やすためにリポジトリを開く。開いたらコードを少し読む。読んだら「ここ直せるな」と思う。直す。コミットする。緑になる。翌日もやりたくなる。

    このサイクルが回り始めると、草を生やすことが目的なのかコードを書くことが目的なのかわからなくなってくる。でもコードは書かれているし、プロジェクトは前に進んでいる。

    妻へのプレゼンテーション

    「見て、今日も草生えた」と妻に言ったら「何それ」と言われた。

    GitHubのコントリビューショングラフを説明すると「毎日コード書いてるの偉いね」と言われた。

    その一言で今日も続ける気になった。動機はなんでもいい。