Homebrew tap for shipping my CLI tools + a few macOS apps.
brew tap steipete/tap# formula
brew install steipete/tap/<name>
# cask
brew install --cask steipete/tap/<name>blucli— Play, group, and automate BluOSbirdclaw— Local Twitter memory for archives, DMs, likes, bookmarks, and moderationcamsnap— One command to grab frames, clips, or motion alerts from RTSP/ONVIF camscodexbar— CodexBar CLI (Linuxbrew)eightctl— Control Eight Sleep Pods from the terminalgifgrep— Grep the GIF. Stick the landing.imsg— Send and read iMessage / SMS from the terminalmcporter— Model Context Protocol runtime and CLI generator (0.12.3: typed-array signatures and refreshed dependencies)nameplate— Click-through identity overlays for Linux remote-desktop fleetsoracle— Bundle prompts + files for second-model reviewordercli— Multi-provider order CLI (Foodora, Deliveroo)peekaboo— Lightning-fast macOS screenshots & AI vision analysispoltergeist— Universal file watcher with auto-rebuild for any language or build systemsag— Command-line ElevenLabs TTS with mac-style flagssonoscli— Control Sonos speakers from the command linesongsee— Spectral visualization CLI for audio filestmuxwatch— Live tmux dashboard with Bubble Tea UI
blackbar— Menu bar app for Blacksmith CI status and live vCPU usagecodexbar— Menu bar usage monitor for Codex and Clauderepobar— Menu bar GitHub repo status at a glancetrimmy— Paste-once, run-once clipboard cleaner for terminal snippets
Run the Update Formula workflow with:
formula: formula name, e.g.tmuxwatchtag: release tag, e.g.v0.7.0repository: source repository, e.g.steipete/tmuxwatchassets: optional JSON object containing exactnameandsha256values fordarwin_amd64,darwin_arm64,linux_amd64, andlinux_arm64
When assets is present, the updater uses each filename and checksum verbatim, downloads every release asset, and refuses to commit unless the downloaded SHA-256 matches. Without it, the workflow preserves the legacy single-URL, template, alias, and filename-guessing paths for older callers. Formulae with unsupported custom platform layouts still need manual updates.
New release assets may briefly return 404 while publishing; the updater waits with exponential backoff. Concurrent formula updates rebase onto the latest main before retrying their push.
Raw metadata for API-based consumers such as mise is published at api/cask/<token>.json. The Update Cask API Metadata workflow regenerates every cask after direct cask changes and after the release updater completes, including casks changed by that workflow's GitHub token.
To regenerate locally, first make sure steipete/tap is tapped at the same commit as this checkout, then run:
python3 .github/scripts/generate_cask_api.pyOpenClaw-owned formulae live in openclaw/tap; migrated names are listed in tap_migrations.json.
brew update
brew upgrade
brew uninstall <formula>
brew uninstall --cask <cask>
# casks only: remove user data
brew uninstall --cask --zap steipete/tap/codexbar- Run
brew info steipete/tap/<name>for per-tool caveats (permissions, setup steps, etc.).
Homebrew formulae don’t support --zap. Delete these to “factory reset”:
blucli:~/Library/Application Support/blu/+~/Library/Caches/blu/birdclaw:~/.birdclaw/camsnap:~/.config/camsnap/config.yamleightctl:~/.config/eightctl/config.yamlmcporter:~/.mcporter/oracle:~/.oracle/ordercli:~/Library/Application Support/ordercli/config.jsonsonoscli:~/Library/Application Support/sonoscli/config.json
All referenced projects live next to this repo under ~/Projects/<repo>.