Introdução
ZshCheck é uma ferramenta de análise estática para scripts zsh, construída em Python 3.12+. Diferente de outras ferramentas que tratam zsh como bash compatível, o ZshCheck entende nativamente a gramática e as particularidades do zsh.
🚀 Comece Agora
Instale em segundos com nosso instalador automático:
curl -fsSL https://raw.githubusercontent.com/rodrigocnascimento/zshellcheck/main/install-zshcheck.sh | bash
E comece a usar imediatamente:
zshcheck seu-script.zsh
O Problema
Se você escreve scripts zsh, provavelmente já percebeu que a maioria das ferramentas de linting são feitas para bash:
- ShellCheck - Não suporta zsh nativamente, retorna SC1103 quando você tenta usar
--shell=zsh - shellharden - Focado apenas em aspas no bash
- checkbashisms - Voltado para POSIX sh
O zsh tem sua própria gramática, suas próprias peculiaridades, e suas próprias formas de causar problemas. E ninguém estava verificando isso.
O que o ZshCheck faz
O ZshCheck utiliza:
- Tree-sitter com gramática bash (compatível com zsh) para parsing preciso
- Padrão Visitor para percorrer a AST e aplicar checks
- Sistema plugin-based onde cada verificação é um módulo independente
- Diagnósticos tipados com severidade, mensagem e opcionalmente correção automática
Recursos Principais
| Recurso | Descrição |
|---|---|
| Suporte nativo a zsh | Entende sintaxe zsh específica como for (1 2 3), ${array[@]}, here-strings |
| Correção automática | Alguns problemas podem ser corrigidos automaticamente com --fix |
| Múltiplos formatos de saída | Table, JSON, ou formato compacto |
| Filtros por severidade | Ignore INFO, mostre só ERROR, etc |
| Extensível | Adicione seus próprios checks facilmente |
Próximos Passos
- Instalação - Instalação detalhada
- Utilização - Exemplos de uso avançados
- Checks Disponíveis - Detalhes de cada verificação
- Arquitetura - Como funciona por dentro