Files
IronFox/.shellcheckrc
Akash Yadav aeb8d3a5f0 feat: lint shell scripts with shellcheck + shfmt in CI and pre-commit
ironfox-oss/IronFox!162
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.

Reformat all scripts with shfmt (2-space indent, switch-case indent,
space redirects) via .editorconfig, so a bare `shfmt` is consistent
everywhere. 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 is the enforcement gate. SC2086/SC2046 are
disabled for now as tracked follow-up.

MR-author: Akash Yadav <itsaky01@gmail.com>
Co-authored-by: Akash Yadav <contact@itsaky.com>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2026-07-31 02:33:10 +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)