← All repos

shellcheck

ShellCheck, a static analysis tool for shell scripts

bashdeveloper-toolshaskelllintershellstatic-analysis
Browse cluster: JavaScript Standard Style Linting
2,234commits
185contributors
3languages

Tech stack & purpose

ShellCheck is a static analysis tool for shell scripts, written in Haskell, that warns users about syntax errors, semantic issues, and subtle pitfalls in bash and sh code. The tool processes scripts through three stages—parsing via Parsec to produce an abstract syntax tree (AST), AST analysis to detect issues, and formatted output in various styles including JSON, GCC-compatible, and terminal-friendly formats. Checks are organized as node checks and tree checks in the Analytics module, with command-specific and shell-dialect-specific variants living in dedicated check modules, and all checks are tested via QuickCheck-style unit tests. The project is maintained by koalaman and distributed under the GPLv3 license, with builds managed through Cabal and Docker.

Community & reference links

Languages

Haskell
96.4%
Shell
2.4%
Dockerfile
1.2%

Contributors (top 30 of 185)