Skip to main content

Problemas de arquivamento sem interromper o fluxo

Quando algo chamar sua atenção no meio da tarefa, use CLI do Copilot para registrar um problema GitHub com contexto de código, PRs vinculados e rótulos e, em seguida, volte ao que você estava fazendo.

CLI do Copilot pode abrir issues no GitHub para você pelo terminal. Em vez de alternar para um navegador e preencher um problema manualmente, você descreve o que deseja e Copilot coleta o contexto de seu repositório e GitHub e, em seguida, cria o problema para que você possa continuar trabalhando.

Cenário de exemplo 1: Registrar uma issue a partir de uma falha de CI

Sua CI está falhando ou você detectou erros nos logs de produção. Em vez de seguir manualmente o stack trace até um commit, você pede a CLI do Copilot que investigue e registre o problema para você.

Prompt de exemplo

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".

Resposta de exemplo

Observação

A resposta a seguir é um exemplo. Respostas do Bate-papo do Copilot são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.

CLI do Copilot usa suas ferramentas MCP do GitHub para:

  1. Recupere a execução do fluxo de trabalho com falha e extraia o rastreamento da pilha dos logs.

  2. Identificar o código responsável , por exemplo, src/services/payment.ts:94.

  3. Pesquise commits recentes que afetaram esse arquivo e encontre o PR que introduziu a alteração.

  4. Crie um problema com todo o contexto montado:

    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`
    

Cenário de exemplo 2: Transformando TODOs em trabalho acompanhado

Com o tempo, os comentários TODO e FIXME se acumulam em uma base de código sem visibilidade. Você pode solicitar CLI do Copilot a verificação desses comentários, avaliar a prioridade e criar problemas para que o trabalho seja acompanhado.

Prompt de exemplo

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.

Resposta de exemplo

Observação

A resposta a seguir é um exemplo. Respostas do Bate-papo do Copilot são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.

CLI do Copilot pesquisa a base de código, lê o contexto em torno de cada comentário e prioriza com base na gravidade:

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

Leitura adicional