bump-plugins skill - #231
Conversation
WalkthroughAdds a user-invocable ChangesPlugin version bump workflow
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 markdownlint-cli2 (0.23.0).claude/skills/bump-plugins/SKILL.mdmarkdownlint-cli2 v0.23.0 (markdownlint v0.41.0) ... [truncated 1085 characters] ... node:internal/modules/esm/resolve:271:11) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pmtk The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@coderabbitai full review |
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/skills/bump-plugins/SKILL.md:
- Around line 1-6: Move the bump-plugins skill definition out of the global
.claude/skills location and into the appropriate plugin-scoped directory under
plugins/. Preserve the existing skill metadata and workflow behavior, updating
any references needed so the plugin-specific skill remains discoverable and
invocable.
- Around line 1-6: Constrain the allowed-tools policy for the bump-plugins skill
by replacing unrestricted Bash access with a narrowly scoped wrapper that
permits only the required Git and marketplace operations. If a wrapper is not
available, document strict command and argument restrictions preventing
repository-controlled content from triggering unrelated filesystem, shell, or
network operations; update the YAML front matter while preserving the skill’s
required functionality.
- Around line 127-129: Update the dirty working tree guidance before Step 5 to
stop automatic progression when plugin.json or .claude-plugin/marketplace.json
has uncommitted changes. Display the exact conflicting diff, require explicit
user opt-in to continue, and preserve and verify the pre-existing changes after
the catalog rewrite.
- Around line 101-107: Update the bump workflow in SKILL.md to validate every
edited plugin manifest before invoking catalog-update, stopping immediately on
validation failure. After regeneration, verify the diff contains only the
confirmed version edits and expected marketplace catalog changes, and restore or
abort the generated catalog when unrelated changes or regeneration failures
occur; retain the existing per-plugin validation and git diff --stat steps.
- Around line 52-57: Update the plugin detection instructions around the git
diff and manifest checks to enumerate candidate directories from both the base
tree and HEAD. Classify candidates with a manifest only in the base tree as
removed, report them as changed plugins, and continue ignoring directories that
are not plugins in either tree.
- Around line 37-42: Update the upstream remote discovery instructions to match
only fetch URLs exactly anchored to github.com/openshift-eng/edge-tooling,
allowing any protocol and an optional .git suffix but rejecting names such as
edge-tooling-evil. Abort when no remotes or multiple remotes match; only fetch
and use the unique matching remote in the existing merge-base flow.
- Around line 78-83: Update the version-checking flow in the bump-plugins skill
to detect plugins absent from the base revision before running the git show
base-version lookup. For newly added plugins, apply the documented
initial-version rule and classify/report them without attempting to compare
against a nonexistent base file; retain the existing already-bumped and
under-scoped handling for plugins present in the base.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: cae798bf-ac8a-4dee-8e03-cc7db9dde26a
📒 Files selected for processing (1)
.claude/skills/bump-plugins/SKILL.md
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/skills/bump-plugins/SKILL.md:
- Around line 38-42: Update the repository-base detection instructions around
git fetch and git merge-base to verify that <upstream-remote>/main exists after
a failed fetch before using it. If unavailable, try only valid local fallbacks
such as origin/main or main; if none exist, stop with a clear error instead of
running merge-base against a missing ref, and report the failed fetch.
- Around line 86-92: Update the version-classification flow in the bump
procedure to compare the base plugin version with HEAD before calculating the
suggested bump. Add an explicit downgrade branch for existing plugins when HEAD
is lower than the base, flag and report the downgrade, and prevent Step 5’s
automatic target calculation or overwrite; retain the existing already-bumped
handling and skip this check for new plugins without a base version.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 4a1b504f-8e4e-4803-8081-3f0ab09d80c6
📒 Files selected for processing (2)
.claude/skills/bump-plugins/SKILL.md.gitignore
|
/lgtm |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/skills/bump-plugins/SKILL.md:
- Around line 145-147: Update the dirty-working-tree handling in the bump
workflow to require explicit opt-in before Step 5 can rewrite any pre-existing
plugin.json or .claude-plugin/marketplace.json changes. Display the exact
conflicting diff before prompting, proceed only on affirmative consent, and
after catalog-update verify that all pre-existing hunks remain intact.
- Around line 55-67: Update the plugin classification instructions to use
mutually exclusive, base-aware cases: classify HEAD-present/base-missing
manifests as new plugins, HEAD-present/base-present manifests as active plugins,
and HEAD-missing/base-present manifests as deleted plugins. Ignore directories
where both revisions lack a manifest, and apply Step 3 or Step 4 handling only
within the corresponding case.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: b82e1751-e922-43d4-8305-e7efad8ed9d1
📒 Files selected for processing (2)
.claude/skills/bump-plugins/SKILL.md.gitignore
|
/lgtm |
|
/unhold Code rabbit concerns have been dealt with |
Summary by CodeRabbit
node_modules/from version control.