Summary
BunKill is currently only tested on macOS. Linux has not been validated but is likely closer to working than Windows since many commands (du, rm, path separators) are shared. This issue tracks testing, validation, and any fixes needed for Linux.
Areas to Test
1. Terminal UI
- Raw mode (
setRawMode) behavior across different terminal emulators (gnome-terminal, konsole, alacritty, kitty, tmux, screen)
- ANSI escape codes for colors, cursor movement, and screen clearing
- Keyboard input handling (arrow keys, Page Up/Down, Home/End send different escape sequences on some terminals)
2. File System Operations
getDirectorySize() at src/scanner.ts:157 uses du -sk — verify output format matches expectations across distros
deleteModules() at src/scanner.ts:426 uses rm -rf — should work but needs validation
- Permission error handling — Linux permission codes may differ from macOS
3. Path Handling
- Path separators should be fine (
/ is standard on Linux)
- Home directory resolution (
os.homedir())
- Hidden directory detection (
. prefix)
4. Opening Directories
src/cli.ts:743 uses xdg-open — verify this works across desktop environments (GNOME, KDE, etc.)
Testing Needed
Proposed Improvements
- Add fallback for
du -sk if output format differs (some locales may affect number formatting)
- Consider adding
LANG=C env when spawning du to ensure consistent output
- Add CI testing on Ubuntu (GitHub Actions
ubuntu-latest)
- Document minimum Linux requirements in README
Acceptance Criteria
Summary
BunKill is currently only tested on macOS. Linux has not been validated but is likely closer to working than Windows since many commands (
du,rm, path separators) are shared. This issue tracks testing, validation, and any fixes needed for Linux.Areas to Test
1. Terminal UI
setRawMode) behavior across different terminal emulators (gnome-terminal, konsole, alacritty, kitty, tmux, screen)2. File System Operations
getDirectorySize()atsrc/scanner.ts:157usesdu -sk— verify output format matches expectations across distrosdeleteModules()atsrc/scanner.ts:426usesrm -rf— should work but needs validation3. Path Handling
/is standard on Linux)os.homedir()).prefix)4. Opening Directories
src/cli.ts:743usesxdg-open— verify this works across desktop environments (GNOME, KDE, etc.)Testing Needed
bunkill --dry-runand verify scan resultsbunkill --delete-allon a test directory--full-scanmode--exclude-hiddenflagdu -skoutput parsing works across localesProposed Improvements
du -skif output format differs (some locales may affect number formatting)LANG=Cenv when spawningduto ensure consistent outputubuntu-latest)Acceptance Criteria