Conversation
jlec
force-pushed
the
chore/4805-shell-lint
branch
from
October 1, 2026 07:20
535dc9f to
17730c1
Compare
Fix the three SC2155 warnings by declaring and assigning separately, so command substitution failures are no longer masked. Add "# shellcheck source=/dev/null" above each "source common.sh" to clear SC1091. Format all six scripts with shfmt, with switch_case_indent enabled in .editorconfig so existing case indentation is preserved. Beyond the three SC2155 splits, the scripts are unchanged: minified shfmt output of before and after differs only in those lines. Refs github#4805 Assisted-by: Claude Code (model: Claude Sonnet 5.5, autonomous) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Justin Lecher <justin@jlec.de>
jlec
force-pushed
the
chore/4805-shell-lint
branch
from
October 1, 2026 07:26
17730c1 to
7bc35e7
Compare
This branch has not been deployed
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.
Description
Closes #4805. Fixes the 3 SC2155 warnings, silences SC1091 with
# shellcheck source=/dev/null, and formats the sixscripts/bash/*.shfiles with shfmt. Addsswitch_case_indent = truefor shell files to.editorconfigso shfmt keeps the existing case indentation (diff +126/-50 instead of about +273/-198 with shfmt's default). CI is untouched; tighteninglint.ymlcan follow.Testing
shellcheck at default severity: 8 findings before, 0 after.
shfmt -d: clean.Minified shfmt output of before vs after differs only in the 3 SC2155 declare/assign splits.
The shell-related tests (
test_check_prerequisites*,test_create_new_feature*,test_resolve_template*,test_setup_plan*,test_setup_tasks*,test_command_template_py_scripts) give identical results onmainand on this branch: 11 failed, 227 passed, 99 skipped. The 11 failures all occur on unmodifiedmain, in the composed-template tests.Behavior note: the SC2155 splits mean a failing command substitution in those 3 assignments is no longer masked by
local. Underset -ethat could now abort where it previously continued, which is the intent of the rule.Ran existing tests with
uv sync && uv run pytest(shell-related subset only, in the worktree's own venv)Tested locally with
uv run specify --helpTested with a sample project (if applicable)
AI Disclosure
AI disclosure: Agent: Claude Code. Model: Claude Sonnet 5.5, run autonomously on behalf of @jlec, who directed each step (fork, issue, branch, edits, PR). The agent wrote the code changes, ran the checks above, and drafted this PR and #4805. The commit carries an
Assisted-by:trailer.馃 Generated with Claude Code