Related: README, Getting started, spec/README.md
This Alpha already includes:
- a file-backed
broker-coreunderbroker-core/ - a
simctladapter for provisioning, lifecycle control, and drift observation - the
simbrokerCLI underclient/bin/simbroker.mjs - a local
brokerdservice underclient/bin/brokerd.mjsandclient/service/ - broker-mediated
boot,shutdown,erase, andrepair - stable exit codes for invalid requests, unavailable capacity, repair-needed aliases, override-required flows, and internal failures
- guided
simbroker setuppreview/confirmation that selects the newest compatible installed runtime, provisions or reuses the six starter aliases, startsbrokerd, refreshes the snapshot, verifies health, and reruns without duplicates - advanced
host init --bootstrap-configcompatibility with its unchanged iOS 18 default erase-on-acquireleases behind a reset lock, with rollback if reset fails before a lease is handed out- lease selection that prefers a matching pin, then compatible warm capacity, then shutdown capacity
- optional Automatic shutdown configured only through broker commands
- a macOS operator app with Overview, Simulators, Projects, and Events
- a broker-owned
app-snapshot.jsonread model - app-driven setup-plan review and per-repo onboarding commands. Public
first-run order is Homebrew CLI, optional Homebrew cask, then Set Up This
Mac / Complete first-time setup or
simbroker setup. Homebrew does not create simulators. Hello world runs only after a host config exists and aftercapacity checkforagent-ui-session. Readpurposes[].status, not the top-levelstatus. Stop onunavailableand preview withcapacity reconcile. Stop onrepair_neededand usedoctorplussimulators repair --alias <alias> - CLI-only install through
bash scripts/install_local.sh --cli-only, plus the contributor app+CLI pathnpm run install:local - tagged Alpha GitHub Releases with exactly four custom assets: the CLI
tarball, its
.sha256checksum, the packable npm tarball, and the signed, notarized app zip. GitHub's generated source archives appear separately - public Node test CI: GitHub-hosted Ubuntu for broker-core and
harness-adoption plus the public docs contract, GitHub-hosted macOS for
client tests. Tagged releases run the public docs contract before packaging.
Home-path public-surface scanning is
npm teston the operator machine.package_distribution.shpayload-scan tests also stay on local Darwinnpm test; GitHub CI skips them. - GitHub issue forms for install failure, bug, and feature, plus a light PR template that does not require a harness session
- Homebrew formula
fiveonecode/simulator-broker/simbrokerfor the Alpha CLI tarball. Homebrew clonesfiveonecode/homebrew-simulator-brokerfor that tap name;Formula/andCasks/in this repository stay the source of truth. That tap runs hostedscript/verify.shon pull requests andmain. Packablesimbrokernpm CLI (npm run package:npm), and a Homebrew cask that installsSimulator Broker.appfrom the signed, notarized GitHub Release zip when that zip is attached - local-debug packaging through
npm run package:local - signed distribution packaging through
npm run package:distribution, which fails closed before signing when the generated app bundle's Finder and About version keys do not match the root package version - Homebrew cask zip through
npm run package:cask-zipafter Developer ID notarization of the payload app simbroker project initfor.simulator-broker/project.jsonwith version-agnostic iPhone UI requirements by defaultcapacity checkand human-confirmedcapacity reconcileidleinspect, reconcile, and confirm-only cleanup- sample consumer artifacts under
examples/harness-adoption/ - the
broker-harness-adoptionskill under.agents/skills/broker-harness-adoption/
Automatic shutdown is unconfigured on a fresh install, so a released Simulator
may remain booted for warm reuse. Check simbroker idle status; choose a
duration in the app or enable one with simbroker idle enable. Do not create or
edit broker state files by hand.
Tracked-text public safety is checked with npm run verify:public-surface.
For an extra machine-local denylist, create an ignored .public-safety.local
with one private name, alias, or path per line.
npm test
npm run verify:public-surface
npm run test:install-smoke
npm run test:app
npm run test:client
node client/bin/simbroker.mjs service start
node client/bin/simbroker.mjs setup --json
node client/bin/simbroker.mjs service status
node client/bin/simbroker.mjs app snapshot
node client/bin/simbroker.mjs capacity check --repo-root "$PWD" --purpose agent-ui-session --json
node client/bin/simbroker.mjs idle status --json
node client/bin/simbroker.mjs pin create --repo-root "$PWD" --purpose manual-testing --alias manual-1
node client/bin/simbroker.mjs lease release --lease-file /tmp/simbroker-lease.json
node client/bin/simbroker.mjs simulators boot --alias ui-1The Alpha GitHub Release attaches the signed, notarized
Simulator-Broker-<version>.zip used by the Homebrew cask.