# Lint registry for scripts/lint.py — the extension point.
# Add a lint: append a [[lint]] block. No code changes needed.
# name — shown in the summary table.
# globs — files this lint applies to. A lint whose file type didn't
# command — {skill} expands to this skill's directory; {files} to the
# matched files. If the first token isn't an installed tool,
# the lint is skipped with a warning, never failed.
# required — true: a non-zero exit fails the run. false: advisory.
# note — one line of context, echoed when the lint runs.
# lint_chart.sh (takes a chart DIRECTORY plus values-file args) and
# lint_workflows.sh (takes a workflows DIRECTORY, defaults to
# .github/workflows) are NOT registered here — same reasoning as backend's
# verify_scaffold.sh: they inspect a directory as a unit, not the individual
# changed files, so a per-file dispatch model doesn't fit. Run them by hand:
# `scripts/lint_chart.sh ./chart values.yaml` and `scripts/lint_workflows.sh`.
globs = ["**/k8s/**/*.yaml", "**/k8s/**/*.yml", "**/manifests/**/*.yaml", "**/manifests/**/*.yml", "**/deploy/**/*.yaml", "**/deploy/**/*.yml"]
command = "bash {skill}/scripts/check_manifests.sh {files}"
note = "kubeconform -strict (if installed), no :latest image tags, Deployment/StatefulSet declares resources:"
globs = ["**/PIR.md", "**/postmortem*.md", "**/*-pir.md"]
command = "bash {skill}/scripts/check_pir.sh {files}"
note = "timestamped decision log, named Incident Commander, at least one action item with owner + due date"
globs = ["**/slo*.md", "**/slo*.yaml", "**/*.slo.md"]
command = "bash {skill}/scripts/lint_slo_doc.sh {files}"
note = "SLI + target + error-budget window present, alert rules link a runbook — advisory since not every service doc uses this exact naming"