Skip to main content

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

RecursoDescrição
Suporte nativo a zshEntende sintaxe zsh específica como for (1 2 3), ${array[@]}, here-strings
Correção automáticaAlguns problemas podem ser corrigidos automaticamente com --fix
Múltiplos formatos de saídaTable, JSON, ou formato compacto
Filtros por severidadeIgnore INFO, mostre só ERROR, etc
ExtensívelAdicione seus próprios checks facilmente

Próximos Passos