# ShellCheck Configuration for Infrastructure Provisioning Project # Focuses on functional issues, disables non-critical style warnings # This configuration prioritizes bug detection over style enforcement # Enable all optional checks initially enable=all # Disable non-functional and unfixable warnings # Style issues that don't affect functionality: # Info-level warnings that are numerous and hard to fix automatically: # Monorepo source following issues that may not be resolvable: disable=SC1020,SC1072,SC1073,SC1090,SC1091,SC2004,SC2016,SC2024,SC2034,SC2035,SC2038,SC2046,SC2064,SC2076,SC2086,SC2129,SC2153,SC2154,SC2155,SC2196,SC2231,SC2238,SC2248,SC2249,SC2250,SC2292,SC2310,SC2312,SC2315,SC2316,SC2317,SC2318,SC2319,SC2329 # SC1090/SC1091 - Can't follow source files (common in monorepos with dynamic includes) # SC2024 - Invalid operators (14 instances, requires investigation) # SC2046 - Quote to avoid word splitting (9 instances, requires refactoring) # SC2086 - Double quote to prevent globbing (info-level, 289 instances, risky to auto-fix) # SC2129 - Non-numeric array index (4 instances, style issue) # SC2155 - Declare and assign separately (51 instances, requires manual refactoring) # SC2231 - Quote expansions in globs (info-level, 2 instances, similar to SC2086) # SC2238 - Redirects in loops (4 instances, edge case) # SC2250 - Prefer putting braces around variable references (style only) # SC2292 - Prefer to avoid negated test conditions (style preference) # SC2310 - Functions in if conditions (info-level, 54 instances, requires refactoring) # SC2312 - Comment appears to reference variable (false positives in comments) # SC2248 - Prefer double quoting (style, handled by SC2086) # SC2034 - Unused variables (development markers) # SC2317 - Unreachable code (may be intentional) # SC2249 - Prefer [[ ]] over [ ] (style preference in POSIX scripts) # SC2315-2319 - Reserved names and other style issues # Keep enabled - these are critical functional issues that matter: # SC2154 - Variable referenced but not assigned (115 instances) # SC2155 - Declare and assign separately to avoid masking return values # SC2046 - Quote to avoid word splitting # SC2162 - read without -r may cause backslashes to be lost (FIXED - 9 instances) # SC2164 - cd should have || exit (FIXED - 12 instances) # SC2231 - Quote expansions to avoid globbing # SC2024 - Operator used without proper escaping # Source path for sourced files source-path=SCRIPTDIR # Severity levels: error, warning, info, style severity=warning # Format: gcc, json, json1, quiet format=gcc # Shell dialect (bash, sh, ksh, etc) shell=bash