Repository navigation
whiskd v3.0.0
What changed
This release turns the old roo process wrapper into whiskd: same small tool, clearer name, safer state handling, and a more useful process dashboard.
The main user-facing change: whiskd top now shows running processes only. Stopped processes still exist for logs and cleanup, but they no longer clutter the live dashboard.
Highlights
-
Renamed CLI from
rootowhiskd- Install and run
whiskdinstead ofroo. - The agent skill and docs now use the new name.
- Install and run
-
Cleaner
topdashboardwhiskd topandwhiskd top --globalnow focus on live work: running processes only.- Stopped entries remain available through
whiskd status,whiskd logs <name>, andwhiskd clean.
-
Safer process state
- State moved to a private per-user directory:
/tmp/whiskd-<uid>/.... - State/log files use restrictive permissions.
- Stale PID files are reconciled before commands act on them.
- PID identity checks reduce the chance of acting on a reused PID.
- State moved to a private per-user directory:
-
More reliable stopping and exit recording
- Stops target whole process trees.
- Termination escalates from
SIGTERMtoSIGKILLif needed. - Exit footers use a claim-first protocol to avoid duplicate footer writes during races.
-
More robust TUI behavior
- Foreground mode and attach now share the same attach implementation.
- Terminal restore hooks run on normal exit, signals, and uncaught exceptions, reducing raw-mode/alt-screen leaks.
- Logs are capped while
top/attachare open, not only after process exit.
-
Better shell command handling
- Multi-argument commands preserve shell grouping more carefully.
- Single-string commands still pass through raw, so shell operators like
&&continue to work.
Migration notes
If you previously used roo, switch commands to whiskd:
roo start --name api node server.js
# becomes
whiskd start --name api node server.jsExisting roo state is not migrated automatically. That is intentional: the new state path is part of the safety cleanup. Any old roo process state can be cleaned up separately if needed.
Install from GitHub:
npm install -g github:Jeecabs/whiskdOr from a local checkout:
./install.shVerification
Checked before release:
npm run check
npm run smoke