freenas-proxmox/.perlcriticrc

35 lines
1.4 KiB
Plaintext

# Perl::Critic configuration for freenas-proxmox
# Severity scale: 1 (brutal) → 5 (gentle). We start at 4 and tighten over time.
# Run: perlcritic --profile .perlcriticrc perl5/PVE/Storage/Custom/TrueNAS.pm
severity = 4
theme = core
verbose = %f:%l:%c [%p] %m\n
# ── Rules currently disabled ─────────────────────────────────────────────────
# These are known issues being fixed in Phase 2 (code hardening).
# Remove entries here as the underlying code is fixed.
# eval { } block is fine; only string eval is risky — keep disabled
[-BuiltinFunctions::ProhibitStringyEval]
# Postfix conditionals (if/unless at end of line) — style preference, keep
[-ControlStructures::ProhibitPostfixControls]
# TrueNAS.pm has necessarily large subs (PVE plugin interface methods)
[-Subroutines::ProhibitExcessComplexity]
# our $VERSION and our $state are intentional package-level declarations
[-Variables::ProhibitPackageVars]
# ── Rules with custom settings ────────────────────────────────────────────────
[InputOutput::RequireCheckedSyscalls]
functions = :builtins
exclude_functions = print say warn
[ValuesAndExpressions::ProhibitMagicNumbers]
allowed_values = 0 1 2 200 201 204 302 307
[Subroutines::ProhibitBuiltinHomonyms]
severity = 5