O Gissy é uma ferramenta de linha de comando de código aberto projetada para ser um assistente pessoal do Git para desenvolvedores, que simplifica o fluxo de trabalho automatizando tarefas repetitivas do Git. O principal recurso da ferramenta é o uso da tecnologia de inteligência artificial (IA), especificamente por meio da integração de vários provedores de serviços de IA, como OpenAI, Google Gemini e Addis AI, para gerar automaticamente commits do Git significativos e compatíveis com as especificações. processos de verificação de qualidade predefinidos, como a execução de testes e verificações de especificação de código. Após a conclusão das verificações, ele pode automatizar todo o processo de preparação, confirmação e até mesmo envio para um repositório remoto. Criada em JavaScript, a ferramenta é multiplataforma (Windows, macOS, Linux) e pode ser usada imediatamente, sem necessidade de configurações complexas, além de oferecer várias opções de configuração que permitem aos desenvolvedores fazer personalizações detalhadas de acordo com os requisitos do projeto.
Lista de funções
- Monitor inteligente de documentosMonitoramento automático de alterações de arquivos no repositório de código para acionar processos automatizados subsequentes.
- Suporte a provedores de serviços multi-AIIntegração com OpenAI, Google Gemini e Addis AI para selecionar e gerar automaticamente commits do Git de alta qualidade com base na configuração da chave de API do usuário.
- Fluxos de trabalho automatizadosCapacidade de executar testes automaticamente, realizar verificações de especificação de código, preparar arquivos, confirmar alterações e, por fim, enviar o código para um repositório remoto.
- Configuração automática da chave SSHFornece comandos para gerar chaves SSH com um clique e configurá-las automaticamente para a conta GitHub do usuário, simplificando a preparação antes do primeiro envio de código.
- Altamente configurávelO projeto pode ser acessado no diretório raiz por meio do comando
.gissyrc.json
para configuração detalhada, como a especificação da ramificação de destino, a ativação ou não de testes, recursos de push e IA, etc. - pronto para usoGissy funciona bem com um conjunto razoável de configurações padrão sem um arquivo de configuração, o que reduz a barreira para usuários iniciantes.
- Comandos Git aprimoradosfornece alternativas mais informativas e esteticamente agradáveis aos comandos do Git, como
gissy status
,gissy info
responder cantandogissy branch
. - Compatibilidade entre plataformasBaseado no desenvolvimento do Node.js, ele garante que funcione bem nos principais sistemas operacionais, como Windows, macOS e Linux.
Usando a Ajuda
O Gissy é uma poderosa ferramenta de linha de comando projetada para otimizar seu fluxo de trabalho do Git por meio de automação e tecnologia de IA. A seguir, você encontrará detalhes sobre como instalar, configurar e usar a ferramenta.
montagem
O Gissy é baseado em um ambiente Node.js, portanto, certifique-se de ter o Node.js e o npm instalados em seu computador.
1. instalação global (recomendada)
Para facilitar o uso em qualquer projeto, ogissy
recomenda-se uma instalação global. Abra seu terminal ou ferramenta de linha de comando e digite o seguinte comando:
npm install -g gissy
Após a conclusão da instalação, você poderá usá-lo diretamente em qualquer caminhogissy
Pedidos.
2. usar o npx (não é necessário instalar)
Se não quiser instalar o Gissy localmente, você também pode usar onpx
para executá-lo diretamente.npx
é um executor de pacotes que vem com o npm e fará o download temporário e executará o pacote especificado sem deixar nenhum arquivo em seu sistema.
# 例如,使用npx运行status命令
npx gissy status
# 使用npx启动文件监视器
npx gissy watch
Configuração básica
Embora o Gissy funcione imediatamente, ele pode ser adaptado para atender melhor às necessidades de seu projeto com uma configuração simples.
Crie um arquivo no diretório raiz do seu projeto chamado.gissyrc.json
e adicione os seguintes itens de configuração, conforme necessário:
{
"branch": "main",
"runTests": true,
"runLint": true,
"useAI": false,
"autoCommit": false,
"autoPush": false,
"testCommand": "npm test",
"lintCommand": "npm run lint",
"watchIgnore": [
"*.tmp",
"build/**",
"dist/**",
"node_modules/**",
".git/**",
"*.log"
]
}
Descrição do item de configuração:
branch
Especificar a ramificação de destino para os envios de código; o padrão é"main"
.runTests
Se deve executar testes antes de fazer o commit, o padrão étrue
.runLint
Se deve executar verificações de especificação de código antes de fazer o commit; o padrão étrue
.useAI
IA: se deve ser usada para gerar a mensagem de confirmação; o padrão éfalse
.autoCommit
Se deve ignorar a sessão de confirmação de pré-submissão; o padrão éfalse
.autoPush
Se deve ignorar a sessão de confirmação pré-push, o padrão éfalse
.testCommand
Comando: Define o comando específico para executar o teste; o padrão é"npm test"
.lintCommand
Define o comando para executar a verificação de especificação de código; o padrão é"npm run lint"
.watchIgnore
Padrões de arquivo ou diretório: Define os padrões de arquivo ou diretório a serem ignorados pelo monitor de arquivos.
Configuração do provedor de serviços de IA
Um dos recursos mais avançados do Gissy é a geração automática de mensagens de envio por IA. Para ativar esse recurso, você precisa configurar a chave de API do seu provedor de serviços de IA.
- Crie um arquivo no diretório raiz do projeto chamado
.env
do documento. - Dependendo da chave de API que você possui, adicione as variáveis de ambiente apropriadas:
# OpenAI API密钥 (默认优先使用)
OPENAI_API_KEY=your_openai_api_key_here
# Google Gemini API密钥
GEMINI_API_KEY=your_gemini_api_key_here
# Addis AI API密钥 (支持本地语言)
ADDIS_AI_API_KEY=your_addis_ai_api_key_here
Gissy seguiráOpenAI
> Google Gemini
> Addis AI
A ordem de prioridade detecta e usa automaticamente as chaves de API disponíveis. Se nenhuma chave for fornecida, ela volta para o modo de mensagem de envio padrão, sem API.
Uso de funções essenciais
1. verifique o status do depósito (gissy status
)
Esse comando oferece uma maneira mais eficiente e eficaz do que o comando nativogit status
Uma visão mais clara e colorida do status do depósito oferece uma visão geral rápida de quais arquivos foram modificados, preparados ou não rastreados.
gissy status
2. visualizar as informações do depósito (gissy info
)
Exibe informações detalhadas sobre o repositório atual, incluindo o URL do repositório remoto, os commits recentes e as ramificações.
gissy info
3. ramo de gerenciamento (gissy branch
)
Usado para listar ramificações. Ele destacará o ramo atual.
# 列出所有本地分支
gissy branch
# 列出所有远程分支
gissy branch --remote
# 列出所有本地和远程分支
gissy branch --all
4. configuração automática do SSH (gissy ssh
)
A configuração de chaves SSH é um obstáculo comum para usuários iniciantes que enviam códigos para o GitHub. Esse comando verifica automaticamente, gera uma nova chave SSH e orienta você a adicioná-la à sua conta do GitHub para autenticação sem senha do arquivogit push
.
gissy ssh
5) Inicie o Smart File Monitor (gissy watch
)
Esse é o principal recurso de automação do Gissy. Depois de executar esse comando, o Gissy monitora continuamente as alterações de arquivos em seu projeto.
gissy watch
Quando você salva um arquivo, owatch
O fluxo de trabalho será iniciado:
- Detecção de alteraçõesGissy: O Gissy perceberá imediatamente que o arquivo foi alterado.
- Verificações operacionaisSe a configuração
runTests
responder cantandorunLint
por causa detrue
Ele será executado.testCommand
responder cantandolintCommand
. Se a verificação falhar, o processo será interrompido e uma mensagem de erro será enviada ao console. - Geração de informações de envio:: Se a verificação for aprovada e
useAI
por causa detrue
O Gissy usará o provedor de serviços de IA configurado para analisar discrepâncias de código e gerar uma mensagem de confirmação canônica. - Preparação e envioAdicionar automaticamente todos os arquivos alterados à área de preparação e fazer o commit usando as informações geradas.
- Código PushPor fim, envie o commit para a ramificação remota que você especificou na configuração.
Você também pode adicionar um recurso especial aowatch
adiciona parâmetros para substituir a configuração padrão:
# 启动监视器并启用AI,同时输出详细日志
gissy watch --use-ai --verbose
# 临时忽略某些文件
gissy watch --ignore "*.tmp" "dist/**"
cenário do aplicativo
- Inicialização de um novo projeto
Ao iniciar um novo projeto, os desenvolvedores precisam configurar o.gitignore
inicializar o repositório Git e fazer o primeiro commit. O primeiro commit é feito usando o comandogissy ssh
pode configurar rapidamente o acesso ao GitHub.gissy watch
Então, os commits e pushes subsequentes podem ser tratados automaticamente durante o processo de codificação, simplificando bastante o processo de iniciação do projeto. - Desenvolvimento e codificação diários
No desenvolvimento diário, os desenvolvedores geralmente precisam alternar com frequência entre codificação, teste, preparação, confirmação e envio.gissy watch
O comando automatiza essa série de operações para que os desenvolvedores só precisem se concentrar em escrever o código e salvar o arquivo, o que aciona um processo completo de verificação de qualidade e controle de versão, reduzindo assim a troca de contexto e aumentando a eficiência do desenvolvimento. - Revisão de código e trabalho em equipe
O Gissy usa IA para gerar mensagens de confirmação que estão em conformidade com as confirmações convencionais, garantindo um histórico de confirmação claro e consistente ao trabalhar em equipes. Isso torna as revisões de código mais eficientes e os membros da equipe mais propensos a entender a finalidade de cada alteração. - Refatoração ou desenvolvimento de grandes recursos
Ao fazer uma grande refatoração ou desenvolver uma funcionalidade complexa, um grande número de modificações de arquivos está envolvido. Gerenciar esses commits manualmente é tedioso e propenso a erros.gissy watch
Ele pode ser executado continuamente em segundo plano, enviando automaticamente pequenas etapas do processo de desenvolvimento em lotes para formar um registro de confirmação claro e atômico para rastreabilidade e reversão posteriores.
QA
- Com que tecnologia o Gissy foi desenvolvido?
O Gissy foi desenvolvido principalmente em JavaScript (módulos ES) e utiliza várias bibliotecas populares do Node.js, comoCommander.js
para criar interfaces de linha de comando.Chokidar
para monitoramento de arquivos.Chalk
Usado para embelezar a saída do terminal. - Preciso pagar para usar os recursos de IA da Gissy?
O próprio Gissy é gratuito e de código aberto. No entanto, ele depende de provedores de serviços de IA de terceiros, como OpenAI ou Google Gemini, para sua funcionalidade de IA, e o uso desses serviços geralmente exige que você tenha a chave de API correspondente e pode incorrer em uma taxa, dependendo da estratégia de preços do provedor de serviços e do seu uso. - O Gissy ainda funcionará se eu não tiver configurado nenhuma chave de API para a IA?
Pode. O Gissy continuará funcionando mesmo que nenhuma chave de API esteja configurada. Nesse caso, quando uma mensagem de confirmação for necessária, ele recorrerá a uma mensagem de confirmação simples e padronizada com base em uma lista de alterações de arquivos ou solicitará que você a insira manualmente. Todos os recursos não relacionados à API, como monitoramento de arquivos, testes automatizados e push, não serão afetados. - A Gissy está vazando meu código?
Quando o recurso de IA está ativado, o Gissy usa o trecho de código que você modificou (ogit diff
A Gissy não armazena ou envia seu código para o provedor de serviços de IA terceirizado que você configurou (por exemplo, OpenAI) para gerar informações de envio. Você deve cumprir as políticas de segurança da sua empresa ou do seu projeto e estar ciente das políticas de privacidade de dados dos provedores de serviços de IA apropriados.