Fix safety, security, and portability issues#2
Conversation
davidkreps
commented
Feb 23, 2026
- Back up existing files before overwriting with symlinks (safe_link helper)
- Trim git/ignore to OS/editor artifacts only; remove language-specific patterns
- Remove surprising merge.ff=false and merge.commit=no from git/config
- Guard cursor-shape escape sequences behind [[ -o interactive ]]
- Bind phpserver to 127.0.0.1 instead of LAN IP
- Remove pip='pip3' alias (breaks virtualenvs) and d='docker' alias (conflict risk)
- Back up existing files before overwriting with symlinks (safe_link helper) - Trim git/ignore to OS/editor artifacts only; remove language-specific patterns - Remove surprising merge.ff=false and merge.commit=no from git/config - Guard cursor-shape escape sequences behind [[ -o interactive ]] - Bind phpserver to 127.0.0.1 instead of LAN IP - Remove pip='pip3' alias (breaks virtualenvs) and d='docker' alias (conflict risk) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
Claude finished @davidkreps's task in 2m 29s —— View job PR Review
Overall this is a well-reasoned cleanup. All six changes are correctly motivated and the implementation is sound. A few issues worth addressing before merge: Issues1.
if [ -e "$link" ] && [ ! -L "$link" ]; then
mv "$link" "${link}.backup"
fiIf a regular file exists at 2. The idempotency test runs 3. autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-lineThese three statements are outside any Pre-existing issues (not introduced here, but worth noting)4. Per CLAUDE.md: "Aliases and functions for optional tools must not error when the tool is missing." Aliases don't error on definition, but 5.
What looks correct
|