Skip to content

ci(docs): validate documented Homebrew packages - #362

Merged
hanthor merged 3 commits into
mainfrom
ci/347-install-command-check
Sep 2, 2026
Merged

ci(docs): validate documented Homebrew packages#362
hanthor merged 3 commits into
mainfrom
ci/347-install-command-check

Conversation

@hanthor

@hanthor hanthor commented Sep 2, 2026

Copy link
Copy Markdown
Member

Supersedes #358 (same change plus the CI fix below; the original PR head lives on a fork this session cannot push to).

Closes #347.

Adds a registry-backed check for Homebrew packages used in fenced documentation commands. Formula and cask names are verified against the Homebrew API; definitive 404s fail the check, while registry outages warn and remain non-blocking. Supports an explicit # no-verify: reason escape hatch for packages published outside homebrew-core, runs in the docs lint workflow, and is available via just check-install-commands / npm run check-install-commands.

What this adds over #358

#358's own CI failed (Node.js Syntax & Tests) because the checker found three real unannotated tap-only packages:

Package Formula API Cask API Where
bluefin-cli 404 404 docs/bluefin-cli/index.md
corral-vm 404 404 docs/homebrew-tap/index.md
tavern 404 404 docs/homebrew-tap/index.md

docs/bluefin-cli/index.md has two brew install bluefin-cli blocks and #358 annotated only the second. The checker dedupes by package name with first-seen-wins, so the earlier brew tap tuna-os/tap block still failed the run. docs/homebrew-tap/index.md was never annotated at all.

All three are published to tuna-os/tap and appear directly under a brew tap tuna-os/tap line, so the # no-verify: escape hatch is the correct resolution — not a doc change. Verified each against the live formula and cask APIs rather than trusting the doc.

Validation

  • node scripts/check-install-commands.test.mjs — OK
  • node scripts/check-install-commands.mjs over the whole docs tree — exit 0, no missing packages
  • merged current main (clean); the merge pulled in docs/homebrew-tap/index.md, which is where two of the three findings live

hanthor and others added 3 commits August 31, 2026 19:29
Signed-off-by: hanthor <hanthor@users.noreply.github.com>
… check

The checker flagged three true positives that were missing the
`# no-verify:` escape hatch:

- docs/bluefin-cli/index.md had two `brew install bluefin-cli` blocks;
  only the second was annotated, and the checker dedupes by package name
  with first-seen-wins, so the tuna-os/tap block still failed.
- docs/homebrew-tap/index.md installs corral-vm and tavern, both
  published to tuna-os/tap rather than homebrew-core.

All three 404 on the Homebrew formula and cask APIs, and each is
documented directly under a `brew tap tuna-os/tap` line, so the escape
hatch is the correct resolution rather than a doc fix.

Assisted-by: Claude Code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nothing checks whether the install commands in our guides exist — the outreach drafts contained several that don't

2 participants