on master help sign in
Add Homebrew install: fixed-name release asset and README steps

Each release now also carries diagonal-extension.zip, which releases/latest/download/ resolves to, for the cask in iko-soy/homebrew-tap. The README leads with `brew install iko-soy/tap/diagonal` and the one Load unpacked step. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LdKDAYoqmGehyHsV42LhJW

commitd21879bba634a7d950d5b3c94134a2e3f37c93e9 authorClaude <noreply@anthropic.com> dateWed 23 Sep 2026, 16:58 (2 weeks ago) parent59dc7aa
2 files changed+23−4
.github/workflows/release.yml+6−3 README.md+17−1
.github/workflows/release.yml+6−3
@@ -46,6 +46,9 @@ jobs:
4646 run: |
4747 npm run build
4848 (cd dist && zip -qr "../diagonal-extension-${DIAGONAL_VERSION}.zip" .)
49+ # Same zip under a fixed name: releases/latest/download/diagonal-extension.zip is what the
50+ # Homebrew cask (iko-soy/homebrew-tap, Casks/diagonal.rb) downloads.
51+ cp "diagonal-extension-${DIAGONAL_VERSION}.zip" diagonal-extension.zip
4952 cat dist/manifest.json | head -5
5053
5154 - name: Publish release
@@ -54,10 +57,10 @@ jobs:
5457 VERSION: ${{ steps.version.outputs.version }}
5558 run: |
5659 asset="diagonal-extension-${VERSION}.zip"
57− notes="Built from ${GITHUB_SHA::7}. Unzip, load the folder at brave://extensions (Developer mode → Load unpacked), then install the native host once from Terminal: bash <that folder>/install-host.command"
60+ notes="Built from ${GITHUB_SHA::7}. Install with: brew install iko-soy/tap/diagonal. Or by hand: unzip, load the folder at brave://extensions (Developer mode → Load unpacked), then install the native host once from Terminal: bash <that folder>/install-host.command"
5861 if gh release view "$VERSION" >/dev/null 2>&1; then
5962 # Two commits in the same minute share a version: refresh the asset on the existing release.
60− gh release upload "$VERSION" "$asset" --clobber
63+ gh release upload "$VERSION" "$asset" diagonal-extension.zip --clobber
6164 else
62− gh release create "$VERSION" "$asset" --target "$GITHUB_SHA" --title "Diagonal $VERSION" --notes "$notes"
65+ gh release create "$VERSION" "$asset" diagonal-extension.zip --target "$GITHUB_SHA" --title "Diagonal $VERSION" --notes "$notes" --latest
6366 fi
README.md+17−1
@@ -22,7 +22,23 @@ The model sees a tab's title, address and `<meta name="description">`, and nothi
2222
2323## Install
2424
25−### From a release (no clone needed)
25+### With Homebrew
26+
27+```sh
28+brew install iko-soy/tap/diagonal
29+```
30+
31+This downloads the latest release, puts the extension at `~/Library/Application Support/Diagonal/extension`, and installs the native host and registers it with Brave. Then load the extension in Brave once:
32+
33+1. Open `brave://extensions` and turn on **Developer mode**.
34+2. Click **Load unpacked**, press **Cmd+Shift+G** and paste `~/Library/Application Support/Diagonal/extension`.
35+3. Open Diagonal's settings and click **Run self-test**.
36+
37+To update: `brew upgrade --cask --greedy diagonal`, then click reload on Diagonal at `brave://extensions`. `brew uninstall diagonal` removes the extension folder, the host and its Brave manifest; `brew uninstall --zap diagonal` also removes the fm schemas and logs.
38+
39+Brave only installs extensions on its own from the Chrome Web Store, so the one Load unpacked step stays until Diagonal is published there.
40+
41+### From a release zip
2642
27431. Download `diagonal-extension-<version>.zip` from the [latest release](https://github.com/iko-soy/diagonal/releases/latest) and unzip it somewhere it can stay, for example `~/Applications/Diagonal`.
28442. Open `brave://extensions`, turn on **Developer mode**, click **Load unpacked** and pick that folder.