Files
claudemesh/packaging/homebrew/claudemesh.rb.template
Alejandro Gutiérrez ccf95ff382
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled
feat(distribution): binary release pipeline + brew + winget
- .github/workflows/release-cli.yml: build self-contained binaries via
  `bun build --compile` for darwin/linux/windows × x64/arm64 on every
  cli-v* tag, attach to GitHub Release with SHA256SUMS, auto-bump the
  homebrew tap on non-prerelease versions.
- packaging/homebrew/claudemesh.rb.template: formula template for the
  homebrew-claudemesh tap.
- packaging/winget/claudemesh.yaml.template: winget manifest template.
- /install script now detects absence of Node and downloads the
  platform-appropriate binary from the GitHub Release, installs to
  ~/.claudemesh/bin, and shims into ~/.local/bin — zero Node required.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 02:42:16 +01:00

55 lines
1.6 KiB
Plaintext

# Homebrew formula template — lives in the `alezmad/homebrew-claudemesh` tap.
#
# The release-cli workflow bumps `version`, `url`, and `sha256` per platform
# via `brew bump-formula-pr`. This template is the source shape — copy it
# into the tap repo as `Formula/claudemesh.rb` when bootstrapping, then let
# CI keep it up to date.
class Claudemesh < Formula
desc "Peer mesh for Claude Code sessions"
homepage "https://claudemesh.com"
version "1.0.0-alpha.28"
license "MIT"
on_macos do
if Hardware::CPU.arm?
url "https://github.com/alezmad/claudemesh/releases/download/cli-v#{version}/claudemesh-darwin-arm64"
sha256 "REPLACED_BY_CI"
else
url "https://github.com/alezmad/claudemesh/releases/download/cli-v#{version}/claudemesh-darwin-x64"
sha256 "REPLACED_BY_CI"
end
end
on_linux do
if Hardware::CPU.arm?
url "https://github.com/alezmad/claudemesh/releases/download/cli-v#{version}/claudemesh-linux-arm64"
sha256 "REPLACED_BY_CI"
else
url "https://github.com/alezmad/claudemesh/releases/download/cli-v#{version}/claudemesh-linux-x64"
sha256 "REPLACED_BY_CI"
end
end
def install
bin.install Dir["*"].first => "claudemesh"
end
def caveats
<<~EOS
To enable click-to-launch from invite emails:
claudemesh url-handler install
To show live peer count in Claude Code:
claudemesh install --status-line
Shell completions:
claudemesh completions zsh > "$(brew --prefix)/share/zsh/site-functions/_claudemesh"
EOS
end
test do
assert_match "claudemesh", shell_output("#{bin}/claudemesh --version")
end
end