GitHub Copilot for CLI があればコマンドなんてもう覚えなくていいのでは?
GitHub Copilot for CLI があればコマンドなんてもう覚えなくていいのでは?
どうも @ekusiadadus です。
なぜか、ウェイティングリストの最初をもらうことが多いです <- 本当に謎
OpenAI の GPT-4 とか 今回の GitHub Copilot とか
その分、レビューして貢献していこうと思います
今回は、GitHub Copilot for CLI に関してです
公式 によると
シェルのコマンドやフラグを覚えるのに苦労したことはないだろうか。シェルにやってほしいことをそのまま言えたらいいのに、と思ったことは?GitHub Copilot のアシスタンスをターミナルに組み込むことで、そんな心配はもういらない。 (意訳)
ということで、CLI で GitHub Copilot を使えるようになりました。
GitHub Copilot for CLI は、GitHub Copilot と同じく、AI がコマンドを生成してくれるものです。
コマンドは、3 つです
使い方
??
git?
gh?
??
このコマンドは、シェルの任意のコマンドを AI に聞くことができます。
公式
- TypeScript のファイルを検索したい
- node_modules の中身は無視したい
- サイズでソートをかけたい
やってみた
- Go 言語をインストールしたい
- Go 言語のバージョンは、1.21 にしたい
- apt-get でなく、wget を使いたい
少し意地悪をして、まだリリースされていないgo1.21
をインストールしたいというコマンドを AI に聞いてみました。
上の gif をみると、go1.16.3 を進めてきたり、apt-get を使わないでという指示を無視するので、まだ完全ではありませんが、言語やアプリをインストールする際に、Google に聞く必要はなくなりそうです。
git?
git?
は、git の起動に特化した検索に使用されます。git?
と比べると、git コマンドを生成する能力が高く、git のコンテキストであることを説明する必要がない場合は、クエリーをより簡潔にすることができます。
とのことです。
おそらく内部的には、??
と同じで事前に git コマンドであるという学習をさせているのではないかと思います。
もしかしたら、学習データを git コマンドに特化させているのかもしれません。(未確認)
公式
- ブランチを削除したい
-
test-branch-1
を削除したい
やってみた
- main ブランチ を deploy ブランチにマージしたい
- main ブランチのいくつかのコミットのみをマージしたい
上のような感じで、日本語でも答えてくれますが前後の文脈を読んでくれているのかは微妙だと思います。
単純にプロンプトをつなげているだけのようにも見えます。
gh?
gh
は、GitHub CLI のコマンドとクエリのインターフェイスのパワーと、AI が複雑なフラグと jq
を生成してくれる便利さを兼ね備えています。
公式
- vercel/next.js のリポジトリの issue を開きたい
- shell 上で開きますか?
やってみた
- GitHub で assign されている PR を全て列挙する
- GitHub の PR ページを開く
WSL からやったので、WSL GUI が出てしまいましたが、良さげ
ただ、ちゃんと聞かないとたまにやばいコマンドを打ち出すことがあるので気を付けてください。
インストールはこちらから
Discussion