spec-kitty / spec-kitty/spec-kitty
Implement-review changed-file lint recipe is not portable to zsh
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 165
- Avg merge
- 14h 52m
- Merged PRs (30d)
- 303
Description
Observed from the generated implement-review guidance during #2658 (TF-036).
## Reproduction
Under zsh with multiple changed Python files:
```zsh
CHANGED_SRC=$(git diff --name-only ...HEAD -- "*.py")
uv run ruff check $CHANGED_SRC
```
Ruff receives one newline-containing filename and reports E902 because zsh scalar expansion does not perform Bash-style word splitting. An array or `xargs` invocation passes.
## Expected
Generated shell recipes should either declare the required shell or use a portable array/null-delimited form that works under supported operator shells.
Contributor guide
Research direction
Start with the generator for the implement-review guidance described in the issue, then reproduce the recipe under zsh using multiple changed Python files. Check how CHANGED_SRC is expanded before Ruff runs; done means the generated recipe works under supported shells without E902, or explicitly declares its required shell.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, zsh
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100