🤖

GitHub CopilotがCLIに対応したのでインストールして使ってみた

2024/03/28に公開

はじめに

GitHub の強力な AI ペアプログラマーである GitHub Copilot が CLI(コマンドラインインターフェース)に対応したので、インストールしてみた。

この記事では、GitHub Copilot in the CLI (以下、GitHub Copilot CLI) をインストールする手順から、使用例、使ってみた感想について記載する。

前提

下記の内容を前提として記載する。

  • GitHub Copilot を subscription している

GitHub CLI のインストール

1. GitHub CLI のインストール

GitHub Copilot CLI をインストールするには、まずは GitHub CLI をインストールする必要がある。
GitHub CLI は、GitHub のリポジトリを管理するためのコマンドラインツールで、GitHub Copilot CLI をインストールするために必要なツールである。

インストール方法は、GitHub CLI リポジトリに記載されているので、それに従ってインストールする。

私の場合は macOS を使用しているので、Homebrew を使用して GitHub CLI をインストールした。

brew install gh

2. GitHub CLI の認証

GitHub CLI を使用するためには、GitHub アカウントで認証する必要がある。
下記のコマンドを実行し、表示される内容に従って認証を行う。

gh auth login

3. GitHub Copilot CLI のインストール

下記のコマンドを実行して、GitHub Copilot CLI をインストールする。

gh extension install github/gh-copilot

以上で GitHub Copilot CLI のインストールが完了である。とても簡単。

GitHub Copilot CLI の使用例

コマンドの内容を説明してもらう

gh copilot explainまたはgh copilot explain "<コマンド>"を実行すると、GitHub Copilot CLI がコマンドの内容を説明してくれる。
<コマンド>を指定しない場合は、コマンドの入力を求められる。

gh copilot explain "git commit"

上記のコマンドを実行すると、以下のような説明が表示される。

Explanation:

  • git commit records changes to the repository.
    • This command opens the default text editor to enter a commit message.
    • The commit message should provide a brief description of the changes made in the commit.

コマンドを生成してもらう

gh copilot suggestまたはgh copilot suggest "<希望するコマンドの内容>"を実行すると、GitHub Copilot CLI がコマンドを生成してくれる。
<希望するコマンドの内容>を指定しない場合は、内容の入力を求められる。
なお、<希望するコマンドの内容>は日本語でも可能である。

gh copilot suggest "pull master branch"

コマンドを実行すると、コマンドの種類が聞かれる。

? What kind of command can I help you with?  [Use arrows to move, type to filter]
> generic shell command
  gh command
  git command
コマンドの種類について
選択肢 内容
generic shell command シェルコマンドを生成する
gh command GitHub CLI コマンドを生成する
git command Git コマンドを生成する

コマンドの種類を選択すると、コマンドが生成される。
また、生成されたコマンドに対して次のアクションを選択することができる。

Suggestion:

  git pull origin master

? Select an option  [Use arrows to move, type to filter]
> Copy command to clipboard
  Explain command
  Execute command
  Revise command
  Rate response
  Exit
アクションについて
選択肢 内容
Copy command to clipboard コマンドをクリップボードにコピーする
Explain command コマンドの説明を表示する
Execute command コマンドを実行する(実際には実行されず、クリップボードにコピーされる)
Revise command 追加の情報を提供してコマンドを修正する
Rate response コマンドの提案に対して評価を行う
Exit 終了する

コマンドのエイリアスを設定する

GitHub Copilot CLI が生成したコマンドを簡単に実行するために、下記のようにエイリアスを設定することができる。

  • gh copilot explainghce
  • gh copilot suggestghcs

エイリアスを設定するには、~/.zshrc~/.bashrcなどの設定ファイルにエイリアスを追記する。
下記のコマンドを実行すると、エイリアスに設定する内容が表示される。

gh copilot alias

表示された内容を設定ファイルに追記することで、エイリアスを設定することができ、ghceghcsと入力するだけでコマンドを実行することができるようになる。

使ってみた感想

gh copilot explain

こちらに関しては、あまり使う機会が少ないかなと感じた。
ターミナル等でコマンドを入力している際は、基本的にそのコマンドの内容は理解しているため、説明を求めることは少ない。

gh copilot suggest

こちらは、わりと使い勝手が良いと感じた。
コマンドがわからない時に、いちいちブラウザに切り替えたりせずに、ターミナル上でコマンドを調べることができるのは便利だと感じた。

全体を通して

まだ Ver.1.0 ということもあり、機能が少ないかなと感じた。
また、英語のみの対応というところも、日本人にとっては少しハードルが高いかもしれない。
これからのアップデートに期待したい。

まとめ

GitHub Copilot CLI をインストールしてみたが、まだまだ機能が少ないと感じた。
コマンドの提案機能は便利だが、めちゃくちゃ快適になるというわけではない。
今後のアップデートに期待したい。

Discussion