Repository navigation
fix(bin): resolve shellcheck warnings in bin scripts - #30
Merged
Merged
Conversation
Quote expansions in gifme, kubectl-ssh, and suitup, loop over project roots in suitup, and disable SC1071 so zsh scripts stop erroring in the LSP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.shellcheckrc is not found when an LSP lints via stdin from another directory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Switch brewup, daily, dbr, git-adopt, set_ip, and screenshots to bash so shellcheck covers them, fix the findings, and syntax check the remaining zsh scripts with zsh -n in CI. CI now only lints shell files and fails on findings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟢 Approval recommended
The focused shell-script and CI changes have no identified blocking correctness or compatibility issues.
No open issues 🎉
What changed in this PR
This PR addresses ShellCheck warnings in the repository’s utility scripts and strengthens shell validation in CI.
Changes:
- Converts six scripts from zsh to Bash and improves argument quoting and directory-change handling.
- Consolidates
suitupdirectory traversal and replaces~/HFP/with~/logo.dev/. - Makes CI’s
bin/ShellCheck step fail on findings and adds zsh syntax checks.
| File | Description |
|---|---|
bin/suitup |
Quotes paths, consolidates traversal, and updates the project directory. |
bin/set_ip |
Switches to Bash and creates the domain directory before entering it. |
bin/screenshots |
Switches the interpreter to Bash. |
bin/kubectl-ssh |
Quotes arguments passed to kubectl commands. |
bin/git-adopt |
Switches the interpreter to Bash. |
bin/gifme |
Preserves argument boundaries and quotes output paths. |
bin/dbr |
Switches to Bash and quotes Docker arguments. |
bin/daily |
Switches to Bash and exits if the directory change fails. |
bin/clean.sh |
Adds an SC1071 suppression while retaining zsh. |
bin/brewup |
Switches to Bash and isolates the dotfiles step in a subshell. |
.github/workflows/ci.yml |
Filters shell scripts, propagates ShellCheck failures, and adds zsh syntax checks. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Fixes shellcheck findings in bin/ and moves brewup, daily, dbr, git-adopt, set_ip, and screenshots from zsh to bash so shellcheck covers them. clean.sh (uses
**) stays zsh with an inline SC1071 disable.CI shellcheck now lints only shell shebangs and fails on findings (
find -exec \;swallowed them), and addszsh -nfor the zsh scripts. Includes the unpushed suitup HFP to logo.dev commit from local main.Risks
set_ip now creates the domain dir before cd, and brewup runs its dotfiles step in a subshell instead of
cd -.