# 使用 GitHub Copilot 规划项目

通过用于 GitHub Copilot 将想法转化为问题来规划下一个项目。

> \[!NOTE]
>
> * 此功能目前处于公开预览，可能会发生更改。
> * 本文中显示的响应是示例。
>   副驾驶聊天 响应是不确定的，因此你可能会从此处所示的响应中获取不同的响应。

使用GitHub Issues和Copilot管理您的项目。 在本教程中，你将使用 Copilot 的智能问题创建功能，把产品创意转化为故事、功能和任务。 史诗代表大型的工作内容，而功能和任务则将这些工作拆解为更小的、可执行的部分。 学完本教程后，你将拥有一个结构化的积压工作列表，并可与团队共享。

## Project概述

定义你希望产品实现的功能是非常重要的。 在软件开发生命周期（SDLC）的规划阶段，通过将项目分解为大型任务、功能和较小的工作片段，将想法转化为可执行的任务。 这有助于你梳理思路、设定优先级，并为团队开展开发工作做好准备。

使用 Copilot时，将推动此过程。
Copilot 可以建议一个结构并填写详细信息，但当你对如何组织工作有一个明确的想法时，才能取得最好的结果。
Copilot 与输入配合使用，帮助你优化、扩展和记录计划。

在此场景中，你将规划一个新的购物网站，该网站将允许用户：

* 浏览包含分类和搜索功能的产品目录
* 将商品添加到购物车
* 完成安全结账

你的目标是使用 Copilot 快速将此愿景转化为结构化项目计划，创建涵盖站点各部分的史诗和详细问题。

## 设置存储库

设置一个启用了 GitHub Issues 的存储库。 请参阅“[创建新仓库](/zh/repositories/creating-and-managing-repositories/creating-a-new-repository)”。

新仓库默认会启用议题。 如果你想使用现有仓库，但看不到“Issues”标签，请按照以下步骤启用议题\*\*\*\*：

1. 在存储库中，选择 **Settings**。
2. 在“功能”下，选中“问题”框\*\*\*\*。

## 生成项目问题

设置存储库后，可以使用 Copilot 将项目愿景转变为一组可操作的事项。

### 在 Copilot 中启动 GitHub

1. 导航到 [https://github.com/copilot](https://github.com/copilot?ref_product=copilot\&ref_type=engagement\&ref_style=text) 。
2. 请将购物网站的代码库上传到聊天面板。 这允许 Copilot 访问存储库并直接在其中创建问题。

### 创建史诗议题

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 将生成问题树，通常顶部为史诗，每个主要功能或任务对应子问题

![Copilot 对话助手的屏幕截图。 Copilot 对话助手会显示一个议题列表，列表顶部为史诗，其下方包含多个子议题。](/assets/images/help/copilot/copilot-creates-sub-issues.png)

## 浏览议题树

1. 单击史诗，在工作台查看其详细信息。 在工作台中浏览以探索议题树。

2. 每个议题通常都包括标题和描述。 其他元数据（如标签或被分派人）可直接在工作台中进行编辑。

3. 可以展开或折叠子问题，以便专注于项目的特定部分。

   议题树为你的项目结构提供了清晰的概览，让你能轻松在史诗、功能和任务之间导航。

4. 在此草稿的第一次迭代中， Copilot 可能只生成高级别问题。 你可以通过将这些议题拆解为更小的任务或功能，进一步优化它们。 让我们完善议题“特性：UI 框架和导航”。

   向 Copilot 发送提示：`Can you break down the issue "Feature: UI Skeleton and Navigation" into smaller tasks?`

Copilot 将生成多个新的子问题，例如：
\* 任务：设置 React project结构和初始文件
\* 任务：为主要路由创建占位页面
\* 任务：实现全站导航栏组件
\* 任务：将导航与路由集成
\* 任务：添加基本响应式布局

1. 针对史诗中的剩余功能议题重复此过程。

![Copilot 对话助手工作台的屏幕截图。 工作台会展示一棵议题树，树的顶部为一个史诗，下方则包含多个子议题。](/assets/images/help/copilot/copilot-creates-sub-issues-workbench.png)

### 改进议题说明

生成问题树后，你可能会注意到 Copilot问题说明可能简短或不清楚。 要让这些议题具备可操作性，需根据需要优化每个议题。

1. 从新生成的议题开始，例如“任务：为主要路由创建占位页面”。

   向 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. Please add any relevant code snippets.`

2. Copilot 将生成草稿问题的新版本“任务：为主路由创建占位页。”

   在议题左上角，单击版本控制下拉菜单并选择“Version 2”以查看最新更改\*\*\*\*。

3. 查看并决定是否保留 Copilot修订的版本、进一步编辑还是再次提示获取更多详细信息。
   Copilot 可以将代码片段添加到草稿中，以提高清晰度，并为这些问题提供即时上下文。

4. 针对该史诗下的其他议题，重复此过程，并根据需要优化描述、拆解任务。

5. 对问题描述满意后，点击**Create all**按钮来在你的仓库中创建这些问题。

## 断开链接问题

如果 Copilot 生成不属于问题树的子问题，则可以将其从问题树取消链接。

1. 在工作台问题树中，单击子问题问题旁的 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>，然后单击“取消子问题关联”\*\*\*\*。
2. 该议题将与其父议题取消链接，并且不再显示在议题树中该史诗的下方。

## 后续步骤

现在，你已经生成并优化了项目问题，你可以将它们分配给正确的团队成员，甚至分配给 Copilot 自己，以获取进一步的帮助。 若要详细了解如何将 Copilot 或其他参与者分配到问题中，以及如何利用 Copilot 的自主功能继续规划和实施项目，请参阅 [启动GitHub Copilot会话](/zh/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions)。

## 其他阅读材料

* [使用GitHub Copilot创建或更新问题](/zh/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/use-copilot-to-create-or-update-issues)
* [在组织中试点GitHub Copilot云代理](/zh/copilot/tutorials/cloud-agent/pilot-cloud-agent)
* [使用GitHub Copilot处理任务的最佳做法](/zh/copilot/tutorials/cloud-agent/get-the-best-results)
* [使用 GitHub Copilot Spaces 加快开发工作](/zh/copilot/tutorials/speed-up-development-work)