v0.3.5
What changed
Install npm with trusted publishing support
Install release npm without elevated permissions
Improve update progress UI
Repair the links a skill installer writes through Ditto's own
Sharing a directory by linking it has one cost, and nothing was paying
it. A skill installer puts the skill somewhere central and records it in
each agent's skills directory as a relative link, computed from the
configuration directory that agent was pointed at. Under a profile that
directory is one of shared.rs's links, so the kernel creates the record
in the user's own directory instead, where the same relative path climbs
past the root and lands on nothing. The skill downloads intact and is
readable from nowhere, in every profile at once, for every tool whose
skills directory Ditto shares.
Ditto is what moved the directory, so Ditto is what can say where those
links meant to point: read the target against the path the installer was
handed rather than against where the link ended up. Nothing is rewritten
unless reading it that way names something that exists, so an absolute
link, a relative one that already resolves, and a directory the profile
owns outright are all left exactly as they are.
A launch repairs the tool it is about to start, which is the moment
before that tool reads its skills, and says so on stderr rather than
rewriting a user's links behind their back. sync does every tool at
once and reports them under repaired.
Install
brew install reyanshgupta/tap/ditto-cli # or: brew upgrade ditto-cli
npm install -g @reyanshgupta/ditto-cli@0.3.5
cargo binstall ditto-cli # or: cargo install ditto-cliThe archives below are the same binaries every channel installs; SHA256SUMS covers them.
Full Changelog: v0.3.4...v0.3.5