Skip to main content

흐름을 중단하지 않고 문제 제기

작업 중간에 눈에 띄는 것이 있으면 코파일럿 CLI를 사용해 코드 컨텍스트, 연결된 PR, 레이블을 포함한 GitHub 이슈를 등록한 다음, 하던 작업으로 돌아가세요.

코파일럿 CLI 터미널에서 GitHub 문제를 열 수 있습니다. 브라우저로 전환해 이슈를 직접 작성하는 대신, 원하는 내용을 설명하면 Copilot이 리포지토리와 GitHub에서 관련 컨텍스트를 수집한 다음 이슈를 생성하므로 계속 작업할 수 있습니다.

예제 시나리오 1: CI 오류로 인한 문제 제출

CI가 실패하거나 프로덕션 로그에서 오류를 발견했습니다. 스택 추적을 따라 커밋까지 수동으로 거슬러 올라가는 대신, 코파일럿 CLI에게 조사를 진행하고 이슈를 등록해 달라고 요청합니다.

예제 프롬프트

Text
The CI workflow on main has been failing since yesterday. Look at the failing 
run, figure out what's breaking and which commit likely introduced it, then 
create an issue with the stack trace, a link to the failing run, and the 
suspected PR that caused it. Label it "bug" and "regression".

응답 예제

참고

다음 응답이 예제입니다. 공동 파일럿 채팅 응답은 비결정적이므로 여기에 표시된 응답과 다른 응답을 얻을 수 있습니다.

코파일럿 CLI GitHub MCP 도구를 사용하여 다음을 수행합니다.

  1. 실패한 워크플로 실행을 가져오 고 로그에서 스택 추적을 추출합니다.

  2. 책임 있는 코드를 식별 합니다(예: .) src/services/payment.ts:94.

  3. 해당 파일을 터치하는 최근 커밋을 검색하고 변경 내용을 도입한 PR을 찾습니다.

  4. 이슈를 생성합니다: 모든 관련 정보를 수집하여

    Created issue #421: Regression: PaymentService throws TypeError after #398
    
    What's failing:
    The `build` job on main has failed since commit `a3f7c21`. Stack trace:
    
    TypeError: Cannot read properties of undefined (reading 'amount') at processRefund (src/services/payment.ts:94:22)
    
    Introduced by: PR #398 (merged 2 days ago) refactored the payment types but missed updating `processRefund` to handle the new nullable `transaction` field.
    
    Failing run: Actions run #2847
    
    Suggested fix: Add a null check for `transaction` before accessing `transaction.amount` on line 94.
    
    Labels: `bug`, `regression`
    

예제 시나리오 2: TODO를 추적된 작업으로 전환

시간이 지남에 따라 TODO 및 FIXME 주석은 표시 유형 없이 코드베이스에 누적됩니다. 이러한 주석을 검색하고, 우선 순위를 평가하고, 작업을 추적할 수 있도록 문제를 만들도록 요청할 코파일럿 CLI 수 있습니다.

예제 프롬프트

Text
Scan this repo for TODO and FIXME comments. Group them by area, pick the 5 
most important ones based on the surrounding code context, and create an issue 
for each. Include the code snippet, file location, and suggest a label.

응답 예제

참고

다음 응답이 예제입니다. 공동 파일럿 채팅 응답은 비결정적이므로 여기에 표시된 응답과 다른 응답을 얻을 수 있습니다.

코파일럿 CLI 는 코드베이스를 검색하고, 각 주석에 대한 컨텍스트를 읽고, 심각도에 따라 우선 순위를 지정합니다.

Found 23 TODO/FIXME comments across the repo. Here are the 5 I'd prioritize:

Created issue #422: FIXME: SQL injection risk in search query builder
- src/db/search.ts:34 — user input concatenated directly into query string
- Label: security, priority:high

Created issue #423: TODO: Rate limiter bypassed for internal routes
- src/middleware/rate_limit.ts:12 — comment says "temporary bypass, remove before launch"
- Label: security, technical-debt

Created issue #424: FIXME: Memory leak in WebSocket handler
- src/ws/handler.ts:87 — listeners are added on each connection but never cleaned up
- Label: bug, performance

Created issue #425: TODO: Retry logic missing for payment webhook
- src/webhooks/payment.ts:56 — failures silently dropped, no retry queue
- Label: reliability, priority:medium

Created issue #426: TODO: Migrate to new auth token format
- src/auth/token.ts:3 — comment references a closing down API version
- Label: technical-debt

추가 읽기