🐨

GitHub Copilotの「Jumpstart your project with Copilot」機能を紹介

に公開

久しぶりにリポジトリを作成しようとしたら、Copilotの新しい機能が搭載されていました。
どうやらリポジトリを作成するタイミングで、Copilotがプロンプトをもとにベースプロジェクトを作ってくれるようです。


試してみた

プロンプトは以下を入れてみます。

Create a monorepo scaffold for a real-time chat app.

Frontend: Next.js (App Router) + TypeScript, Tailwind CSS, Radix UI. 
Backend: Python (UV) + FastAPI. Use WebSocket for messaging. 
Add linters/formatters (ESLint+Prettier, Ruff+Black). 

Use latest stable versions. Provide Dockerfiles and a Docker Compose setup (frontend:3000, backend:8000). 

Target deployment: Azure App Service (Container). Include README with setup/run/deploy steps.


リポジトリを作成すると、GitHub Actions上でCopilotがコード生成を開始します。


約22分ほどでタスクが完了しました。


レビュー

プルリクが上がってきたのでレビューしていきます。

1. ローカルで問題なく立ち上がるか。

git clone -b <リモートブランチ名> リポジトリのURL

Dockerを使うので、

docker compose up

うまくいってそう

フロントエンド・バックエンドともに問題なく起動しました


次にWebsocketによるリアルタイム通信機能がうまくできているか試してみたいので、シークレットウィンドウにもう一つアプリを立ち上げます。

うまくできてる!
FastAPIのWebsocket通信を経由して、双方向通信が確立できています。

2. コードレビュー

レビューの前に、Copilotは実装したコードの動作確認としてコマンドによるテスト以外にも、playwright-mcpを使ったE2Eテストも実施してくれます。

これにより、Copilotがカバーするテストケースが大幅に増えて品質がぐっと上がっています。


バックエンドは要望を全て通してくれてました。

  • 最新のPythonの安定版の採用 ... 3.12
  • Linter・Formatterツールの導入 ... blackruff
  • uvを活用 ... できている


フロントエンド側も要望を全て通してくれてました。

  • 最新の安定版の採用 ... Next.js 16
  • Linter・Formatterツールの導入 ... prettiereslint
  • radix-uiの導入 ... できている

感想

  1. 要望通りかつ、人より速い時間でベースプロジェクトを作ってくれる
  2. 品質面も問題なし
  3. 今回は試してないがディレクトリ構成もプロンプトに含めるとそれ通りにファイル分けしてくれそう
  4. しかし500文字という制限があるため、短く簡潔に。
ヘッドウォータース

Discussion