chore: wrap up the gap-closing session
- info/inbox commands → unified render.ts - install route: drop in-memory counter, rely on PostHog + structured logs - docs: roadmap, CLAUDE.md reflect alpha.31 state - tests workflow now also builds + smoke-tests the CLI bundle - homebrew tap bootstrap kit in packaging/homebrew-tap-bootstrap/ (README + copy of the formula template for dropping into the tap repo) - upstream Claude Code issue draft for rich <channel> UI Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
54
packaging/homebrew-tap-bootstrap/Formula/claudemesh.rb
Normal file
54
packaging/homebrew-tap-bootstrap/Formula/claudemesh.rb
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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
|
||||
38
packaging/homebrew-tap-bootstrap/README.md
Normal file
38
packaging/homebrew-tap-bootstrap/README.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Bootstrapping the `homebrew-claudemesh` tap
|
||||
|
||||
A Homebrew tap is just a GitHub repo named `homebrew-<anything>` in the
|
||||
organization whose formulas you want to expose. Users add it with:
|
||||
|
||||
```
|
||||
brew tap alezmad/claudemesh
|
||||
brew install claudemesh
|
||||
```
|
||||
|
||||
## One-time setup
|
||||
|
||||
1. Create a public GitHub repo called **`homebrew-claudemesh`** under the
|
||||
`alezmad` account (or any organization Homebrew can resolve — the name
|
||||
after `homebrew-` is the "tap" users type, and the owner is the namespace).
|
||||
2. Copy `packaging/homebrew-tap-bootstrap/Formula/claudemesh.rb` from THIS
|
||||
repo into the tap's `Formula/claudemesh.rb`.
|
||||
3. Fill in the `sha256` placeholders. For each platform, run:
|
||||
```
|
||||
curl -sL https://github.com/alezmad/claudemesh/releases/download/cli-v1.0.0/claudemesh-darwin-arm64 | sha256sum
|
||||
```
|
||||
(And so on for the three other platforms.)
|
||||
4. Commit + push. Users can now `brew tap alezmad/claudemesh && brew install claudemesh`.
|
||||
|
||||
## Keeping it up to date
|
||||
|
||||
The release workflow (`.github/workflows/release-cli.yml`) has an
|
||||
`update-homebrew` job that fires on non-prerelease tags. It calls
|
||||
`brew bump-formula-pr` against the tap, which opens a PR with updated
|
||||
`url`, `version`, and `sha256` entries.
|
||||
|
||||
Requires a `HOMEBREW_TAP_TOKEN` secret on the repo — a PAT scoped to the
|
||||
tap repo with `contents:write`.
|
||||
|
||||
## Why not auto-create the repo from this workflow?
|
||||
|
||||
Repo creation needs org-level permissions that shouldn't live in CI. One
|
||||
manual step, then everything after is automatic.
|
||||
Reference in New Issue
Block a user