Skip to main content

Arquitetura - Visão Geral

O ZshCheck é uma ferramenta de análise estática para scripts zsh, construída com Python 3.12+. Utiliza uma arquitetura modular baseada em:

  • Parser: Tree-sitter com gramática bash (compatível com zsh)
  • AST Analysis: Padrão Visitor para percorrer a árvore sintática
  • Checks: Sistema plugin-based com registro dinâmico
  • Diagnostics: Sistema de diagnósticos tipados com severidade
  • CLI: Interface Click com Rich para formatação

Fluxo de Execução

Estrutura de Módulos

src/zshcheck/
├── __init__.py # Versão (0.2.0)
├── cli.py # Entry point (click-based)
├── parser.py # tree-sitter wrapper
├── analyzer.py # Check orchestration
├── diagnostics.py # Diagnostic model
└── checks/
├── base.py # CheckRegistry
├── variables.py # ZC2001 unused var
├── quoting.py # ZC1001 unquoted var
├── style.py # Style checks
└── commands.py # Command checks

Próximos Passos