GitHub Copilot CLI Можно прочитать проблему GitHub , предложить план реализации и разработать изменения в кодексе, соответствующие требованиям. Поскольку рабочий процесс разговорный, можно исправлять предположения, указывать на релевантные файлы и совершенствовать подход по мере GitHub Copilot CLI работы.
Пример сценария
Представьте, что вы работаете в команде платформы, которая поддерживает внутренний API Node.js биллинга, обеспечивающий подписки клиентов. Менеджер продукта открывает проблему, запрашивая новую GET /subscriptions/{id}/plan конечную точку, которая возвращает план, привязанный к данной подписке, вместе с модульными тестами и обновлением спецификации OpenAPI. Проблема включает желаемую форму ответа, случаи ошибок при пропущенных или отменённых подписках, а также ссылку на существующую /subscriptions/{id} конечную точку для следования в виде шаблона. Вы можете передать проблему, GitHub Copilot CLI чтобы она подставила маршрут, контроллер и тесты, а затем открыть pull request.
Пример рабочего процесса
GitHub Copilot CLI Можно читать проблему напрямую, GitHubпланировать работу, писать код, запускать тесты и открывать pull request.
Посмотрите вопрос в контекст
Начните с корня репозитория и ссылайтесь на проблему по URL или owner/repo#number.
GitHub Copilot CLI использует GitHub MCP-сервер для получения тела выпуска, комментариев и связанных элементов, а затем сохраняет этот контекст доступным для остальной сессии.
Read octo-org/billing-api#482 and any issues or PRs it links to. Summarize what needs to be implemented before we plan the work.
Read octo-org/billing-api#482 and any issues or PRs it links to.
Summarize what needs to be implemented before we plan the work.
Составьте план реализации с помощью /plan
Переключитесь в режим планирования, чтобы GitHub Copilot CLI продумать изменения перед тем, как трогать какие-либо файлы.
/plan Implement the subscription lookup endpoint described in the issue.
Follow the same conventions as the existing GET /subscriptions/{id} endpoint.
/plan Implement the subscription lookup endpoint described in the issue.
Follow the same conventions as the existing GET /subscriptions/{id} endpoint.
Примечание.
Следующий ответ является примером. Ответы Копилот Чат являются недетерминированными, поэтому вы можете получить другой ответ, показанный здесь.
GitHub Copilot CLI Возвращает план, похожий на следующий:
1. Add a `getPlanForSubscription` method in `src/services/subscriptionService.ts` that reuses the existing billing client, throws `NotFoundError` when the subscription or plan does not exist, and throws `CancelledSubscriptionError` when the subscription has been cancelled.
1. Add a `GET /subscriptions/:id/plan` route in `src/routes/subscriptions.ts`, mirroring the error handling in the sibling `GET /subscriptions/:id` route and mapping `CancelledSubscriptionError` to a `410` response.
1. Update `openapi/subscriptions.yaml` with the new path, response schema, and `404` and `410` responses.
1. Add unit tests in `test/services/subscriptionService.test.ts` and `test/routes/subscriptions.test.ts` covering the success case, missing subscription, cancelled subscription, and missing plan.
1. Run the test suite and update the changelog entry.
Пересмотрите план, возражайте против всего, что кажется неправильным, и попросите GitHub Copilot CLI пересмотреть его, прежде чем одобрять. Например, вы можете ответить и Use the existing error classes in src/errors—NotFoundError for missing subscriptions or plans and CancelledSubscriptionError for cancelled subscriptions rather than introducing new ones попросить сайт обновить затронутые шаги.
Запускайте реализацию и направляйте по мере необходимости
Утвердите план начала программирования. GitHub Copilot CLI Проходит шаги по одному, показывая каждую правку перед применением. Если сообщение идёт не в ту сторону, перебивайте и перенаправляйте.
Например, предположим GitHub Copilot CLI , что вы добавляете новый запрос к базе данных в ваш getPlanForSubscription метод вместо повторного использования клиента для выставления счетов, на котором ваша команда стандартизировалась. Вы можете остановиться и управлять ею:
Don't add a new query here. The billing client in src/clients/billingClient.ts already exposes a getPlan method. Use that and update the service to handle its NotFound response.
Don't add a new query here. The billing client in
src/clients/billingClient.ts already exposes a getPlan method.
Use that and update the service to handle its NotFound response.
GitHub Copilot CLI пересматривает кодекс и продолжает выполнение оставшихся этапов плана.
Создание и запуск модульных тестов
Когда GitHub Copilot CLI достигает этапа тестирования, он создаёт тесты, соответствующие шаблонам из ваших существующих тестовых файлов. Для конечной точки плана можно добавить такие случаи, как:
- Возвращает запись плана для активной подписки.
- Возвращается
404, когда подписка отсутствует. - Возвращается
410после отмены подписки. - Возвращается
404, если в подписке нет плана.
После написания тестов GitHub Copilot CLI запустите их в терминале, чтобы сразу увидеть результаты.
Run the test suite for the new endpoint and fix any failures.
Run the test suite for the new endpoint and fix any failures.
Если тест не проходит, GitHub Copilot CLI считывается результат неудачи, обновляет реализацию и запускается повторно, пока набор тестов не станет зелёным. Проверьте каждое исправление, чтобы убедиться, что оно устраняет коренную причину, а не скрывает её.
Пересмотрите изменения с помощью /diff
Используйте /diff для просмотра обобщённого обзора изменений, внесённых в течение сессии.
/diff
/diff
Если что-то кажется не так, попросите GitHub Copilot CLI доработать его перед тем, как принимать решение. Например, вы можете ответить: Revert the formatting changes in src/routes/subscriptions.ts to only keep the new route handler «Обхват дифференции обратно к задуманным изменениям».
Создать пулл-реквест
После того как функция будет реализована, протестирована и проверена, попросите GitHub Copilot CLI открыть pull request. Он использует GitHub MCP-сервер для отправки ветви и создания pull-запроса
Commit the changes on a new branch, push it, and open a pull request against main. Link it to octo-org/billing-api#482 and summarize the implementation, the tests added, and any follow-up work.
Commit the changes on a new branch, push it, and open a pull request
against main. Link it to octo-org/billing-api#482 and summarize the
implementation, the tests added, and any follow-up work.
GitHub Copilot CLI Сообщайте с URL pull request, чтобы вы могли двигать дальше.