Script has no shebang line
Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
A .sh/.bash file with no '#!' as its very first line depends on whoever runs it to know (and type) the right interpreter; run directly (./script.sh) it either fails or falls back to the caller's default shell, which is not always bash. This is a heuristic: files that are always sourced, never executed directly, are a recognised exception.
Why it matters
A .sh/.bash file with no '#!' shebang as its first line has no way to declare which interpreter it needs. Run directly (./script.sh) it depends on the caller's default shell, which on some systems is dash or sh rather than bash, and bash-only syntax elsewhere in the same script (arrays, [[ ]], process substitution) then fails or behaves differently than the author tested.
How to fix it
Add a shebang as the literal first line, most portably '#!/usr/bin/env bash' (or '#!/usr/bin/env sh' if the script is genuinely POSIX-only). If the file is a library meant only to be sourced by other scripts and never executed on its own, a shebang is optional; document that intent instead (a header comment saying 'source only, do not execute directly' is enough).
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo