Prompt to install the Allium CLI when it's missing#51
Merged
Conversation
The post-write hook previously exited silently when the `allium` binary wasn't on PATH, so a user could edit specs indefinitely with no formal checking and no hint the CLI existed. On the first .allium edit with no CLI present, the hook now surfaces a one-time notice explaining what the CLI adds and instructing the model to offer to install it (with the platform-appropriate command and a single confirmation). A "shown once" marker suppresses repeats: the per-machine cache dir first, falling back to a `.allium-cli-notice-shown` file in the project root when the cache isn't writable. Only when neither is writable does the notice recur, in which case it says so and hands off to manual installation. The notice never fires for non-spec or out-of-root edits, and self-disables once the binary is on PATH. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yavorpanayotov
added a commit
that referenced
this pull request
Jun 22, 2026
Minor bump for the CLI install notice added in #51: new backward-compatible behaviour (first-run install prompt, install offer, marker files), no breaking changes. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yavorpanayotov
added a commit
to juxt/claude-plugins
that referenced
this pull request
Jun 22, 2026
Pin scripts/allium-ref.txt to v3.5.0 and re-vendor plugins/allium via scripts/sync-allium.sh. Ships the CLI install notice (juxt/allium#51) and the accompanying version bump (juxt/allium#52) to the marketplace. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
When the
alliumbinary isn't onPATH, the post-write hook used to exit silently — so a user could edit specs indefinitely with no formal checking and no hint the CLI existed. This makes the CLI discoverable without forcing it.On the first
.alliumedit with no CLI present, the hook now surfaces a one-time notice explaining what the CLI adds (structural verification the model can't do reliably alone) and instructs the model to offer to install it — with the platform-appropriate command and a single confirmation. Nothing is installed without the user's go-ahead."Shown once" marker
A marker suppresses repeats, tried in order:
$XDG_CACHE_HOME/~/.cache/allium/…)..allium-cli-notice-shownin the project root, when the cache dir isn't writable (worth.gitignore-ing; the notice says so).The notice never fires for non-
.alliumor out-of-root edits, and self-disables once the binary is onPATH.Tests
hooks/allium-check.test.mjsextended from 74 → 95 assertions, covering: first-edit notice, once-only suppression, fresh-cache re-show, scope (no notice on non-spec / out-of-root edits), the project fallback (marker created, re-firing suppressed), and the both-unwritable handoff (skipped under root, which bypasses dir permissions).🤖 Generated with Claude Code