Skip to content

whiskd v3.0.0

Choose a tag to compare

@Jeecabs Jeecabs released this 09 Jul 00:13
· 3 commits to main since this release

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 roo to whiskd

    • Install and run whiskd instead of roo.
    • The agent skill and docs now use the new name.
  • Cleaner top dashboard

    • whiskd top and whiskd top --global now focus on live work: running processes only.
    • Stopped entries remain available through whiskd status, whiskd logs <name>, and whiskd 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.
  • More reliable stopping and exit recording

    • Stops target whole process trees.
    • Termination escalates from SIGTERM to SIGKILL if 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/attach are 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.js

Existing 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/whiskd

Or from a local checkout:

./install.sh

Verification

Checked before release:

npm run check
npm run smoke