Skip to main content

Usando ganchos com CLI do GitHub Copilot

Amplie o comportamento do agente GitHub Copilot com comandos de shell personalizados em pontos-chave durante a execução do agente.

Introdução aos hooks do Os ganchos permitem estender e personalizar o comportamento dos agentes GitHub Copilot executando comandos do shell personalizados em pontos-chave durante a execução do agente. Para obter uma visão geral conceitual dos ganchos, incluindo detalhes dos gatilhos disponíveis para os ganchos, consulte Sobre ganchos..

Criando um gancho em um repositório em GitHub

  1. Crie um novo hooks.json arquivo com o nome de sua escolha na .github/hooks/ pasta do repositório. O arquivo de configuração de ganchos deve estar presente no branch padrão do seu repositório para ser usado por agente de codificação Copilot. Para CLI do GitHub Copilot, os ganchos são carregados do diretório de trabalho atual.

  2. No editor de texto, copie e cole o modelo de gancho a seguir. Remova os ganchos que você não planeja usar da hooks matriz.

    JSON
    {
      "version": 1,
      "hooks": {
        "sessionStart": [...],
        "sessionEnd": [...],
        "userPromptSubmitted": [...],
        "preToolUse": [...],
        "postToolUse": [...],
        "errorOccurred": [...]
      }
    }
    
  3. Configure a sintaxe do gancho nas chaves bash ou powershell, ou referencie diretamente os arquivos de script que você criou.

    • Este exemplo executa um script que gera a data de início da sessão para um arquivo de log usando o sessionStart gancho:

      JSON
      "sessionStart": [
        {
          "type": "command",
          "bash": "echo \"Session started: $(date)\" >> logs/session.log",
          "powershell": "Add-Content -Path logs/session.log -Value \"Session started: $(Get-Date)\"",
          "cwd": ".",
          "timeoutSec": 10
        }
      ],
      
    • Este exemplo chama um script externo log-prompt :

      JSON
      "userPromptSubmitted": [
        {
          "type": "command",
          "bash": "./scripts/log-prompt.sh",
          "powershell": "./scripts/log-prompt.ps1",
          "cwd": "scripts",
          "env": {
            "LOG_LEVEL": "INFO"
          }
        }
      ],
      

      Para obter uma referência completa do JSON de entrada das sessões de agente, juntamente com scripts de exemplo, consulte Configuração de ganchos.

  4. Confirme o arquivo no repositório e mescle-o no branch padrão. Agora, os ganchos serão executados durante as sessões do agente.

Resolução de problemas

Leitura adicional

  •         [AUTOTITLE](/copilot/reference/hooks-configuration)
    
  •         [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-coding-agent)
    
  •         [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment)