Finding
system_files/shared/usr/bin/ublue-bling manages shell configuration injection for bash, zsh, and fish. It modifies user dotfiles (.bashrc, .zshrc, config.fish) by injecting/removing source blocks.
Key untested logic:
- Shell detection and config file path resolution (
$SHELL → config path)
is-bling-installed detection function
- sed-based block removal (the
### source start / ### source end marker pattern)
- Fallback removal for single-line source entries
- Config file creation vs append behavior
Risk: Incorrect sed patterns or edge cases (empty file, missing markers, special characters in paths) could corrupt user shell configs.
Recommendation
- Write bats tests for:
- Shell detection → correct config file path mapping (bash→.bashrc, zsh→.zshrc, fish→config.fish)
is-bling-installed returns correct status for installed/not-installed states
- Block injection creates correct markers
- Block removal with markers works cleanly
- Fallback removal (single grep-based line removal)
- Handles missing config file gracefully
- Mock
gum confirm by overriding in PATH with a stub
- Add to
unit-tests.yml workflow
Priority
- Impact: medium (user dotfile corruption possible but recoverable)
- Effort: low (straightforward bash function testing)
Filed by quality agent (hold-gated mode)
Common · issue pipeline
▶ triage needs kind/ + area/ then /approve
· discussing —
· queued —
· claimed —
· done —
area: — priority: —
maintainer: set kind/ + area/ labels, then comment /approve
reporter: answer questions; add repro steps if a bug
Finding
system_files/shared/usr/bin/ublue-blingmanages shell configuration injection for bash, zsh, and fish. It modifies user dotfiles (.bashrc,.zshrc,config.fish) by injecting/removing source blocks.Key untested logic:
$SHELL→ config path)is-bling-installeddetection function### source start/### source endmarker pattern)Risk: Incorrect sed patterns or edge cases (empty file, missing markers, special characters in paths) could corrupt user shell configs.
Recommendation
is-bling-installedreturns correct status for installed/not-installed statesgum confirmby overriding in PATH with a stubunit-tests.ymlworkflowPriority
Filed by quality agent (hold-gated mode)
Common · issue pipeline
area: — priority: —
maintainer: set kind/ + area/ labels, then comment /approve
reporter: answer questions; add repro steps if a bug