レポジトリ一覧取得ワンライナー
$ USER=rcmdnk
とかした状態で
$ curl -s "https://api.github.com/users/$USER/repos?per_page=100"|grep \"name\"|cut -d'"' -f4
rep-1
rep-2
...
とすれば$USERのレポジトリ一覧を取ってこれます。
GitHubのAPIで/users/:user/reposでレポジトリの情報をJSON形式で取ってこれますが、
デフォルトの状態だと30レポジトリまでが最初のページに表示される設定なので
これを100まで上げています。
100がMaxなので、もし100以上のレポジトリがある場合は
$ for page in $(seq 1 10);do result=$(curl -s "https://api.github.com/users/$USER/repos?page=$page&per_page=100"|grep \"name\"|cut -d'"' -f4);if [ -z "$result" ];then break;fi;echo "$result";done
こんな感じでpageというオプションを使うと2ページ目、3ページ目…とってこれて、ここでは1-10ページ目まで最大で見るので
最大1000個のレポジトリまで見れますが、もっとあるならseq 1 10の10を増やします。
せっかくJSON形式で返してくれるのでそれを有効に使いたい場合、jq コマンドをインストールしてあるなら、
$ curl -s "https://api.github.com/users/$USER/repos?per_page=100"|jq -c '[.[] .name]'
["repo-1","repo-2"...]
みたいな感じで処理することも出来ます。
名前だけ取ってくるならJSON出力にする意味はあまりないかもしれませんが、 他にも色々情報を一緒に集めたい時は便利です。
沢山APIでリクエストをしていると
$ curl -s "https://api.github.com/users/$USER/repos?per_page=100"
{
  "message": "API rate limit exceeded for xxx.xxx.xxx.xxx. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
  "documentation_url": "https://developer.github.com/v3/#rate-limiting"
}
みたいなエラーが出る事もあります。 APIの仕様は1時間で60回に制限されてるので、必要な場合はトークンを取得することでこれを回避する必要があります。
GitHubのSettingsから一番下にあるPersonal Access Tokens
へ行き、右上にあるGenerate new tokenで新しいトークンを作成します。
色々な権限がありますが、この作業だけならuserの項目にあるread:userだけで十分です。
作成するとトークンが表示されるのでそれをコピーします。(一度ページを離れてしまうとトークンが見れなくなるのでその際は再度作り直すしかありません。)
コピーしたトークン(<your_token>)を使って、
$ curl -s curl -s -H "Authorization: token <your_token>" "https://api.github.com/users/$USER/repos?per_page=100"
とすれば 1時間5000回までAPIを使うことが出来ます。
![Github Octocat Figurine オクトキャット フィギュア (5インチ) [並行輸入品]](https://images-na.ssl-images-amazon.com/images/I/413JcIOSK4L._SS200_.jpg)

