Files
2026-07-13 13:05:33 +08:00

50 lines
2.0 KiB
Ruby

cask "orca" do
arch arm: "arm64", intel: "x64"
version "1.3.24"
sha256 arm: "fc707f290ff3b631b7b7947bf339885b61a43d2e89475997c125b61268ed4966",
intel: "5f677c13a08f7a5740442e29d388285a86488c8c1f7aa5f10a8721a2c6ede8e4"
url "https://github.com/stablyai/orca/releases/download/v#{version}/orca-macos-#{arch}.dmg",
verified: "github.com/stablyai/orca/"
name "Orca"
desc "IDE for orchestrating AI coding agents across terminals and worktrees"
homepage "https://onorca.dev/"
livecheck do
url :url
strategy :github_latest
end
# Why: electron-updater (src/main/updater.ts) handles in-place updates by
# writing a new Orca.app into /Applications. Marking the cask auto_updates
# tells Homebrew not to compete with the in-app updater — `brew upgrade`
# becomes a no-op unless the user passes --greedy, and brew's version
# metadata stays aligned with whatever the app has swapped itself to.
auto_updates true
conflicts_with cask: "orca@rc"
depends_on macos: :big_sur
app "Orca.app"
# Why: expose the bundled `orca` CLI on PATH at install time (Homebrew symlinks
# this into its already-on-PATH bin dir). Without it, the CLI is only registered
# by the in-app "Install CLI" action, which a headless host can never trigger —
# so `orca serve` on a server would be unreachable from the shell. The shim
# resolves the real app by walking symlinks, so the Homebrew symlink works.
binary "#{appdir}/Orca.app/Contents/Resources/bin/orca"
# Why: Orca writes user data under ~/.orca (worktrees, agent state) and
# Electron's standard userData directories. Zap removes everything the app
# creates during normal use so `brew uninstall --zap` is a clean slate.
zap trash: [
"~/.orca",
"~/Library/Application Support/Orca",
"~/Library/Caches/com.stablyai.orca",
"~/Library/Caches/com.stablyai.orca.ShipIt",
"~/Library/HTTPStorages/com.stablyai.orca",
"~/Library/Preferences/com.stablyai.orca.plist",
"~/Library/Saved Application State/com.stablyai.orca.savedState",
]
end