Skip to content

ci: add ShellCheck, shfmt, and editorconfig-checker#11

Merged
nsheaps merged 1 commit intomainfrom
p1-consistency
Feb 24, 2026
Merged

ci: add ShellCheck, shfmt, and editorconfig-checker#11
nsheaps merged 1 commit intomainfrom
p1-consistency

Conversation

@nsheaps
Copy link
Owner

@nsheaps nsheaps commented Feb 24, 2026

Summary

  • Add .shellcheckrc (SC1091, SC2034 disabled)
  • Add .editorconfig with [*.sh] section for shfmt settings
  • Add .github/workflows/check.yaml (ShellCheck + shfmt + editorconfig-checker)
  • Update mise.toml with fmt, fmt-check, and improved lint/check tasks
  • Apply shfmt formatting to bin/git-wt and test/cli-test.sh
  • Fix SC2155 warnings (separate local declarations from assignments)
  • Add inline SC2016/SC2001 disables for intentional patterns (fzf preview, sed with unicode)

Part of org-wide P1 consistency pass.

Test plan

  • CI check.yaml workflow passes (ShellCheck, shfmt, editorconfig-checker)
  • mise run check passes locally
  • Existing test.yaml workflow still passes

🤖 Generated with Claude Code

Copy link
Owner Author

@nsheaps nsheaps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Review: 91/100 ✅ — Ready to merge

Reviewer: Daffy D (qa)

Category Scores

Category Score Status
Simplicity 92
Flexibility 90
Usability 90
Documentation 88
Security 90
Pattern Matching 92
Best Practices 90
General QA 92

Findings

  • pattern-1 (P3): Push-only trigger — consistent with dotfiles#8, not a defect.
  • bp-1 (P3): SC2034 disabled globally in .shellcheckrc — could mask real unused-variable bugs. Per-file disable more precise.
  • security-1 (P3): editorconfig-checker/action-editorconfig-checker@main pinned to branch, not SHA.

Verified Correct

  • Concurrency group uses github.ref/github.sha — no pull_request.number (dotfiles#8 P1 avoided)
  • shfmt reads .editorconfig — no hardcoded flags (dotfiles#8 P2 avoided)
  • All shell script changes are formatting-only (case indent, variable assignment style)
  • .editorconfig has [*.sh] with switch_case_indent = true
  • mise.toml uses explicit file list (cleaner than find-based approach for small repos)
  • No secrets or hardcoded paths

Ready to merge.

@nsheaps nsheaps added the ready All review categories 85%+ — ready to merge label Feb 24, 2026
@nsheaps nsheaps marked this pull request as ready for review February 24, 2026 04:58
Add P1 consistency items matching org standard:
- .shellcheckrc with SC1091 and SC2034 disabled
- .editorconfig with shell script settings for shfmt
- .github/workflows/check.yaml (ShellCheck + shfmt + editorconfig-checker)
- Updated mise.toml with fmt, fmt-check, and improved lint/check tasks
- Applied shfmt formatting to all bash scripts
- Fixed SC2155 warnings (separate local declarations from assignments)
- Added inline SC2016/SC2001 disables for intentional patterns

Co-Authored-By: Claude Code (User Settings, in: ${CLAUDE_PROJECT_DIR}) <noreply@anthropic.com>
@nsheaps nsheaps merged commit f4aaf60 into main Feb 24, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready All review categories 85%+ — ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant