ShellCheck
The ShellCheck module finds shell scripts in your workspace and checks them with ShellCheck, catching quoting, portability, and safety issues in CI and Dagger Cloud. Reach for it when scripts are part of the project and should be treated like code, not as untested glue — deployment scripts, local dev scripts, or CI helpers all benefit.
Official module: dagger/shellcheck
Add it to your workspace
dagger install github.com/dagger/shellcheck
Run the check
dagger check # run every check in the workspace
dagger check shellcheck:check # run ShellCheck on discovered shell scripts
check finds every .sh file in the workspace and runs ShellCheck on each one, so a script must use the .sh extension to be discovered. Use scripts to see exactly which files the module found.
Configure it
List the current settings and their values with dagger settings shellcheck. The exclude setting is list-valued, so set it in dagger.toml under [modules.shellcheck.settings]:
exclude(default: none): a list of script paths to skip. Use it for vendored or generated scripts the repo does not own.
[modules.shellcheck.settings]
exclude = ["vendor/", "third_party/"]
Keep the exclude list narrow so new scripts are checked automatically.
Working with other modules
This module is small and high value. It is a good default check for repos that contain deployment scripts, local dev scripts, or CI helper scripts.