Uh oh!
There was an error while loading. Please reload this page.
Stamp plugin version at release time - #355
Conversation
Add a GoReleaser pre-hook that writes the CLI version into .claude-plugin/plugin.json before the build, so Claude Code can detect updates. The checked-in version is 'dev' — GoReleaser overrides it with the release tag.
Sensitive Change Detection (shadow mode)This PR modifies control-plane files:
|
There was a problem hiding this comment.
Pull request overview
This PR aims to ensure the Claude Code plugin manifest (.claude-plugin/plugin.json) reflects the CLI release version at build/release time so Claude Code can detect available updates.
Changes:
- Added a stamping script (
scripts/stamp-plugin-version.sh) that updates the plugin manifest version viajq. - Wired the script into GoReleaser as a
before.hooksstep using the release version. - Set the checked-in plugin manifest version to
"dev"as a placeholder.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| scripts/stamp-plugin-version.sh | New script to write a provided version into .claude-plugin/plugin.json. |
| .goreleaser.yaml | Adds a pre-build hook to run the stamping script with {{ .Version }}. |
| .claude-plugin/plugin.json | Changes checked-in version from a fixed release number to "dev". |
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:153e0da9ba
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="scripts/stamp-plugin-version.sh">
<violation number="1" location="scripts/stamp-plugin-version.sh:4">
P3: Avoid redirecting stderr to `/dev/null` in this dependency check; keep stderr visible for diagnostics while only suppressing stdout.
(Based on your team's feedback about keeping script errors visible instead of silencing stderr.) [FEEDBACK_USED]</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Summary
scripts/stamp-plugin-version.shthat usesjqto write the CLI version into.claude-plugin/plugin.json"dev"so it's obvious it's a placeholderClaude Code uses the
versionfield inplugin.jsonto detect when updates are available. Without this, the version was hardcoded at0.1.0and never bumped on release.Test plan
scripts/stamp-plugin-version.sh 1.0.0correctly stampsplugin.json, then restoring todevgoreleaser release --snapshot --cleanproduces archives with the correct version inplugin.json