Files
IronFox/.shellcheckrc
Akash Yadav 7ed96c5a1f feat: lint shell scripts with shellcheck + shfmt in CI and pre-commit
Add a blocking `lint` CI stage (runs first, on a lightweight Alpine
image) plus a core.hooksPath pre-commit hook, with scripts/lint.sh as
the shared runner for CI, the hook, and manual use. Checks are
configured in .shellcheckrc and formatting in .editorconfig.

bootstrap.sh installs shellcheck + shfmt per-OS and enables the
pre-commit hook.

The hook is a convenience (bypassable with --no-verify); the CI
`lint-scripts` job enforces formatting. SC2086/SC2046 are
disabled for now. SC2002 is disabled too, since
shellcheck made it opt-in as of 0.11.0 while older versions (e.g.
Alpine's in CI) still enable it by default.
2026-07-31 00:37:01 +00:00

19 lines
1.1 KiB
Plaintext

# ShellCheck configuration for IronFox
# See: https://github.com/koalaman/shellcheck/wiki
# Follow `source`d files when the path is statically resolvable.
external-sources=true
disable=SC2034 # unused variable, expected in sourced env libraries (used elsewhere)
disable=SC1090 # can't follow a dynamically-computed `source` path
disable=SC1091 # sourced file not present at lint time
disable=SC2155 # declare-and-assign masks the command's return value (style)
disable=SC2086 # unquoted expansion / word splitting, triage before re-enabling
disable=SC2046 # word splitting on $(...)
disable=SC2016 # single quotes prevent expansion (intentional in awk/sed strings)
disable=SC2153 # possible variable misspelling (false positives on sourced vars)
disable=SC2154 # referenced but not assigned (sourced vars)
disable=SC2269 # `x=$x` self-assignment (environment passthrough)
disable=SC2129 # individual >> redirects vs a grouped block (style)
disable=SC2002 # useless use of cat (stylistic; off by default in shellcheck >= 0.11, on in older CI versions)