Skip to content

About

Homebrew packages for the Bun and Rust Prose CLIs

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

OpenProse Homebrew tap

Install either implementation of the Prose CLI from verified, prebuilt releases. Both provide the command prose; choose which implementation to install. No Bun or Rust compiler is required. A supported agent harness and its separate authentication are required to execute programs.

For Bun:

brew install openprose/tap/prose-bun
prose --version

For Rust:

brew install openprose/tap/prose-rust
prose --version

There is no default openprose/tap/prose formula or alias yet. Both formulas currently select 0.15.0-rc.3. They support macOS and glibc Linux on ARM64 and x86-64. Linux requires glibc 2.34 or newer. These are prereleases; the macOS executables are not Developer ID signed or notarized.

Switch implementations

Only one implementation can provide Homebrew's linked prose command at a time. To switch from Bun to Rust, unlink Bun before installing Rust:

brew unlink openprose/tap/prose-bun
brew install openprose/tap/prose-rust

If Rust is already installed, use brew link openprose/tap/prose-rust instead. To switch back:

brew unlink openprose/tap/prose-rust
brew link openprose/tap/prose-bun
prose --version

Unlinking retains the installed implementation. You can run either retained implementation directly, without changing the selected command:

"$(brew --prefix openprose/tap/prose-bun)/bin/prose" --version
"$(brew --prefix openprose/tap/prose-rust)/bin/prose" --version

If npm or another installation already provides prose, choose your desired installation and adjust PATH or unlink that installation explicitly. This tap does not overwrite another installation's command automatically.

Upgrade

If you have only one implementation installed, upgrade that formula normally. If both are installed, Homebrew attempts to link each upgraded formula, so a combined upgrade can collide at prose. To upgrade both while keeping Bun selected, use this explicit sequence:

brew unlink openprose/tap/prose-bun
brew upgrade openprose/tap/prose-rust
brew unlink openprose/tap/prose-rust
brew upgrade openprose/tap/prose-bun
brew link openprose/tap/prose-bun
prose --version

To keep Rust selected, reverse prose-bun and prose-rust in the sequence. The command is temporarily unlinked or switches implementation during these steps; the final link restores your selection. No existing command is overwritten. To remove both implementations:

brew uninstall prose-bun prose-rust

This tap tracks explicitly reviewed releases, including prereleases. Formula updates retain the implementation selected by the formula name. Each selects immutable archive URLs and SHA-256 hashes; an update changes the release rather than rebuilding or overwriting it. The installed executable does not pin a moving kernel or separately installed harness. Record those selections for repeatable execution.

The initial RC2 release does not include the newer Prime fix on CLI main. The independently observed private-build cleanup failure remains unresolved. See the maintained release status for current runtime boundaries and qualification. Installation tests establish packaging behavior, not fulfillment of a program.

Maintaining this tap

Formulae are generated from reviewed release plans in the distribution repository using scripts/homebrew_formula.py. Preserve all four qualified platforms, exact archives, checksums, implementation banners and unsigned disclosure. A prerelease version must use the explicit rc channel; it does not require a separate formula name. Do not select an unqualified development archive or promote a prerelease as stable.

Retained release inputs bind the original source and archive identities. The local installation receipt records isolated installation and switching checks for the initial RC2 release. CI tests both implementations and command selection without provider calls. Future updates require a reviewed new public release, rendered formula diff and install/test checks before changing the tap. No version-to-version upgrade has executed for the initial RC2 tap: its base has no earlier formula release. When a future candidate advances the selected release, the same four-platform CI installs the genuine qualified base archives and upgrades both formulas with Bun selected, then repeats with Rust selected. It upgrades the inactive keg first with the shared command explicitly unlinked, then upgrades and relinks the selected implementation. It checks that both versions advance and the final prose selection matches the original. The helper restores candidate formulas on failure; it never relabels release bytes to manufacture an upgrade. Bootstrap and same-version checks report an explicit skip, with the concrete base/candidate commits retained in CI artifacts.

The scheduled update workflow checks the public guarded RC pointer hourly. It verifies the immutable manifest digest, qualification and all eight archive identities before preparing an update branch. Current formula hashes must match retained release inputs; unexpected edits, changed immutable releases and downgrades stop the update. Original release records remain intact. The bot explicitly starts four-platform installation checks for the branch. CI also verifies that the formulas and retained inputs still select the current public RC pointer. The workflow reports the tested commit, installation run and comparison link. The release owner creates or reuses a PR, reviews it and merges after checks pass. A workflow can also be dispatched manually.

The organization disallows GitHub Actions from creating PRs. Branch preparation and test dispatch use the tap's ordinary workflow token; PR creation uses the release owner's existing GitHub authentication. No new token or organization policy change is required. For example, replace the version below with the reported update version:

gh pr create --repo openprose/homebrew-tap --base main \
  --head automation/rc-0.15.0-rc.3 --title "Select CLI 0.15.0-rc.3" \
  --body "Select the qualified public RC; review retained inputs and installation checks."

Homebrew updates follow a qualified release's public pointer; publishing across npm, downloads and this tap is not one atomic transaction. CLI release CI tests candidate archive installation before publication. This tap tests the public archive installation and command switching before admitting a formula update. No extra publication token or automatic merge is used by the tap workflow.

About

Homebrew packages for the Bun and Rust Prose CLIs

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages