Automatizar o teu workflow de GitHub com Python

📅 19 Aug 2026 📖 6 min de leitura 🏷️ Programadores ✍️ Marcus

Rever Pull Requests pendentes, categorizar issues ou preparar notas de lançamento para novos releases são tarefas repetitivas que ocupam tempo valioso no GitHub. A combinação da linguagem Python com a biblioteca PyGithub e a capacidade autónoma do Hermes Agent permite transformar o teu fluxo de trabalho diário numa máquina de produtividade automatizada.

Porquê automatizar o workflow do GitHub com o Hermes Agent?

O GitHub é o centro de gravidade do desenvolvimento de software moderno, mas a gestão manual de repositórios consome horas preciosas de programação. Ao utilizar a biblioteca PyGithub para interagir com a API REST do GitHub e integrar essa lógica numa Skill do Hermes Agent, ganhas um assistente inteligente no teu terminal capaz de executar operações complexas sob comando ou de forma totalmente autónoma.

Com esta abordagem podes:

  • Simplificar a triagem de bugs: Identificar automaticamente issues sem etiquetas e atribuir categorias ou responsáveis.
  • Acelerar code reviews: Resumir as alterações de Pull Requests antes de abrires o navegador.
  • Automatizar CI/CD e Releases: Gerar notas de lançamento estruturadas com base nos commits e PRs aprovados.

Passo a passo: Construir a tua automação do GitHub

Acompanha os passos abaixo para criar um sistema completo de automação integrado com o Hermes Agent.

Passo 1: Instalar o Hermes Agent e a biblioteca PyGithub

Antes de criar os scripts, precisamos de ter o ambiente pronto. Começa por instalar o Hermes Agent no teu sistema operativo e a biblioteca pygithub no teu ambiente Python.

# Instalação do Hermes Agent (macOS / Linux)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Instalação da biblioteca PyGithub via pip
pip install pygithub

O comando acima descarrega e configura o executável principal do Hermes Agent no teu sistema e instala a biblioteca oficial do Python para interagir com a API do GitHub.

Passo 2: Criar o script Python para gestão do repositório

Cria um ficheiro chamado github_automator.py. Este script liga-se ao GitHub através de um Personal Access Token (PAT) guardado na variável de ambiente GITHUB_TOKEN, analisa os PRs abertos e adiciona etiquetas automáticas às issues que precisem de triagem.

import os
from github import Github

def processar_repositorio(repo_name):
    # Obter o token de acesso das variáveis de ambiente
    token = os.environ.get("GITHUB_TOKEN")
    if not token:
        raise ValueError("A variável de ambiente GITHUB_TOKEN não está definida.")

    # Inicializar o cliente do GitHub
    g = Github(token)
    repo = g.get_repo(repo_name)

    print(f"--- Repositório: {repo.full_name} ---")

    # 1. Listar Pull Requests pendentes
    prs = repo.get_pulls(state='open')
    print(f"\nPull Requests Abertos ({prs.totalCount}):")
    for pr in prs:
        print(f"- [#{pr.number}] {pr.title} (Autor: {pr.user.login})")

    # 2. Triagem automática de Issues sem etiqueta
    issues = repo.get_issues(state='open')
    print(f"\nTriagem de Issues:")
    for issue in issues:
        # Garantir que é um Issue e não um Pull Request
        if not issue.pull_request and issue.labels.totalCount == 0:
            print(f"- Issue #{issue.number} sem etiqueta. A adicionar 'necessita-triagem'...")
            issue.add_to_labels("necessita-triagem")

if __name__ == "__main__":
    # Substitui pelo teu utilizador e repositório
    target_repo = os.environ.get("TARGET_REPO", "utilizador/meu-projeto")
    processar_repositorio(target_repo)

Este código acede à API do GitHub com autenticação segura, percorre a lista de PRs ativos para dar visibilidade ao programador e insere a etiqueta necessita-triagem em qualquer issue nova que ainda não possua classificações.

Passo 3: Transformar o script numa Skill do Hermes Agent

Para que o Hermes Agent saiba como e quando usar este script, devemos registá-lo como uma Skill. As skills do Hermes utilizam a estrutura canónica SKILL.md. Cria o ficheiro ~/.hermes/skills/github-workflow/SKILL.md com o seguinte conteúdo:

---
name: github-workflow
description: Automatiza a triagem de issues e a listagem de Pull Requests em repositórios do GitHub usando PyGithub.
author: MarcTechJA
version: "1.0"
platforms:
  - macos
  - linux
  - windows
metadata:
  hermes:
    tags: [github, python, automation, ci-cd]
---

# github-workflow
Esta skill permite ao Hermes Agent analisar o estado atual de um repositório GitHub, listar PRs pendentes e etiquetar automaticamente novas issues.

## When to Use
Utiliza esta skill quando o utilizador pedir para analisar o estado do repositório GitHub, verificar Pull Requests abertos ou fazer a triagem automática de issues.

## Instruções
1. Garante que a variável de ambiente `GITHUB_TOKEN` está disponível no ambiente de execução.
2. Executa o script Python `github_automator.py` para recolher os dados e aplicar as etiquetas necessárias.
3. Apresenta ao utilizador um resumo claro dos Pull Requests abertos e das issues que foram etiquetadas.

## Critérios de conclusão
- O script Python executou sem erros.
- As issues sem etiqueta foram atualizadas no GitHub.
- O relatório com os PRs abertos foi exibido no terminal.

O ficheiro de configuração define os metadados da skill em YAML e fornece instruções em Markdown para o Hermes Agent saber exatamente que passos executar ao lidar com automações do GitHub.

Passo 4: Executar a Skill com o Hermes Agent

Depois de teres o ficheiro SKILL.md no diretório de skills do Hermes, podes listar as tuas skills e executar a automação diretamente no terminal através do comando de interatividade com skills do Hermes:

# Verificar se a skill foi reconhecida pelo Hermes Agent
hermes skills list

# Executar a skill interativamente através do chat do Hermes
export GITHUB_TOKEN="o_teu_token_aqui"
export TARGET_REPO="teu-utilizador/teu-repositorio"
hermes chat -s github-workflow

Ao correr este comando, o Hermes Agent carrega o contexto da skill github-workflow, executa a rotina em Python e devolve uma síntese perfeita no teu ecrã com todas as ações efetuadas no GitHub.

Casos de uso avançados: CI/CD e Release Notes inteligentes

Depois de dominares a triagem básica, podes expandir esta integração para casos mais complexos de integração e entrega contínuas (CI/CD):

  • Geração automática de Release Notes: Configura o script para ler todos os PRs associados à última milestone e gerar um ficheiro CHANGELOG.md formatado.
  • Disparo de Workflows do GitHub Actions: Utiliza o PyGithub para disparar eventos do tipo repository_dispatch, ativando pipelines de testes no GitHub Actions a partir do teu terminal com o Hermes Agent.
  • Alertas de Segurança: Analisa dependências e pull requests de bots de segurança (como o Dependabot) para resumir vulnerabilidades críticas da tua equipa.

Conclusão

Automatizar o teu workflow de GitHub com Python e o Hermes Agent transforma tarefas administrativas longas em rotinas de poucos segundos. Com a biblioteca PyGithub a tratar da comunicação com a API e o Hermes Agent a orquestrar as execuções, geres o teu código com muito mais eficiência e menos esforço manual.

Quer pretendas aprofundar a criação de skills avançadas em Python, configurar equipas de agentes autónomos ou integrar o Hermes Agent em pipelines de produção e CI/CD, existe um guia completo à tua espera.


Queres dominar o Hermes Agent e a Automação com IA?

Adquire o ebook "Guia Completo do Hermes Agent" de MarcTechJA. Um guia prático com 10 partes e 42 capítulos detalhados sobre instalação, criação de skills em Python/YAML, integração de modelos de IA e deploy em produção.

👉 Garante já o teu exemplar do Guia Completo do Hermes Agent aqui

Comentários