Gluegent Blog

Gluegent Blog

会話するだけでアプリが自動で出来上がった話

  • 技術

ターミナルから一歩も出ずに、アプリの設計から実装・レビューまで完結!
GitHub Copilot CLIによる爆速開発の手順と便利コマンドを紹介します。

会話するだけでアプリが自動で出来上がった話

こんにちは。エンジニアの土屋です。

開発環境において「ターミナルでの作業」は欠かせない要素です。通常の環境で開発を行う場合、エディタとターミナル、ブラウザを行き来しながらコードの変更やGit操作、調査などを手動で行う必要がありますが、AIツールであるGitHub Copilot CLIでは、これらが驚くほど簡単に管理・実行できます。 今回は、GitHub Copilot CLIが提供する便利コマンドおよび実際の開発手順について解説します。

(※本記事の内容は2026年4月時点の情報に基づいています)

GitHub Copilot CLIとは

GitHub Copilot CLIは、コマンドラインから直接GitHub Copilotの強力なAI機能を利用できるようにするツールです。普段からターミナルを中心に開発を行っている方にとって、GUIのエディタやブラウザにコンテキストを切り替えることなく、コードの変更、Git操作、ファイル調査などのタスクをシームレスにAIへ依頼できるため、開発体験が大きく向上します。

環境構築(インストールと認証)

まずは、お使いの環境に合わせてCopilot CLIをインストールします。複数のパッケージマネージャーがサポートされています。

  • npm (全プラットフォーム対応): npm install -g @github/copilot
  • WinGet (Windows): winget install GitHub.Copilot
  • Homebrew (macOS/Linux): brew install copilot-cli

インストールが完了したら、ターミナルで copilot login と入力します。すると、ワンタイムコードが表示され、ブラウザが起動します。表示されたコードをブラウザに入力し、GitHubアカウントで認証を完了させてください。

基本的な使い方

Github Copilot CLIには、主に「対話型インターフェース」と「プログラムインターフェース」の2つの使い方があります。

対話型インターフェース

ターミナルで copilot と入力するだけで、対話型セッションが開始されます。ここでチャット形式でCopilotに質問したり、特定のタスクを指示したりできます。たとえば、「H1見出しの背景色を濃い青に変更して」や「このリポジトリに変更をコミットして」といった自然言語の指示で、ファイルの書き換えやコマンドの実行を行ってくれます。

Github Copilot CLIの対話型インターフェース画面
Github Copilot CLIの対話型インターフェース画面

プログラムインターフェース(ワンショット実行)

スクリプトやCI/CDパイプラインなどへの組み込み、または1つのタスクだけを素早く実行したい場合は、プログラムインターフェースが便利です。 -p(または --prompt)オプションを使って copilot -p "コミットメッセージを生成して" のように直接プロンプトを渡すことができます。実行が完了すると自動的に終了するため、自動化ワークフローへの統合に最適です。

Github Copilot CLIのワンショット実行の画面
Github Copilot CLIのワンショット実行の画面

開発を爆速化する!おすすめの便利コマンド

対話型セッション内で使えるショートカットやスラッシュコマンドを活用すると、Copilot CLIの真価を発揮できます。

  • @ファイル名 (コンテキストの追加): プロンプトに特定のファイルを含めたい場合は、@に続けてファイルパスを指定します。「Explain @src/app.js」のように入力することで、そのファイルの内容をコンテキストとしてCopilotに渡すことができます。
  • /init (カスタム命令の初期化): プロジェクトの開始時などに便利なコマンドです。対話型セッション内で /init を実行すると、Copilotがコードベースを分析し、リポジトリ内に .github/copilot-instructions.md というカスタム命令ファイルを生成または更新します。このファイルには、ビルドやテストのコマンド、ハイレベルなアーキテクチャ、コードベース固有の規則などが記述され、以降のCopilotの回答精度を向上させてくれます。
  • /plan (実装計画の作成): 複雑な変更や新機能の実装を行う際、いきなりコードを書かせるのではなく、まずはCopilotとステップバイステップの実装計画を練ることができます。チェックボックス付きの計画が生成され、承認してから実装に進めるため、大規模なタスクでも安心です。
  • /review (コードレビュー): 変更内容に対するコードレビューをエージェントに依頼します。バグやセキュリティの問題、ロジックエラーなどを分析し、エディタに適用可能な改善案を提示してくれます。
  • /fleet (タスクの並列実行): 複数の操作を含む大規模なタスクを、複数のサブエージェントに分割して並列実行させます。テストの作成や複数ファイルのリファクタリングなど、独立したタスクを高速に完了させるのに役立ちます。
  • /research (深い調査): コードベースやWeb、APIなどに関する複雑な質問に対し、アーキテクチャ図やコードスニペットを含む詳細な調査レポート(Markdown形式)を生成します。ローカルのファイルだけでなく、Web検索も駆使して包括的な回答を提供してくれます。

【実践編】FlaskでTODOアプリを作ってみよう

ここでは、紹介した強力なコマンドを組み合わせて、PythonとFlaskを使った「TODOアプリ」をターミナルでゼロから作成する流れをご紹介します!

ステップ1:プロジェクトの初期化(/init)

まずはプロジェクトのディレクトリを作成し、Copilot CLIを立ち上げます。

copilot

対話型セッションが始まったら、まずは /init コマンドでプロジェクトの前提条件をAIに教え込みます。

> /init
Copilot CLIがコマンド実行許可を求めている
Copilot CLIがコマンド実行許可を求めている

Copilot CLIがコマンドの実行許可を求めたり、どのようなプロジェクトを作成するかの確認があるので簡単に答えます。

Copilot CLIとの対話でプロジェクトタイプを決める
Copilot CLIとの対話でプロジェクトタイプを決める

今回はTODOアプリを作成するため、このように答えました。

「Flaskを使って、タスクの追加、一覧表示、削除ができるTODOアプリ」と返答
「Flaskを使って、タスクの追加、一覧表示、削除ができるTODOアプリ」と返答

プロジェクトルートに .github/copilot-instructions.md を自動生成してくれます。これにより、これ以降のコード生成が「Python/Flaskのプロジェクト」として最適化されます。(VS Codeの統合ターミナルを使用している場合、変更差分をエディタ上で確認できるメリットがあります。)

copilot-instructions.mdが新たに作成された時のVS codeの画面
copilot-instructions.mdが新たに作成された時のVS codeの画面

ステップ1.5:copilot-instructionsの日本語対応(@ファイル名)

このまま実装に進んでも良いのですが、そのままだと英語での応答になってしまうので、日本語で応答するように設定します。copilot-instructionsを手動で書き換えても良いですが、今回は「@ファイル名」でcopilot-instructionsを指定して書き換えてみます。

「@.github/copilot-instructions.md 全て日本語に変更してください。Copilotの応答を日本語で行うようなルールも追加してください。」と送る
「@.github/copilot-instructions.md 全て日本語に変更してください。Copilotの応答を日本語で行うようなルールも追加してください。」と送る

無事に日本語に変わりました。(※多くのLLMモデルは英語プロンプトの処理の方が得意な為、気になる方は英語のままの利用をおすすめします。)

copilot-instructionsが日本語に変更されて、新たにルールが追加されていることがわかる差分
copilot-instructionsが日本語に変更されて、新たにルールが追加されていることがわかる差分

ステップ2:実装計画を練る(/plan)

 いきなりコードを書かせるのではなく、/plan を使って開発のステップを整理します。

> /plan Flaskを使って、タスクの追加、一覧表示、削除ができるTODOアプリを作成して。

すると、Copilotから以下のように何点か質問されます。基本的に選択肢とその他の自由記述から選択して回答できます。

Copilotとの対話で決めた事項
Copilotとの対話で決めた事項

計画ができた後は、実装を始めるかの選択をしました。今回は特にこだわりはないので内容を確認し、autopilotモードでビルド開始を選択しました。

実装計画と、選択肢が表示されていて「Accept plan and build on autoopilot」を選択する
実装計画と、選択肢が表示されていて「Accept plan and build on autoopilot」を選択する

ステップ3:実装の確認

autopilotモードなので特に途中で止まることなく自動で実装が進み、数分で実装が完了しました。

実装結果の出力
実装結果の出力

起動方法まで答えてくれましたが、今回はCopilotに起動もお願いしてみました。

> 起動して
Copilot CLIに「起動して」と送った後にサーバーが起動された様子
Copilot CLIに「起動して」と送った後にサーバーが起動された様子

アクセス方法通りにブラウザで開いてみるとTODOアプリ画面が表示されました!特にUIの指示はしてませんでしたが、整ったUIが生成されました。

しかし、試しにタスクを追加して見ようとするとエラーになってしまいました。

Copilot CLIで作成したTODOアプリのエラー画面
Copilot CLIで作成したTODOアプリのエラー画面

ステップ4:実装の修正

ブラウザのコンソールに表示されていたエラーと一緒に修正の計画を依頼しました。

> /plan タスクを追加したら以下のエラーになってしまった。修正してください。
 {
   "error": "(sqlite3.OperationalError) no such table: tasks\n[SQL: SELECT tasks.id AS tasks_id, tasks.title AS tasks_title, tasks.description AS tasks_description, tasks.completed AS tasks_completed,
 tasks.created_at AS tasks_created_at, tasks.updated_at AS tasks_updated_at \nFROM tasks]\n(Background on this error at: https://sqlalche.me/e/20/e3q8)",
   "success": false
 }

問題を特定して実装計画ができたので承認します。

修正計画が表示されて、修正を承認する
修正計画が表示されて、修正を承認する

修正処理とサーバーの再起動がされたので再度ブラウザで確認してみます。

修正処理が完了し、サーバー再起動成功と出力されている
修正処理が完了し、サーバー再起動成功と出力されている

今度は問題なくタスクの追加ができ、完了・削除も行えることが確認できました。

作成したTODOアプリが問題なく動作する
作成したTODOアプリが問題なく動作する

ステップ5:コードレビューの実行(/review)

 実装した(してもらった)分のコードレビューをCopilotにしてもらいます。今回はその後の修正対応も含めて自動でやってもらうために、Shift + Tab キーを押して「autopilotモード」で実行しました。

> /review
レビュー結果と問題点の修正
レビュー結果と問題点の修正

5つ問題があったようですが全て修正まで行われました。

これで、ターミナルから一歩も出ることなく、AIと対話するだけでTODOアプリが完成しました!

知っておくと安心なTips集

  • autopilotモード

タスクの各ステップで都度確認を求められるのではなく、Copilotにタスクの完了まで自律的に動作させたい場合は「autopilotモード」を使用します。対話型セッション中に Shift + Tab を押してモードを切り替えるか、起動時に --autopilot フラグを付けることで有効になります。(実践編のステップ2,3のようにautopilotモードを提案されることもあるようです。)

  • 操作の取り消し(ロールバック)

Copilotにファイルの変更やコマンド実行を任せた結果、期待通りにならなかった場合は、簡単に前の状態に巻き戻すことができます。 入力エリアが空の状態で Esc キーを2回連続で押すか、/undo コマンドを入力すると、現在のセッションで使用可能なスナップショットの履歴が表示されます。戻りたい時点を選択するだけで、手動で行った編集も含めてリポジトリの状態を当時の状態に復元できます。

まとめ

GitHub Copilot CLIを使ってみて一番驚いたのは、ターミナルから一歩も出ることなく、ファイルの編集からエラーの解決までがスムーズにつながる感覚でした。 私自身もまだ使い始めたばかりですが、まずは copilot コマンドで「このファイル何してるんだっけ?」といった小さな質問を投げかけるだけでも、その便利さを実感できると思います。

もちろん、AIが生成したコードには、予期せぬ間違いやセキュリティ上のリスクが隠れている可能性もあります。「最後は必ず自分の目と手で内容をしっかり確かめること」を忘れずに、あくまで強力なパートナーとして付き合っていくのが良さそうです。

Gluegentシリーズの開発現場でも、こうした新しいツールを取り入れて、チーム全体のスピード感を高めています。AIを賢く活用して効率よく開発を進め、その分、より良いサービスを1日でも早く、確かなクオリティでお客様にお届けできるよう、これからも頑張っていきたいと思います!