Add Homebrew formula, cask, and packable simbroker npm CLI - #12
Merged
Conversation
Why: Strangers still needed a clone or a manual tarball extract to get simbroker. The Alpha GitHub Release already had a CLI tarball, but there was no brew or npm one-liner, and docs said those packages did not exist. Changed: Formula/simbroker.rb installs the v0.1.0-alpha.1 CLI tarball through Homebrew. Casks/simulator-broker.rb installs Simulator Broker.app from the signed, notarized GitHub Release zip Simulator-Broker-<version>.zip when that zip is attached; it is not package:local. packages/simbroker is a packable npm CLI with a bin field; scripts/package_npm.sh stages the runtime without tests. The repo-root package stays private. README, getting-started, status, SECURITY, CHANGELOG, and front-door tests advertise brew and npm installs and drop the old not-yet wording. A signed notarized app zip is not attached in this change. Verification: npm run agent:verify -- --profile spec-only --paths .agents/manifests/specs.yaml,.agents/verify/spec-only.yaml,.github/ISSUE_TEMPLATE/feature.yml,Casks/simulator-broker.rb,Formula/simbroker.rb,packages/simbroker/package.json,packages/simbroker/bin/simbroker.js,packages/simbroker/README.md,scripts/package_npm.sh,scripts/package_cli.sh,package.json,README.md,CHANGELOG.md,SECURITY.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,spec/project-structure.md,spec/README.md,spec/build-and-test.md --session-dir task-sessions/20260819-homebrew-notarized-npm node --test docs/test/front-door.test.mjs npm run verify:public-surface Affected: .agents/manifests/specs.yaml .agents/verify/spec-only.yaml .github/ISSUE_TEMPLATE/feature.yml CHANGELOG.md Casks/simulator-broker.rb Formula/simbroker.rb README.md SECURITY.md docs/getting-started.md docs/status.md docs/test/front-door.test.mjs package.json packages/simbroker/README.md packages/simbroker/bin/simbroker.js packages/simbroker/package.json scripts/package_cli.sh scripts/package_npm.sh spec/README.md spec/build-and-test.md spec/project-structure.md Refs: https://github.com/fiveonecode/simulator-broker https://github.com/fiveonecode/simulator-broker/releases/tag/v0.1.0-alpha.1 spec/project-structure.md Session: task-sessions/20260819-homebrew-notarized-npm
Why: The install-failure issue form still said there was no Homebrew formula or npm package. That contradicted the step-7 CLI one-liners. Changed: The install-failure form names brew install and the GitHub Release npm tarball, and those paths appear in the install-path dropdown. Front-door tests require every issue form to omit the old not-yet sentence. Verification: npm run agent:verify -- --profile spec-only --paths .agents/manifests/specs.yaml,.agents/verify/spec-only.yaml,.github/ISSUE_TEMPLATE/feature.yml,.github/ISSUE_TEMPLATE/install-failure.yml,.github/ISSUE_TEMPLATE/bug.yml,.github/ISSUE_TEMPLATE/config.yml,Casks/simulator-broker.rb,Formula/simbroker.rb,packages/simbroker/package.json,packages/simbroker/bin/simbroker.js,packages/simbroker/README.md,scripts/package_npm.sh,scripts/package_cli.sh,package.json,README.md,CHANGELOG.md,SECURITY.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,spec/project-structure.md,spec/README.md,spec/build-and-test.md --session-dir task-sessions/20260819-homebrew-notarized-npm node --test docs/test/front-door.test.mjs Affected: .github/ISSUE_TEMPLATE/install-failure.yml docs/test/front-door.test.mjs Refs: #12 spec/project-structure.md Session: task-sessions/20260819-homebrew-notarized-npm
Why: Homebrew maps fiveonecode/simulator-broker to fiveonecode/homebrew-simulator-broker. Formula files in this product repo never made the advertised one-liner work for a stranger. Changed: Document that brew install fiveonecode/simulator-broker/simbroker clones fiveonecode/homebrew-simulator-broker, while Formula/ and Casks/ here stay the source of truth. Add scripts/sync_homebrew_tap.sh. Front-door tests require the homebrew- GitHub name and a live tap Formula on main. Verification: npm run agent:verify -- --profile spec-only --paths .agents/manifests/specs.yaml,scripts/sync_homebrew_tap.sh,README.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,CHANGELOG.md,spec/project-structure.md,spec/README.md,spec/build-and-test.md --session-dir task-sessions/20260819-homebrew-tap-p1 node --test docs/test/front-door.test.mjs Affected: .agents/manifests/specs.yaml scripts/sync_homebrew_tap.sh README.md docs/getting-started.md docs/status.md docs/test/front-door.test.mjs CHANGELOG.md spec/project-structure.md spec/README.md spec/build-and-test.md Refs: #12 https://github.com/fiveonecode/homebrew-simulator-broker spec/project-structure.md Session: task-sessions/20260819-homebrew-tap-p1
Why: The tag-driven release notes still said the release was not a Homebrew formula or npm package, and the workflow never attached the npm tarball. The spec-only front-door suite also fetched live GitHub, so agent verify could fail on rate limits or a stale tap. Changed: release.yml packages and attaches simbroker-<version>.tgz and rewrites the release notes. The live tap compare moves to scripts/sync_homebrew_tap.sh --check-remote. Front-door tests stay offline and pin the new release.yml contract. Verification: npm run agent:verify -- --profile spec-only --paths .github/workflows/release.yml,docs/test/front-door.test.mjs,scripts/sync_homebrew_tap.sh,spec/build-and-test.md,CHANGELOG.md --session-dir task-sessions/20260819-homebrew-p2-review node --test docs/test/front-door.test.mjs Affected: .github/workflows/release.yml docs/test/front-door.test.mjs scripts/sync_homebrew_tap.sh spec/build-and-test.md CHANGELOG.md Refs: #12 spec/build-and-test.md Session: task-sessions/20260819-homebrew-p2-review
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.
Strangers still needed a clone or a manual tarball extract. The Alpha GitHub Release already had a CLI tarball, but docs said there was no Homebrew formula or npm package.
This is the Homebrew / notarized-app cask / npm slice only. It does not submit to homebrew-core. It does not change OpenCodeReview. It does not stop brokerd.
What landed
Formula/simbroker.rbinstalls thev0.1.0-alpha.1CLI tarball:brew install fiveonecode/simulator-broker/simbroker.Casks/simulator-broker.rbinstallsSimulator Broker.appfrom the signed, notarized GitHub Release zipSimulator-Broker-<version>.zip. That zip is not attached to the current Alpha release. Produce it withnpm run package:distributionafter Developer ID signing and notarytool. The cask is notpackage:local.packages/simbrokeris a packable npm CLI with abinfield.npm run package:npmwritessimbroker-0.1.0-alpha.1.tgz. The repo-root package stays private.npm install -g https://github.com/fiveonecode/simulator-broker/releases/download/v0.1.0-alpha.1/simbroker-0.1.0-alpha.1.tgzworks.Verification
npm run agent:verify -- --profile spec-only— passnode --test docs/test/front-door.test.mjs— 15/15 passnpm run verify:public-surface— pass (261 files)npm run agent:complete— passbrew audit/brew fetch/brew installthen uninstall via a scratch tap — formula installable; help is human, not JSON-onlynpm publishnot done (prerelease needs--tag; GitHub Release tgz is the one-liner)Head:
5e6b28cc7a0751a9b448cbe7f8a5fb4e70b68e65Session:
task-sessions/20260819-homebrew-notarized-npm