The previous strip only removed LC_CODE_SIGNATURE and truncated the file,
leaving __LINKEDIT's filesize pointing past EOF. Now the script also
adjusts __LINKEDIT filesize/vmsize so rcodesign can parse the binary.
rcodesign cannot parse the SuperBlob embedded by Bun's cross-compiler.
Both `rcodesign sign` and `rcodesign remove-signature` choke on the
malformed blob. Add a small Python helper that strips LC_CODE_SIGNATURE
at the Mach-O binary level so rcodesign can sign from a clean state.
Bun cross-compiled darwin binaries embed a SuperBlob that rcodesign
cannot parse, causing the v0.8.2 release build to fail. Run
`rcodesign remove-signature` first so the subsequent `rcodesign sign`
starts from a clean Mach-O.
Cross-compiled Mach-O binaries from `bun build --compile` on Linux carry
an invalid code signature that causes modern macOS to SIGKILL on launch.
- Build script: sign darwin binaries after compilation (codesign/rcodesign)
- CI: install rcodesign via cargo-binstall on ubuntu runner
- Self-update: sign downloaded binary on macOS before replacing current
Add "rc" shorthand that defaults to patch-rc, so running
`npm run release rc` from 0.5.2 produces 0.5.3-rc.0 instead
of requiring explicit patch-rc/minor-rc.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add bin, files, publishConfig to package.json for npm distribution
- Add build:npm script targeting Node.js (vs bun for local dev)
- Add bin/agent-slack.js as Node-compatible CLI entry point
- Replace static bun:sqlite import with dynamic bun/node sqlite fallback
- Add npm publish step to release workflow (conditional on NPM_TOKEN)
- Lower engines requirement to Node >= 22 (LTS)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The compiled binary couldn't read package.json from Bun's virtual filesystem.
Now the version is injected via --define at build time.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>