Um linter extensível para ECMAScript/JavaScript que identifica padrões problemáticos no código e corrige muitos deles automaticamente.
sds/overcommit
Gerenciador configurável de Git hooks escrito em Ruby, que executa linters, testes e scripts personalizados em commits, pushes e outros eventos do Git.
- Estrelas
- 4,005
- Forks
- 291
- Issues abertas
- 34
- Último commit
- ontem
O que é?
O Overcommit gerencia os Git hooks de um repositório para executar automaticamente verificações como linters, executores de testes e formatadores em etapas como pre-commit, commit-msg, pre-push e post-checkout. O comportamento dos hooks é definido em um arquivo .overcommit.yml específico do repositório, que permite ativar ou desativar hooks individuais, controlar a quais arquivos eles se aplicam e ajustar opções como execução paralela e tratamento de falhas.
O projeto inclui um amplo conjunto de hooks para linguagens e ferramentas como Ruby (RuboCop, RSpec), JavaScript (ESLint, Stylelint), Python (Pylint, Flake8), Go, PHP, Java e Shell, além de verificações genéricas de espaços em branco no fim das linhas, marcadores de conflito de merge e tamanho dos arquivos. As equipes também podem criar hooks específicos para o repositório em Ruby ou registrar um script de shell existente como hook sem escrever código Ruby.
A configuração pode ser compartilhada pelo controle de versão, enquanto o arquivo .local-overcommit.yml permite personalizações individuais. O Overcommit também registra uma assinatura do código dos hooks e da configuração, para sinalizar alterações feitas por outras pessoas antes que os hooks sejam executados novamente.
Recursos principais
- 01Executa hooks em vários eventos do Git, incluindo pre-commit, commit-msg, pre-push e post-checkout.
- 02Inclui um amplo conjunto de linters e executores de testes para linguagens comuns.
- 03Permite adicionar scripts de shell existentes como hooks sem escrever código Ruby.
- 04Oferece filtros de arquivos por hook, exclusões de branches e execução paralela.
- 05Disponibiliza o modo --run para verificar um repositório inteiro no CI.
Casos de uso
- Executar RuboCop ou ESLint automaticamente antes de cada commit em um repositório da equipe.
- Bloquear pushes para branches protegidas ou commits com marcadores de conflito de merge.
- Executar no CI o mesmo conjunto de verificações de lint que os desenvolvedores executam localmente antes de commitar.
Início rápido
- 1
Instale a gem overcommit pelo RubyGems
gem install overcommit - 2
Acesse seu repositório e inicialize o Git, se necessário
git init - 3
Instale os hooks do Overcommit no repositório
overcommit --install
Antes de usar
- Alguns hooks dependem de ferramentas de terceiros (por exemplo, scss_lint), que você precisa instalar por conta própria.
- Requer um ambiente Ruby: Ruby 2.6 ou superior em *nix; o suporte ao Windows é oferecido apenas na medida do possível.
Em coleções
Tópicos
Perguntas frequentes
- O que é overcommit?
- Gerenciador configurável de Git hooks escrito em Ruby, que executa linters, testes e scripts personalizados em commits, pushes e outros eventos do Git. O Overcommit gerencia os Git hooks de um repositório para executar automaticamente verificações como linters, executores de testes e formatadores em etapas como pre-commit, commit-msg, pre-push e post-checkout. O comportamento dos hooks é definido em um arquivo .overcommit.yml específico do repositório, que permite ativar ou desativar hooks individuais, controlar a quais arquivos eles se aplicam e ajustar opções como execução paralela e tratamento de falhas.
- overcommit é gratuito? Qual é a licença?
- overcommit é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- overcommit ainda é mantido?
- Manutenção ativa. O último commit de overcommit foi em 6 de nov. de 2026.
- Para que posso usar overcommit?
- Executar RuboCop ou ESLint automaticamente antes de cada commit em um repositório da equipe. Bloquear pushes para branches protegidas ou commits com marcadores de conflito de merge. Executar no CI o mesmo conjunto de verificações de lint que os desenvolvedores executam localmente antes de commitar.
- Como instalar overcommit?
- Instale a gem overcommit pelo RubyGems: gem install overcommit Acesse seu repositório e inicialize o Git, se necessário: git init Instale os hooks do Overcommit no repositório: overcommit --install
- Onde consigo overcommit?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sds/overcommit
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um linter para Rust com mais de 800 regras que detecta erros comuns e sugere código mais idiomático, executado como subcomando do cargo.
Analisador estático de código Python que detecta erros, aplica padrões de codificação e aponta problemas no código sem executá-lo.
Um linter rápido e configurável para Go, que substitui o golint e oferece regras e formatadores de saída personalizados.
Um linter e formatador para Python que detecta e remove instruções de import não utilizadas do código.
Um framework para gerenciar e executar hooks de pre-commit em várias linguagens, que verificam o código antes de cada commit no Git.