Repository navigation
refactor(bitwarden-abacus-tools)!: rename the plugin from bitwarden-abacus - #303
Conversation
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR renames the |
Claude Code validationResult: Pass Validated the renamed Not covered: Findings
Both findings share one root cause and one preferred fix: adding a What passed
|
|
|
||
| ### Changed | ||
|
|
||
| - Renamed from `bitwarden-abacus` to `bitwarden-abacus-tools`, following the capability-plugin naming in ADR 0038. Install it as `bitwarden-abacus-tools@bitwarden-marketplace` and uninstall `bitwarden-abacus`; the `land.commit` slot now resolves to `bitwarden-abacus-tools:commit-message`. |
There was a problem hiding this comment.
🎨 This rename changes the install name, so it is a breaking change for anyone who has bitwarden-abacus installed. The last plugin rename marked it with **BREAKING:** in its CHANGELOG (plugins/bitwarden-tech-lead/CHANGELOG.md), and the repo has used ! in the title for breaking releases before (feat(claude-config-validator)!:). Could we do the same here, with **BREAKING:** on this line and refactor(bitwarden-abacus-tools)!: as the PR title?
34c2116 to
16113dc
Compare
| "name": "bitwarden-abacus", | ||
| "source": "./plugins/bitwarden-abacus", | ||
| "version": "0.3.0", | ||
| "name": "bitwarden-abacus-tools", |
There was a problem hiding this comment.
renames map breaks every existing install of bitwarden-abacus.
Details and fix
A plugin's entry name is its identifier — it is the key users carry in enabledPlugins and pluginConfigs. Changing it here without recording the old name leaves existing users with a settings key that no longer resolves. The plugin docs are explicit:
A plugin's
nameis its identifier. Users reference it in theenabledPluginsandpluginConfigssettings keys and in/plugin install, so changing it breaks every existing install.
When you must change a
name, add a top-levelrenamesmap tomarketplace.jsonso Claude Code migrates existing users instead of reportingPlugin "<name>" not found in marketplace. Do the same when you remove an entry fromplugins.
With the map in place, Claude Code rewrites the old key to the new one in the user, project, and local settings scopes, and shows Renamed to "bitwarden-abacus-tools" in the "bitwarden-marketplace" marketplace once. Without it, each existing user hits Plugin "bitwarden-abacus" not found in marketplace and has to clean up by hand.
This marketplace has never carried a renames map — the previous rename (bitwarden-architect → bitwarden-tech-lead, #98) predates it and worked around the gap by telling users to uninstall and reinstall. Adding the map is the supported path and makes this rename seamless instead.
Add a top-level renames key alongside plugins (treat it as append-only history — keep the entry after everyone has migrated):
"renames": {
"bitwarden-abacus": "bitwarden-abacus-tools"
}Then run claude plugin validate . to check the chain resolves.
Reference: Rename or remove a plugin
There was a problem hiding this comment.
Accepted risk. renames would prevent use of bitwarden-abacus later.
|
|
||
| ### Changed | ||
|
|
||
| - **BREAKING:** Renamed from `bitwarden-abacus` to `bitwarden-abacus-tools`, following the capability-plugin naming in ADR 0038. Install it as `bitwarden-abacus-tools@bitwarden-marketplace`; the `land.commit` slot now resolves to `bitwarden-abacus-tools:commit-message`. |
There was a problem hiding this comment.
bitwarden-abacus installed and erroring on every session load.
Details and fix
Commit a344394 removed "and uninstall bitwarden-abacus" from this note. Nothing in the changeset makes that removal safe: a renamed entry is a delisted entry, and the marketplace sets neither a renames map nor forceRemoveDeletedPlugins, so Claude Code does not remove the old copy:
Without the field, a removed plugin stays installed and reports
Plugin "<name>" not found in marketplacewhen a session loads it.
So a user who follows this note as written installs the new plugin and keeps the old one, which now fails to resolve on every session start. The repo's own precedent spells the step out — plugins/bitwarden-tech-lead/CHANGELOG.md:85 reads "Users must uninstall the old plugin and reinstall under the new name."
This is moot if you adopt the renames map suggested on .claude-plugin/marketplace.json:139 — that migrates the key automatically and the note is then correct as written. Pick one of the two; the renames map is the better fix, since it needs nothing from the user.
If you would rather keep the migration manual, restore the step:
- **BREAKING:** Renamed from `bitwarden-abacus` to `bitwarden-abacus-tools`, following the capability-plugin naming in ADR 0038. Uninstall `bitwarden-abacus` and install it as `bitwarden-abacus-tools@bitwarden-marketplace`; the `land.commit` slot now resolves to `bitwarden-abacus-tools:commit-message`.There was a problem hiding this comment.
Accepted risk. New plugin with limited install-base.
🎟️ Tracking
Stacked on #292. Brings the plugin in line with ADR 0038.
📔 Objective
We're renaming
bitwarden-abacustobitwarden-abacus-toolsso the plugin follows the capability-plugin naming in ADR 0038. It carries a skill and describes how Bitwarden uses Abacus, which is the vendor-integration case we already name with-tools, as inbitwarden-atlassian-tools.The new install name means existing installs have to switch, hence 1.0.0. Nothing in the Abacus repos references the plugin name, so the only reference that moved is the profile's own
land.commitslot.🤖 AI-assisted review
Standard local review (
code-review-local) approved. Its one finding, a stale README heading, is fixed on the branch.