Skip to main content

GitHub Copilot を使ったプロジェクトの計画

GitHub Copilot を使ってアイデアを issue に変換することで、次のプロジェクトを計画します。

この機能を使用できるユーザーについて

Anyone with a Copilot license can use Copilot to create issues.
Try Copilot for free

メモ

  • この機能は パブリック プレビュー 段階であり、変更される可能性があります。
  • この記事に示されている応答は例です。 Copilot Chat の回答は非決定的であるため、ここに示されているものとは異なる回答が返される可能性があります。

GitHub Issues で Copilot を使ってプロジェクトを管理しましょう。 このチュートリアルでは、Copilot のエージェントによる issue 作成フィーチャーを使って、製品のアイデアをエピック、フィーチャー、タスクに変換します。 エピックは大規模な作業単位を表し、フィーチャーとタスクは作業をより小さな実行可能な部分に分割したものです。 最終的に、構造化されたバックログが完成し、チームと共有できるようになります。

プロジェクトの概要

製品で何を実現するかを定義することが重要です。 ソフトウェア開発ライフサイクル (SDLC) の計画フェーズでは、プロジェクトをエピック、フィーチャー、小さな作業単位に分割することで、アイデアを実行可能なタスクに変換します。 これは、考えを整理し、優先順位を設定し、開発に向けてチームの準備を整えるのに役立ちます。

Copilot を使うと、このプロセスを推進できます。 Copilot を使って構造の提案を受け、詳細を補完してもらうことはできますが、作業の整理方法を自分が把握している場合に最良の結果が得られます。 Copilot は、入力内容に基づいて、計画の改良、拡張、文書化を支援します。

このシナリオでは、ユーザーが次のことができる新しいショッピング Web サイトを計画します。

  • カテゴリ別に製品カタログを閲覧して検索する
  • ショッピング カートに商品を追加する
  • セキュリティで保護されたチェックアウトを完了する

あなたの目標は、Copilot を使って、このビジョンを構造化されたプロジェクト計画にすばやく変換し、サイトの各部分を取り込むエピックと詳細な issue を作成することです。

リポジトリをセットアップする

GitHub Issues を有効にしてリポジトリを設定します。 「新しいリポジトリの作成」を参照してください。

既定では、新しいリポジトリに対して issue が有効になっています。 既存のリポジトリを使いたいのに [Issue] タブが表示されない場合は、次の手順に従って issue を有効にします。

  1. リポジトリから [Settings] を選びます。
  2. [Features] の下にある [Issue] ボックスをオンにします。

プロジェクトの issue を生成する

リポジトリを設定したら、Copilot を使って、プロジェクトのビジョンを一連の実用的な issue に変換できます。

Copilot のイマーシブ ビューから開始する

  1. GitHub の任意のページの右上で、検索バーの横にある ボタンをクリックします。

    イマーシブ モードの Copilot Chat がページ全体に表示されます。

  2. チャット パネルを使って、ショッピング Web サイトのリポジトリをアタッチします。 これにより、Copilot からリポジトリにアクセスし、リポジトリ内で直接 issue を作成できるようになります。

エピックの issue を作成する

  1. プロンプトとして詳細なプロジェクトの説明を入力します。 次に例を示します。
    I’m planning to create a shopping website in React and Node.js. The site should allow users to browse products by category, search for items, add products to a cart, and complete checkout. Please help me plan the project by creating issues and breaking it down into epics, features, and tasks.
  2. プロンプトを送信します。 通常、Copilot により、上部にエピックがあり、主要フィーチャーまたはタスクごとに sub-issue がある issue ツリーが生成されます

イマーシブ モードの Copilot Chat のスクリーンショット。 Copilot チャットには、上部にエピックがあり、その下にいくつかの sub-issue がある issue の一覧が表示されます。

  1. エピックをクリックすると、ワークベンチにその詳細が表示されます。 ワークベンチ内を移動して issue ツリーを確認します。

  2. 通常、各 issue にはタイトルと説明が含まれています。 ラベルや担当者などの追加のメタデータは、ワークベンチで直接編集できます。

  3. Sub-issue を展開したり折りたたんだりして、プロジェクトの特定の部分に注目して確認することができます。

    Issue ツリーではプロジェクト構造を明確に把握できるので、エピック、フィーチャー、タスク間の移動も簡単です。

  4. このドラフトの最初のイテレーションでは、Copilot によって高レベルの issue のみが生成される可能性があります。 これらの issue をより小さなタスクやフィーチャーに分割することで、さらに絞り込むことができます。 "フィーチャー: UI スケルトンとナビゲーション" という issue を改良してみましょう。

    Copilot に次のプロンプトを入力します。
    Can you break down the issue "Feature: UI Skeleton and Navigation" into smaller tasks?

    Copilot により、次のような複数の新しい sub-issue が生成されます。

    • タスク: React プロジェクト構造と初期ファイルを設定する
    • タスク: メイン ルートのプレースホルダー ページを作成する
    • タスク: サイト全体のナビゲーション バー コンポーネントを実装する
    • タスク: ナビゲーションとルーティングを統合する
    • タスク: 基本的なレスポンシブ レイアウトを追加する
  5. エピック内の残りのフィーチャーの issue に対してこのプロセスを繰り返します。

Copilot Chat ワークベンチのスクリーンショット。 ワークベンチには、上部にエピックがあり、その下にいくつかの sub-issue がある issue ツリーが表示されます。

Issue の説明を改善する

Issue ツリーの生成が完了した後に、Copilot の issue の説明が簡潔すぎる、または不明確であることに気づくことがあります。 実用的な内容にするには、必要に応じて各 issue を改善します。

  1. "タスク: メイン ルートのプレースホルダー ページを作成する" などの新しく生成された issue から始めましょう。

    Copilot に次のプロンプトを入力します。
    Can you improve the description for “Task: Create placeholder pages for main routes”? Please provide a detailed technical summary, list the main routes to be included, outline the steps for implementation, and specify what should be delivered for this task.

  2. Copilot により、ドラフトの issue "タスク: メイン ルートのプレースホルダー ページを作成する" の新しいバージョンが生成されます。

    Issue の左上にあるバージョン管理ドロップダウンをクリックし、[Version 2] を選んで新しい変更をレビューします。

  3. Copilot の改訂バージョンをそのまま残すか、さらに編集するか、詳細を再度依頼するかをレビューして決定します。

  4. エピック内の他の issue に対してもこのプロセスを繰り返し、必要に応じて説明を改良し、タスクを分割します。

  5. Issue の説明に満足したら、[Create all] をクリックして、リポジトリに issue を作成します。

Copilot によって、issue ツリーに属していない sub-issue が生成された場合には、issue ツリーからその sub-issue のリンクを解除できます。

  1. ワークベンチの issue ツリーで、sub-issue の横にある をクリックし、[Unlink sub-issue] をクリックします。
  2. Issue は親からリンクが解除され、ツリー内のそのエピックの下に表示されなくなります。

次のステップ

プロジェクトの issue を生成して改善したら、適切なチーム メンバーに割り当て、さらにサポートが必要な場合は Copilot 自体に割り当てることができます。 Issue に Copilot または共同作成者を割り当てる方法、Copilot のエージェント機能を使ってプロジェクトの計画と実装を継続する方法の詳細については、「GitHub Copilot に pull request の作成を依頼する」を参照してください。

参考資料