693969453d
- update-homebrew-tap.sh: Homebrew formula was calling `bin.write_env_script` on the bin directory with target `cli/bin/cli.js`, which would create the wrapper at `$HOMEBREW_PREFIX/bin/cli.js` (named after the target's basename) instead of `$HOMEBREW_PREFIX/bin/kandev`. Result: `brew install kandev` would have produced `command not found`. Use `(bin/"kandev").write_env_script(...)` to name the wrapper explicitly. Caught by Claude as a P0 blocker. - publish-npm.sh: main `kandev` publish lacked the EPUBLISHCONFLICT idempotency handling that the runtime-package loop has. If publish-npm was re-run after a partial failure (e.g. the runtime packages succeeded but the main package failed and was then manually published), the re-run would fail on the main package even though the version was already on the registry. Now: capture output, treat "already published" as success, fail loudly with full output on real errors. Caught by Greptile as P1.