Repository navigation
Claude plugin: rename box to simular-box for the plugin directory - #55
Merged
Merged
Conversation
The directory already has a plugin named box. connect installs simular-box@simular-box and then uninstalls the old box@simular-box; remove and doctor know the old name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Companion PR for the Rust CLI: simular-ai/box-cli#97. Merge this one first, then box-cli#97, then cut a CLI release right away and bump the offload skill's CLI pin to it. |
…ew files The directory reads only claude/ and shows its README. It copies the top-level README and adds what the plugin contains and what /simular-box:offload runs and sends: the pinned npx package, what is uploaded and what stays, where it goes, and how secrets and permissions are handled in the box. The offload skill stages the new files a task needs, since the CLI (box-cli#98) leaves untracked files on this computer, and drops cursor, which the box does not run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude Code migrates an installed box@simular-box to simular-box@simular-box from this map (host-marketplace docs, "Migrate users with a renames map"). connect's own migration stays for older Claude Code versions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.0 installs the plugin as simular-box@simular-box (box-cli#97) and leaves untracked files on this computer (box-cli#98), as claude/README.md describes. Co-Authored-By: Claude Opus 5.5 <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.
Motivation
Directory review: plugin name is taken
boxis already used by another plugin in the directory, and the name is permanent once live.simular-box, which matches the marketplace name and the Hermes plugin (Hermes: rename the plugin to simular-box, ask before box writes #43).Existing installs keep working
box@simular-boxwould keep the old plugin, or end up with box listed twice.connectinstallssimular-box@simular-box, then uninstalls the old plugin;removeanddoctorknow about the old name too.Directory review: say what offload runs and sends
claude/and shows its README as the listing description, and the reviewer asked us to say plainly what/box:offloadruns and sends.claude/README.mdcopies the top-level README and adds sections on what the plugin contains and what offload runs, uploads, where it goes, and how secrets and permissions work in the box.Changes
claude/.claude-plugin/plugin.jsonand.claude-plugin/marketplace.json:nameis nowsimular-box; plugin version 0.2.3 → 0.3.1. The offload skill and README pin the CLI@simular-ai/box@1.1.0.displayNamestays "box by Simular", and the MCP server inside staysbox.simular-box@simular-box,/simular-box:offload,/simular-box:back, MCP serverplugin:simular-box:box.cli/src/clients/claude-code.js:connectrefreshes an existingsimular-boxmarketplace before install, since one added before the rename lists onlybox.box@simular-boxonly after the new plugin is set up, so a failed install doesn't leave the user with no box.statusreports the old plugin as legacy (sodoctorflags it), andremoveuninstalls both names.README.md,cli/README.md, the offload skill, and the offload "bring it back" message use the new names..claude-plugin/marketplace.json:"renames": {"box": "simular-box"}, so Claude Code itself migrates an installedbox@simular-boxto the new ID (see the host-marketplace docs). The e2e against real Claude Code 2.1.322 passes with it, and Claude Code made the migration beforeconnectran. The marketplace name stayssimular-box: directory installs load assimular-box@synced, so our marketplace name only matters for people who add this repo directly.claude/README.md(new): the top-level README, with links made absolute because the directory reads only this folder, plus "What this plugin contains" and "What/simular-box:offloadruns", "What gets uploaded from your repo", "Where it goes", "How secrets are handled" and "How permissions work on the box".claude/skills/box-offload/SKILL.md: before offloading, Claude stages the new files the task needs withgit add, and asks about the untracked files the CLI warns about. That's because the CLI leaves untracked files behind (simular-ai/box-cli#98). The skill also drops--kind cursor, which the box refuses (it runs onlyclaudeandcodex).box, at the old URL), so CI checks the move and the rename together.Wiring block diagram
Interactions
claude/pins@simular-ai/box@1.1.0(released 2026-11-10 from box-cli#99, with box-cli#97 and #98), soclaude/README.mddescribes the CLI the plugin runs. Plugin version 0.3.1.@simular-ai/box1.1.0 (npmlatest). Until this PR merges, 1.1.0'sconnectcan't do a fresh Claude Code install, because the marketplace doesn't listsimular-box@simular-boxyet. An existingbox@simular-boxstays installed, since the install fails before anything is uninstalled./pluginthemselves get nothing new from/plugin update box@simular-box, because that plugin is gone from the marketplace. They neednpx @simular-ai/box connect, or to uninstallboxand installsimular-box@simular-box.boxtosimular-boxis a new install as far as Claude Code is concerned, so users sign in to box again through/mcp.Tests
npm testincli/: 68 pass.eslintis clean.claude plugin validate claudeandclaude plugin validate .both pass.node e2e/install-matrix.mjs claude-codeagainst real Claude Code 2.1.322 passes. Oldboxplugin at the old URL →connectinstallssimular-box@simular-boxand uninstallsbox@simular-box→ rerun is a no-op →doctoris clean →removecleans up./plugin marketplace add simular-ai/box-plugin(from this branch), then/plugin install simular-box@simular-box. Check that/mcplistsplugin:simular-box:box, and that/simular-box:offloadand thesimular-box:boxskill show up.box@simular-boxinstalled, runnode cli/bin/simular-box.js connect --client claude-code. Check that/pluginlists onlysimular-box.🤖 Generated with Claude Code