Conversation
plugin.json always said "version": "dev" because stamp-plugin-version.sh only ran in GoReleaser's ephemeral working directory — the stamped value was never committed. This meant auto-updates never fired and the CLI's version-mismatch warning could never match a real version. Add the plugin stamp to scripts/release.sh so it gets committed to main before tagging. The nix and plugin changes are now batched into a single "release prep" commit with a message that reflects which files actually changed.
There was a problem hiding this comment.
Pull request overview
This PR fixes plugin auto-update/version-mismatch behavior by ensuring the Claude plugin’s plugin.json is stamped with the release version on main as part of the release prep flow (rather than only inside GoReleaser’s ephemeral workspace).
Changes:
- Move release prep into a single commit step that can include both the nix flake update and the plugin version stamp.
- Add a “Stamp plugin version” step that runs
scripts/stamp-plugin-version.sh(skipped on--dry-run). - Commit/push the staged release-prep files before tagging.
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.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cd98a0c253
ℹ️ 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".
There was a problem hiding this comment.
1 issue found across 1 file
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/release.sh">
<violation number="1" location="scripts/release.sh:104">
P2: `main` is pushed before `make release-check`, so a failed pre-flight can publish a version bump commit without a corresponding release tag.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Picks up the card step assignees → assignee_ids rename and picomatch security fix. Updates four call sites that used the old Assignees field.
Handle all three cases: nix-only, plugin-only, or both. Previously the message could mention plugin version even when only nix/package.nix was staged.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Run make release-check before nix/plugin updates so a failing check never leaves a phantom version stamped on main. Also check for jq upfront since stamp-plugin-version.sh requires it.
Summary
plugin.jsonalways said"version": "dev"becausestamp-plugin-version.shonly ran in GoReleaser's ephemeral working directory — the stamped value was never committed to mainCheckClaudePluginVersion)scripts/release.shso it's committed alongside the nix flake update before tagging, batched into a single "release prep" commitTest plan
scripts/release.sh 0.0.0-test --dry-runprints the stamp stepscripts/stamp-plugin-version.sh 1.2.3stampsplugin.jsoncorrectlybin/cipasses with the changeplugin.jsonon main shows the release version