v0.3.0
Changed
-
--install-claudenow registers the hooks for you instead of printing a
settings.jsonblock and leaving the merge to you. The merge is done with
jqand only withjq— rewriting the user's settings with string surgery
in bash could silently disable every setting in the file. It is additive
(appended to whatever.hooksalready holds, other keys and their order
untouched), idempotent (a hook already registered insettings.jsonor
settings.local.jsonis skipped, matched by script name so a hand-edited
path or a droppedbashprefix still counts, and a half-registered pair
gets only its missing half), and it writes nothing when the result would be
unchanged. The file it replaces is kept assettings.json.bak-STAMP, a
symlinkedsettings.jsonis resolved first so a dotfiles repo gets its
target edited rather than its link replaced, and one that does not parse is
reported and left alone.Without
jqon$PATHthe block is printed to merge by hand exactly as
before, with a note that installing one (pixi global install jq) lets
sinteractive do it.jqstays an optional dependency.
Fixed
make nodesnow installs the same set of files asmake install-system,
the Claude Code assets included; it had shipped only the script, man page
and completion. The assets belong on the compute nodes because
--install-clauderesolves them relative to the running script: someone
following the status-bar hint runs it from inside a session, which runs the
node's/usr/local/bincopy, and with no<prefix>/share/sinteractive
beside it that call failed. It worked only for people who had also
installed into a shared$HOME.make nodesrenames the script into place instead of writing over it, for
the reasontmux-pushdoes:--attachSSHes into a node and runs the
script there, so a copy can be executing while you install.make nodesasks pdsh for the ssh rcmd module by name (-R ssh, override
withPDSH_RCMD). pdsh defaults torsh, so on a cluster with nothing on
port 514 the target failed withconnect: Connection refusedfor every
node — and exportingPDSH_RCMD_TYPE=sshdid not help undersudo make,
which resets the environment.
Added
make nodes-checkreports the sinteractive version, whether the Claude
Code assets are present, and the tmux version on every node inNODES.
Read-only and unprivileged. Drift is otherwise invisible —sbatchspools
the submitted copy of the script, so sessions keep working from whatever
the submitting node has, and a stale compute node only shows up in
--attachand--install-claude.
Full Changelog: v0.2.2...v0.3.0