Skip to content

[TASK] Add missing set -euo pipefail to shellcheck.sh #5

@prog-time

Description

@prog-time

Note

The task was generated using the MCP server — prog-time/github-issues-server

Release: 1
Type: fix
Priority: medium
Blocks:
Blocked by:
Status: todo


Description

The script scripts/shell/linters/shellcheck.sh is missing the set -euo pipefail directive that every other script in scripts/shell/linters/ contains (eslint.sh, yamllint.sh, htmlhint.sh, markdownlint.sh, stylelint.sh, mermaid.sh). This omission violates the uniform standard defined in rules/process/ci-cd.md, section 9 ("Shell Scripts").


Motivation

Without set -euo pipefail, unhandled command errors and references to unset variables inside shellcheck.sh are silently ignored. This is especially problematic for a script that is itself a quality gate: a silent failure inside shellcheck.sh produces a false success in CI, defeating its purpose.


Checklist

  • Add set -euo pipefail to scripts/shell/linters/shellcheck.sh on the line immediately after #!/usr/bin/env bash
  • Reassemble the output file: bash scripts/assemble-ci.sh scripts/CI/linters scripts/shell/linters CI/linters
  • Verify that CI/linters/shellcheck.yml now contains set -euo pipefail in the inlined script body
  • Run shellcheck scripts/shell/linters/shellcheck.sh — no warnings or errors (the script must pass its own linter)
  • Run bats tests/linters/shellcheck.bats — all existing tests pass
  • Run bats --recursive tests/ — the full test suite passes

Affected Files

File Change
scripts/shell/linters/shellcheck.sh add set -euo pipefail after the shebang line
CI/linters/shellcheck.yml reassemble via assembler

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions