GitHub の新規リポジトリ作成時にサジェストされる名前

GitHub で新規リポジトリを作ろうとすると、リポジトリ名をサジェストされる。

f:id:onk:20201229005510p:plain
bug-free-robot めっちょ良い名前を引いた

docker contianer の命名規則を思い出した。

deeeet.com

せっかくなのでどんな名前が出てくるのか集めてみよう。HTML に含まれているので、スクレイピングの出番。

while :; do
  curl -H 'Cookie: user_session=xxxx' 'https://github.com/new' | ggrep -oP '(?<=<strong class="reponame-suggestion js-reponame-suggestion">).+(?=</strong>)'
  sleep 10
done

grep -oPワンライナーの頻出テクニック *1Macgrep-P に対応していないので brew install grep して使う。

これを動かすと以下のような名前が取れる。

didactic-engine
expert-potato
solid-giggle
furry-succotash
supreme-doodle
psychic-guacamole
crispy-doodle
probable-fiesta
sturdy-journey
stunning-octo-journey
glowing-journey
fuzzy-barnacle
laughing-octo-funicular
upgraded-parakeet
jubilant-engine
psychic-goggles
sturdy-octo-couscous
crispy-couscous
psychic-potato
congenial-sniffle

xxx(-yyy)*-zzz で構成されそう。

xxx の部分は super, upgraded, solid, shiny, fuzzy といった形容詞が並ぶ。

(-yyy)* の部分はほとんど octo。時々 palm, rotary, computing, duper, free。稀に super-octo-palm-tree のように 2 個出てくる。

zzz の部分は tree, phone, umbrella, machine, enigma 等、名詞っぽい。 特に何かに関連する名詞かどうかは分かんなかった。

意外と使われている。

ところで何のためにリポジトリを作ろうと思ってたんだっけ……。


300 件ほど集めたのでもうちょっと取れたデータ眺めてみたけど、bug-free は xxx-yyy ではなくこれで xxx のようだ。まぁ bug だけで接頭語にするとバグ量産してしまいそうだしね。また computing-machinepalm-treerotary-phone もこの組み合わせしか無いので yyy-zzz ではなく zzz 側っぽい。

すると yyy で octo 以外はあと duper だけなんだけど、これも supersuper-duper がそれぞれ xxx にありそうだ。

というわけで xxx(-octo)?-zzz という生成ルールなのではないか。

いやそれが分かったから何だって話だけど。