![🦑 GitSet.dev [Astro.js - Python - React.js - AI - Node.js]](/images/assets/gitset-preview.png)
🦑 GitSet.dev [Astro.js - Python - React.js - AI - Node.js]
- Ivan Luna
- SAAS , Astro.js , Python , Node.js , Fullstack Development , AI , Fast API , Flask , GitHub API , CLI , Auth , Drizzle ORM
- 10 Jan, 2025
GitSet.dev é um conjunto abrangente de ferramentas baseadas em IA que aprimoram sua experiência de desenvolvimento no GitHub. Ele oferece soluções para gestão simplificada de repositórios, versionamento preciso e documentação clara. Construído com Astro.js/React.js e integrando 8 backends em Python (FastAPI e Flask), combina sugestões baseadas em IA com melhorias solicitadas pelos usuários, refinando continuamente os resultados para fornecer resultados otimizados. Ele oferece utilitários públicos e serviços autenticados para facilitar tarefas de gestão de repositórios, controle de versão, documentação e muito mais.
Principais Funcionalidades:
-
Ferramentas Públicas (Sem Autenticação Necessária):
- Construtor de .gitignore: Gera automaticamente arquivos .gitignore personalizados para linguagens e frameworks específicos. Os usuários selecionam seu stack tecnológico e a ferramenta combina regras relevantes para criar um arquivo otimizado. Elimina a necessidade de buscar templates manualmente, garantindo gestão eficiente de repositórios. Ideal para desenvolvedores que trabalham com múltiplas tecnologias, simplificando a manutenção de bases de código organizadas.
-
Serviços com Autenticação:
-
Gerador AI de README Público: Cria automaticamente arquivos README.md profissionais para repositórios públicos do GitHub. Analisa o conteúdo do repositório e gera documentação completa, incluindo recursos, guias de instalação, instruções de uso e diretrizes de contribuição. Os usuários podem solicitar modificações no README gerado, recebendo versões ajustadas. Também permite comparar versões para garantir alinhamento com as necessidades do projeto.
-
Gerador AI de README Pessoal: Similar ao anterior, mas para repositórios públicos e privados pertencentes ao usuário autenticado. Gera README.md detalhados, cobrindo todas as seções essenciais. Os usuários podem refinar o resultado solicitando ajustes e comparando versões para escolher a mais adequada.
-
Gerador de Mensagens de Commit: Melhora operações no Git usando uma CLI com IA para criar mensagens de commit contextualmente precisas. Analisa alterações no código, sugere mensagens baseadas em versionamento semântico ou estilos personalizados, e adapta-se a padrões existentes para consistência em equipes. Rápido e compatível com múltiplas plataformas.
-
Gerenciador de Tags e Releases: Simplifica a gestão de releases no GitHub com uma interface intuitiva. Oferece sugestões de IA para notas de release que refletem mudanças no código, permitindo ajustes manuais. Reduz esforço manual e garante um processo de versionamento eficiente.
-
Removedor de Comentários: Processa código-fonte para remover comentários desnecessários, melhorando legibilidade e otimizando para produção. Suporta várias linguagens e permite remoção seletiva de comentários inline, de bloco, documentação ou pragmas, mantendo a funcionalidade.
-
Gerenciador de Dependências: Organiza dependências em projetos multilíngue. Identifica dependências externas, organiza imports seguindo boas práticas e gera arquivos de configuração como
requirements.txt
,pom.xml
,Cargo.toml
ouCMakeLists.txt
. Ideal para repositórios com Python, Java, C/C++ ou Rust. -
Avaliador de Repositórios: Analisa repositórios do GitHub para fornecer métricas detalhadas, estimativas de custos e esforço de desenvolvimento. Avalia estrutura do repositório, histórico de commits e atividade de contribuidores, entregando dados úteis para planejamento e alocação de recursos.
-
GitSet CLI (@gitset-dev/cli)
O GitSet CLI é uma ferramenta robusta de linha de comando que permite gerar mensagens de commit com IA diretamente do terminal.
Modo Semântico (Padrão):
Gera mensagens de commit semânticas, baseadas em convenções, automaticamente.
$ gitset suggest
✨ feat: Add user authentication feature with JWT support
Modo de Estilo Personalizado:
Permite gerar mensagens de commit em um formato personalizado, adaptado às preferências do usuário ou da equipe.
$ gitset suggest --mode custom
✨ [Auth] Added JWT user authentication 🔐
Opcional: Configurar profundidade de análise:
Oferece a opção de configurar o número de commits anteriores a serem analisados para sugestões mais personalizadas.
$ gitset suggest --mode custom --commit-count 30
✨ [Auth] Added JWT user authentication 🔐
O CLI adapta-se de forma inteligente ao estilo de commit pessoal ao analisar os commits anteriores, correspondendo às preferências de formatação, uso de emojis e estrutura de mensagens.
Com suas capacidades adaptativas, o GitSet CLI melhora a consistência e a produtividade dos commits, garantindo práticas de controle de versão de alta qualidade em projetos.
Arquitetura Técnica:
Baseado em uma arquitetura modular e orientada a serviços, ele emprega camadas de serviço distintas para gerenciar solicitações de clientes, autenticação, processamento baseado em IA, agregação de conteúdo e melhorias. O design segue as melhores práticas de escalabilidade, desempenho e segurança, garantindo uma clara separação de responsabilidades entre serviços públicos e protegidos.

Visualize este gráfico em um editor interativo aqui.
Camada de Frontend
- Ponto de Entrada: Construído com Astro SSR e React.js, gerencia interações do usuário, renderização de conteúdo e comunicação com outros serviços.
Sistema de Autenticação
-
Gateway de Autenticação:
- Atua como ponto de controle de segurança, roteando solicitações com base no status de autenticação dos usuários.
- Impõe políticas de controle de acesso e garante o manuseio seguro de solicitações ao interagir com o serviço de autenticação.
-
Serviço de Autenticação:
- Utiliza Drizzle ORM para interação com o banco de dados, fornecendo armazenamento persistente para dados de usuários.
- Integra GitHub OAuth para autenticação, gerenciando tokens de sessão e garantindo identificação segura do usuário.
- O gerenciador de sessões é responsável por lidar com o ciclo de vida das sessões do usuário.
Camada de Processamento do CLI
- GitSet CLI: Parte integral do ecossistema GitSet.dev, projetado para aprimorar a automação do fluxo de trabalho do Git com geração de mensagens de commit baseadas em IA. Aproveitando a tecnologia Gemini Pro AI do Google, fornece análises inteligentes de mudanças staged para gerar mensagens de commit contextualmente apropriadas, suportando estilos de formatação semânticos e personalizados.
Camada de Serviços Protegidos
- Serviços Centrais: Inclui geração de README, criação de mensagens de commit, controle de versão, avaliação de repositório e remoção de comentários de código.
Camada de Backend de Processamento de IA
- Serviços de IA Paralelizados: Múltiplas instâncias de IA Gemini lidam com tarefas específicas de forma eficiente, garantindo escalabilidade.
Camada de Serviços Públicos
- Ferramentas Públicas: Inclui integração com a API do GitHub e o construtor de
.gitignore
.
Camada de Gestão de Conteúdo
- Agregador de Conteúdo: Normaliza e entrega conteúdo de várias fontes.
- Gerenciador de Melhorias: Processa feedback de usuários para refinamento de conteúdo.
Processamento de Pagamento e Limitação de Taxas:
Integração Lemon Squeezy e Rastreamento de Solicitações
O sistema de pagamento implementa um mecanismo de controle de acesso baseado em camadas:
-
Processamento de Pagamentos (Camada Lemon Squeezy):
- Lida com gerenciamento de assinaturas e processamento de pagamentos.
- Comunica alterações no plano via webhooks.
- Mantém dados de cobrança e assinatura separados do rastreamento de uso.
-
Rastreamento de Uso (Backends Python):
- Cada backend Python mantém seu próprio contador de solicitações protegidas.
- O rastreamento de solicitações é isolado dos dados de pagamento e autenticação OAuth.
- Os contadores são armazenados de forma segura e independente dos dados de usuários do Drizzle ORM.
- Limites de taxa são impostos por serviço:
- Plano Básico (T1): Limites específicos por recurso.
- Plano Profissional (T2): Acesso ilimitado.
-
Fluxo de Solicitações:
- O backend valida o nível de acesso da solicitação (
básico
/pro
) via token de autenticação. - O contador específico do serviço verifica o saldo restante.
- A solicitação é processada se o saldo permitir.
- O contador é atualizado de forma atômica após o processamento bem-sucedido.
- O backend valida o nível de acesso da solicitação (
-
Considerações de Segurança:
- O rastreamento de uso é isolado do processamento de pagamentos.
- Dados de autenticação (GitHub OAuth/Drizzle ORM) permanecem separados.
- Cada serviço mantém limitação de taxa independente.
Considerações Técnicas
-
Escalabilidade: O sistema garante escalabilidade horizontal com o escalonamento independente das unidades de processamento de IA, bem como o manuseio distribuído das camadas de serviços públicos e protegidos. Cada camada pode ser escalada de acordo com a demanda.
-
Segurança: O gateway de autenticação atua como o principal ponto de controle de segurança, garantindo que apenas solicitações autenticadas possam acessar serviços protegidos. A autenticação baseada em OAuth assegura identificação segura do usuário e gerenciamento de sessões.
-
Desempenho: O uso de processamento paralelo de IA, combinado com um sistema robusto de agregação de conteúdo, garante que o sistema possa processar e entregar conteúdo com eficiência. Os serviços públicos e protegidos são otimizados para baixa latência.
-
Pontos de Integração:
- Integração com GitHub para autenticação e acesso à API.
- Serviços IA Gemini para geração e análise avançada de conteúdo.
- Backend Python (FastAPI e Flask): Lida com
gerenciamento de solicitações, autenticação, limitações de taxa e outros aspectos do backend.
- Lemon Squeezy: Gerenciamento de pagamentos e assinaturas.
Instalação:
Frontend:
git clone https://github.com/imprvhub/gitset.git
cd gitset
npm install
npm run dev
CLI:
npm install -g @gitset-dev/cli
gitset suggest # Gerar mensagens de commit
Conclusão:
GitSet.dev representa um avanço significativo no desenvolvimento de ferramentas para GitHub, combinando o poder da IA com fluxos de trabalho práticos. O projeto demonstra excelência em:
- Design de arquiteturas escaláveis por serviços
- Implementação de autenticação segura com GitHub
- Criação de ferramentas CLI adaptativas
- Integração de IA para análise de código e geração de documentação
- Desenvolvimento de interfaces intuitivas para operações Git complexas
A incorporação do GitSet CLI, com sua capacidade de aprendizado e adaptação a estilos individuais de commit, reflete o compromisso em criar ferramentas que aumentem a produtividade sem erradicar as preferências pessoais de trabalho.