Add relayburn install wrapper so npm i -g relayburn exposes burn#150
Merged
willwashburn merged 4 commits intomainfrom Apr 27, 2026
Merged
Add relayburn install wrapper so npm i -g relayburn exposes burn#150willwashburn merged 4 commits intomainfrom
relayburn install wrapper so npm i -g relayburn exposes burn#150willwashburn merged 4 commits intomainfrom
Conversation
Adds a thin `packages/relayburn` wrapper package whose only job is to
re-export `@relayburn/cli`'s `burn` bin under the unscoped `relayburn`
name. Both `npm i -g @relayburn/cli` and `npm i -g relayburn` now
install the same `burn` command — users no longer need to know the
scoped package name to get started.
Implementation:
- `packages/relayburn/bin/burn.js` is a one-line shim that imports
`@relayburn/cli/dist/cli.js`. The cli's `main()` runs at module
top-level, so the import alone triggers the CLI.
- `dependencies: { "@relayburn/cli": "workspace:*" }` — `pnpm pack`
rewrites this to a concrete version at publish time, so the shipped
tarball pins to the exact cli version released alongside it.
- Root workspace renamed from `relayburn` to `relayburn-monorepo` to
resolve a name collision: `pnpm --filter relayburn` would otherwise
match both the root and the new package.
Publish workflow updates:
- `relayburn` added to package choices and to the `all` list (after
`cli`, since the wrapper depends on it).
- Hardcoded `@relayburn/$pkg` references replaced with a per-package
npm-name lookup (`node -p require('./packages/$pkg/package.json').name`)
so the workflow handles both scoped and unscoped names.
- Pack/publish step derives the tarball filename from the npm name
(`relayburn-0.33.0.tgz` for the wrapper vs. `relayburn-cli-0.33.0.tgz`
for cli).
- `verify-publish.yml` gains a `relayburn` choice that runs the same
`burn --help` smoke test as `@relayburn/cli`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AGENTS.md still described the workspace as "five published packages" and listed the dep-order chain, package-choice flag, and bump-order step without `relayburn`. CHANGELOG.md still said releases applied to "all five (`reader`, `ledger`, `analyze`, `mcp`, `cli`)". Update all four AGENTS sections and the root CHANGELOG header to include the new wrapper. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sets the wrapper's package.json to 0.34.0 to match the cli's current published version. This is the manual baseline for the first publish of `relayburn` to npm — done locally to bootstrap OIDC trusted-publisher registration on npmjs.com (the trusted publisher is configured per package, so the package has to exist before OIDC can be wired up). After this lands, lockstep `package: all` releases keep wrapper + cli versions aligned without needing custom_version overrides. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Line 8 (Layout) and CHANGELOG.md:5 were updated to "six packages" in f256bd7, but line 39 in the Changelog section still said "applies to all five packages". Bring it in sync so contributors reading the changelog guidance don't see a stale count. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
packages/relayburnwrapper package (unscoped namerelayburn) so users can runnpm i -g relayburnand get theburncommand. The existingnpm i -g @relayburn/cliinstall path continues to work unchanged — both produce the same binary.@relayburn/cli/dist/cli.js.dependencies: { "@relayburn/cli": "workspace:*" }packs to a concrete version at publish time, pinning the wrapper to the cli version it shipped with.relayburn→relayburn-monorepo(still private) to resolve a name collision:pnpm --filter relayburnwould otherwise match both the root and the new package.publish.ymlandverify-publish.ymlupdated to handle the unscoped name. Hardcoded@relayburn/$pkgreferences replaced with a per-package npm-name lookup (node -p require('./packages/$pkg/package.json').name), and the pack step derives the tarball filename from the npm name (relayburn-0.33.0.tgzfor the wrapper vs.relayburn-cli-0.33.0.tgzfor cli).relayburnadded to theallpublish order aftercli.Test plan
pnpm -r run buildpasses (wrapper build is justchmod +x bin/burn.js)pnpm run testpasses (no regressions)node packages/relayburn/bin/burn.js --helpprints theburnhelp bannerpnpm --filter relayburn packproduces exactly one tarball (relayburn-0.33.0.tgz) and the packedpackage.jsonrewritesworkspace:*to"@relayburn/cli": "0.33.0"Publish Packageworkflow withpackage: allandcustom_version: 0.35.0(or next bump) — both@relayburn/cli@0.35.0andrelayburn@0.35.0should publish, andVerify Publishwithpackage: relayburnshould pass theburn --helpsmoke test🤖 Generated with Claude Code