Homebrew tap — one-time setup
Status: the formula is shipped at
homebrew/llmwiki.rb. This doc is the checklist for creating the Homebrew tap repository that unblocksbrew install Pratiyush/tap/llmwiki(#102).
Why a tap?
Homebrew's main homebrew/core has strict acceptance criteria (notability,
age, stability). Small-but-useful CLIs like llmwiki ship via third-party
"taps" instead. A tap is just a GitHub repo called
homebrew-<name> that Homebrew can add with brew tap.
Users install with:
brew tap Pratiyush/tap # one-time
brew install llmwiki # or: brew install Pratiyush/tap/llmwiki
One-time setup
1. Create the tap repo
Create a new public GitHub repo called exactly
homebrew-tap under the Pratiyush account (the name must start
with homebrew-):
Repository name: homebrew-tap
Description: Homebrew tap for Pratiyush/llm-wiki and friends.
Visibility: Public
Add README: yes (you can replace the contents in step 3)
2. Clone it locally
git clone git@github.com:Pratiyush/homebrew-tap.git ~/src/homebrew-tap
cd ~/src/homebrew-tap
mkdir -p Formula
3. Seed the tap with the llmwiki formula
From inside this repo:
cd /path/to/llm-wiki
# Bump the formula to point at the current release (computes the SHA-256
# from GitHub's tarball). Requires the tag to already exist on GitHub.
scripts/bump-homebrew-formula.sh v1.1.0
# Copy the updated formula into the tap repo
cp homebrew/llmwiki.rb ~/src/homebrew-tap/Formula/llmwiki.rb
Then in the tap repo:
cd ~/src/homebrew-tap
git add Formula/llmwiki.rb
git commit -S -m "Add llmwiki v1.1.0 formula"
git push
4. Verify
From any machine with Homebrew:
brew tap Pratiyush/tap
brew install llmwiki
llmwiki --version # should match the tag
llmwiki adapters
brew test llmwiki # runs the `test do` block in the formula
On every new release
After tagging a new version (vX.Y.Z) in this repo:
# 1. Refresh the formula in this repo
scripts/bump-homebrew-formula.sh vX.Y.Z
# 2. Commit the updated homebrew/llmwiki.rb into this repo (keeps
# history) — e.g. as part of the release commit or a follow-up
git add homebrew/llmwiki.rb
git commit -S -m "chore: bump Homebrew formula to vX.Y.Z"
# 3. Copy into the tap repo + push
cp homebrew/llmwiki.rb ~/src/homebrew-tap/Formula/llmwiki.rb
cd ~/src/homebrew-tap
git add Formula/llmwiki.rb
git commit -S -m "llmwiki vX.Y.Z"
git push
Users then:
brew update && brew upgrade llmwiki
Optional: auto-bump via CI
If you want every release tag to auto-update the tap repo:
- Generate a personal access token with
reposcope for thePratiyush/homebrew-taprepo (or a fine-grained token scoped to "Contents: write" on just that repo). - Add it as a secret
HOMEBREW_TAP_TOKENon thellm-wikirepo: ```bash gh secret set HOMEBREW_TAP_TOKEN --repo Pratiyush/llm-wiki
``
3. The.github/workflows/homebrew-bump.ymlworkflow will then, on
eachv..*` tag push, regenerate the formula, commit to the
tap repo, and push. Without the secret, it skips the push and
just prints the new formula so you can copy-paste manually.
Troubleshooting
brew install fails with "404 on tarball" — the release tag is a
pre-release (v1.1.0-rc1) that GitHub marked as "draft" or the tag
was deleted. Check: gh release view vX.Y.Z.
brew test fails on llmwiki init — the formula runs init in a
sandboxed tmpdir; if init now writes to paths outside the working
directory, update the test to match (testpath/"raw", etc.).
Formula class name mismatch — Ruby class name in the formula must
be the camel-cased filename. Formula/llmwiki.rb → class Llmwiki.
If you rename to llm-wiki.rb, the class becomes LlmWiki.
Stale SHA after a force-push to a tag — GitHub regenerates the
tarball when a tag is moved, so the old SHA no longer matches. Re-run
bump-homebrew-formula.sh and push the new SHA to the tap repo.
Related
#102— this issuehomebrew/llmwiki.rb— the formula source of truthscripts/bump-homebrew-formula.sh— SHA refresh helper.github/workflows/homebrew-bump.yml— optional auto-bump workflowdocs/deploy/pypi-publishing.md— sibling doc for the PyPI pipeline (#101)