How changes land on main, and how macOS users install/update without cloning.
Enforced via GitHub rulesets (Settings → Rules):
| Rule | Setting |
|---|---|
| Direct pushes | Blocked (non_fast_forward + PR required) |
| Force push / delete | Blocked |
| Merge method | Squash only |
| Status checks | rust (ubuntu-latest), rust (macos-latest), ui (strict); PR title lint is CI advisory |
| Conversations | Must be resolved |
| Approvals | 0 required (solo-friendly); stale reviews dismissed |
| Admin bypass | Via pull request only |
Release tags matching v* cannot be deleted or force-moved (admin bypass allowed).
Repo merge defaults: squash title = PR title, body = PR body, delete head branch on merge, auto-merge enabled.
- PR titles must be Conventional Commits
(
feat:,fix:,docs:,adapter:, …) — enforced by the PR title workflow. - Squash merge uses the PR title as the commit subject, so
mainhistory stays conventional without a commit-message ruleset (unavailable on this plan). - See CONTRIBUTING.md and the PR template.
- Land changes on
mainvia PR. - Tag
vX.Y.Zand push the tag → Release workflow builds archives and updates the Homebrew formula checksums. - Users upgrade with
brew update && brew upgrade microbridge, then runmicrobridge-app installto refresh the marker-owned signed app (the full workflow is below).
This is the supported consumer path — not cloning the git repo.
brew install microbridge installs prebuilt release binaries for the
menu bar app and the daemon (not CLI-only; not a from-source Tauri build).
brew tap DevVig/microbridge https://github.com/DevVig/microbridge
brew install microbridge
microbridge-app installUpdates:
brew update && brew upgrade microbridge
microbridge-app install # refresh the marker-owned signed appOptional background updates (Homebrew’s own updater):
brew autoupdate start --upgrade --cleanup --immediateThe standard GUI app owns its bundled daemon. brew services start microbridge
is retained as an explicit headless mode and is verified separately in release
smokes.
Details: INSTALL.md.