# Homebrew formula skeleton for the F∆I Platform CLI. # # Lives in this repo as the canonical source — the actual # distribution is a checkout of `fai/homebrew-tap` (a separate # Forgejo repo, seeded by # `scripts/bootstrap-distribution-repos.sh`) that carries a copy # of this file at `Formula/fai.rb`. The tap repo's # `.forgejo/workflows/update.yml` (sourced from # `installer/homebrew/forgejo-workflow-update.yml` in this repo) # auto-bumps the version + sha256 entries against each new # platform release on a 4-hourly cron. # # To install a release from the tap: # # brew tap fai/tap https://git.flemming.ai/fai/homebrew-tap # brew install fai # # To install from this checkout for testing: # # brew install --build-from-source ./installer/homebrew/fai.rb # # This file is a *skeleton*. The :url / :sha256 placeholders are # populated by the release pipeline once macOS builds land on the # Forgejo Release page. The class name (`Fai`) is what Homebrew # uses to address the formula; lowercase `fai` is the binary on # disk after install. class Fai < Formula desc "Deterministic workflow engine for AI-assisted data " \ "processing in regulated environments" homepage "https://flemming.ai" version "0.12.2" license "Apache-2.0" # Platform-specific binary URLs + sha256 are filled in per # release. cargo-zigbuild-built linux artefacts come from the # same release; the formula consumes them on Apple Silicon and # Intel macs via stanza selectors. if Hardware::CPU.arm? url "https://git.flemming.ai/fai/platform/releases/download/" \ "v#{version}/fai-macos-aarch64" sha256 "83ed473673276008c0ba7eaab2a11b0106b983dd94a00bbd67544b93f0ac591c" else url "https://git.flemming.ai/fai/platform/releases/download/" \ "v#{version}/fai-macos-x86_64" sha256 "d6b39f0153c2de4e7d42390ca157a7937a65750d44496925f49ee5ce5c3b7ef3" end # Plain binary — no source build needed. We rely on the upstream # CI to have produced + signed it. Notarization is a separate # follow-up. def install bin.install Dir["*"].first => "fai" end # `brew test fai` runs this — keeps the formula honest. We don't # start the daemon; we only verify the binary is callable. test do assert_match version.to_s, shell_output("#{bin}/fai --version") end def caveats <<~EOS The F∆I daemon is not started automatically. After install: fai bootstrap # writes ~/.fai/ layout + PATH marker fai daemon start # starts the local hub fai install debug.echo # smoke-test the install path For Studio, install separately from https://flemming.ai/get. Note: this binary is not yet notarized. macOS Gatekeeper will ask for confirmation on first launch. The notarization step is tracked as the remaining half of system-gap S-16. EOS end end