Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-github-copilot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
n8n-nodes-github-copilot
Este é um community node para n8n que integra o GitHub Copilot CLI diretamente nos seus workflows de automação, permitindo gerar código, explicar funcionalidades e obter sugestões de comandos shell usando IA.
🎯 Funcionalidades
- Sugestões de Código: Gere código em múltiplas linguagens de programação
- Explicação de Código: Obtenha explicações detalhadas sobre funcionalidades de código
- Comandos Shell: Receba sugestões de comandos para Git, Docker, NPM e muito mais
- Múltiplas Linguagens: Suporte para JavaScript, TypeScript, Python, Ruby, Java, C#, Go, PHP, C++, Rust, SQL, HTML, CSS
- Integração Nativa: Usa o GitHub Copilot CLI oficial por baixo dos panos
📋 Pré-requisitos
1. Assinatura do GitHub Copilot
Você precisa ter uma assinatura ativa do GitHub Copilot:
- GitHub Copilot Individual: $10/mês
- GitHub Copilot Business: $19/usuário/mês
- GitHub Copilot Enterprise: $39/usuário/mês
2. GitHub CLI Instalado
O node usa o GitHub CLI (gh
) e a extensão Copilot:
Linux/Ubuntu:
# Instalar GitHub CLI
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth login
macOS:
# Usando Homebrew
brew install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth login
Windows:
# Usando Chocolatey
choco install gh
# Ou usando Scoop
scoop install gh
# Instalar extensão Copilot
gh extension install github/gh-copilot
# Autenticar
gh auth login
3. Token de Acesso GitHub
Crie um Personal Access Token no GitHub com as seguintes permissões:
read:user
user:email
- Acesso ao GitHub Copilot (incluído automaticamente se você tem assinatura)
🚀 Instalação
Opção 1: Via npm (Recomendado)
npm install n8n-nodes-github-copilot
Opção 2: Via Interface do n8n
- Vá para Settings > Community Nodes
- Clique em Install a community node
- Digite:
n8n-nodes-github-copilot
- Clique em Install
Opção 3: Instalação Manual
- Clone este repositório
- Execute
npm run build
- Copie a pasta
dist
para o diretório de nodes do n8n
⚙️ Configuração
1. Configurar Credenciais
- No n8n, vá para Settings > Credentials
- Clique em Create New Credential
- Selecione GitHub API
- Insira seu Personal Access Token
- Teste a conexão
2. Adicionar o Node
- Crie um novo workflow
- Procure por GitHub Copilot na lista de nodes
- Arraste para o canvas
- Configure as credenciais criadas anteriormente
🎮 Como Usar
Operações Disponíveis
1. Suggest Code (Sugerir Código)
Gera sugestões de código em linguagens específicas.
Parâmetros:
- Prompt: Descreva o que você quer criar
- Language: Selecione a linguagem de programação
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "create a function to validate email addresses"
Language: "JavaScript"
2. Explain Code (Explicar Código)
Explica funcionalidades de código existente.
Parâmetros:
- Prompt: Cole o código que quer explicar
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "function validateEmail(email) { return /\S+@\S+\.\S+/.test(email); }"
3. Shell Command (Comando Shell)
Sugere comandos shell para tarefas específicas.
Parâmetros:
- Prompt: Descreva a tarefa que quer executar
- Command Type: Tipo de comando (Git, Docker, NPM, etc.)
- Additional Context: Contexto adicional (opcional)
Exemplo:
Prompt: "commit all changes with message"
Command Type: "Git Command"
Dados de Saída
O node retorna um objeto JSON com:
{
"operation": "suggest",
"prompt": "create a REST API endpoint",
"language": "javascript",
"suggestion": "// Código sugerido pelo Copilot",
"rawOutput": "Saída completa do CLI",
"timestamp": "2024-01-15T10:30:00.000Z"
}
🔧 Exemplo de Workflow
Gerador de Código Automático
Webhook (POST) → GitHub Copilot (Suggest) → HTTP Response
Payload do Webhook:
{
"prompt": "create a login function",
"language": "python",
"context": "using Flask framework"
}
Bot de Ajuda para Comandos
Telegram Bot → GitHub Copilot (Shell) → Telegram Bot (Reply)
🐳 Docker
Dockerfile para n8n com GitHub Copilot
FROM n8nio/n8n:latest
USER root
# Instalar GitHub CLI
RUN apt-get update && apt-get install -y curl gnupg
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
RUN apt-get update && apt-get install -y gh
# Instalar o community node
RUN npm install -g n8n-nodes-github-copilot
USER node
# Definir variáveis de ambiente
ENV GITHUB_TOKEN=""
ENV N8N_COMMUNITY_PACKAGES="n8n-nodes-github-copilot"
docker-compose.yml
version: '3.8'
services:
n8n:
build: .
ports:
- "5678:5678"
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
- N8N_COMMUNITY_PACKAGES=n8n-nodes-github-copilot
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
🔒 Segurança
- Dados Sensíveis: Evite enviar informações confidenciais nos prompts
- Rate Limiting: O GitHub Copilot tem limites de uso - monitore seu consumo
- Tokens: Mantenha seus tokens seguros e com permissões mínimas necessárias
- Logs: O node registra atividades para auditoria
🚨 Limitações
- Requer Assinatura: Necessário ter GitHub Copilot ativo
- Dependência CLI: Requer GitHub CLI instalado no sistema
- Rate Limits: Sujeito aos limites de uso do GitHub Copilot
- Contexto: Limitado pelo contexto que o Copilot CLI suporta
🛠️ Desenvolvimento
Construir do Código Fonte
# Clonar repositório
git clone https://github.com/sufficit/n8n-nodes-github-copilot.git
cd n8n-nodes-github-copilot
# Instalar dependências
npm install
# Construir
npm run build
# Lint
npm run lint
# Formatar código
npm run format
Estrutura do Projeto
├── credentials/
│ └── GitHubApi.credentials.ts
├── nodes/
│ └── GitHubCopilot/
│ ├── GitHubCopilot.node.ts
│ └── githubcopilot.svg
├── package.json
├── tsconfig.json
├── gulpfile.js
└── README.md
📄 Licença
MIT License - veja LICENSE para detalhes.
🤝 Contribuindo
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
📞 Suporte
- Email: development@sufficit.com.br
- Issues: GitHub Issues
- Documentação: n8n Community Nodes
🙏 Agradecimentos
- n8n.io - Plataforma de automação incrível
- GitHub Copilot - IA que torna este node possível
- GitHub CLI - Interface de linha de comando essencial
Feito com ❤️ pela equipe Sufficit