-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.shellcheckrc
More file actions
59 lines (49 loc) · 2.46 KB
/
Copy path.shellcheckrc
File metadata and controls
59 lines (49 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# .shellcheckrc - ShellCheck configuration for server-scripts-cli
# Targets ShellCheck 0.9.0+ (last reviewed: 2026-08-09)
#
# References:
# - https://www.shellcheck.net/wiki/Directive
# - https://www.shellcheck.net/wiki/Optional
# - https://man.archlinux.org/man/extra/shellcheck/shellcheck.1.en
# ============================================================================
# DISABLED CHECKS
# ============================================================================
# SC1090: Can't follow non-constant source
# SC1091: Not following sourced file
# Rationale: Scripts use dynamic library paths (e.g., ${SCRIPT_DIR}/../lib/)
# shellcheck cannot resolve these at static analysis time
# Example: source "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/../lib/logging.sh"
disable=SC1090,SC1091
# ============================================================================
# OPTIONAL CHECKS
# ============================================================================
# NOT using enable=all (Best Practice 2025)
# Reason: enable=all activates subjective/conflicting optional checks
# meant for discovery only, not production
# Instead: Selectively enable specific optional checks if needed
#
# Available optional checks (use shellcheck --list-optional):
# - avoid-nullary-conditions, deprecate-which, quote-safe-variables, etc.
# No optional checks enabled (Production default)
# ============================================================================
# CONFIGURATION
# ============================================================================
# Shell dialect (Raspberry Pi OS Bookworm: bash 5.2.15, Ubuntu 24.04: bash 5.2.21)
shell=bash
# Source path for library resolution
# SCRIPTDIR = directory of currently checked script
source-path=SCRIPTDIR
# Allow following source statements (Best Practice 2025)
# Safely enables shellcheck to open sourced files where possible
external-sources=true
# Minimum severity threshold: NOT configurable here.
#
# ShellCheck has no `severity` directive for .shellcheckrc — it silently
# ignores unknown keys, so a `severity=warning` line here reads as if it were
# in force while doing nothing at all (verified 2026-08-09: an invented key
# behaves identically and produces no diagnostic). The threshold is therefore
# set on the command line in .github/workflows/lint.yml, which is the only
# place that actually takes effect.
#
# To reproduce the CI check locally:
# shellcheck --severity=warning ssc.sh generate-manifest.sh install.sh