fix(source-control): name --keep-data in setup uninstall guidance (0.55.6) - #3216
fix(source-control): name --keep-data in setup uninstall guidance (0.55.6)#3216kyle-sexton wants to merge 1 commit into
Conversation
…55.6)
Document that uninstalling from the last remaining scope deletes
${CLAUDE_PLUGIN_DATA} unless --keep-data is passed, and say what this
plugin loses: babysit-prs state and any worktree that resolved to that
directory.
Closes #3131
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude finished @kyle-sexton's task in 25s —— View job Security review complete ✅
Result: No security issues found. This PR only touches documentation and metadata:
There's no code execution, no GitHub Actions workflow changes, no user input handling, no credential/token handling, and no injection surface (command, SQL, path, template) introduced or modified. The skip gate in |
|
Last security-reviewed head: |
|
Closing this as superseded by #3211. Both pull requests close-link issue #3131 and carry identical changes (the same three-file diff: the version bump to 0.55.6, the CHANGELOG entry, and the |
Pull request was closed
|
Claude finished @kyle-sexton's task in 23s —— View job Code review — skipped
Result: No review performed. This PR is closed (not open), which trips the skip gate in If this PR is reopened, re-trigger |
|
Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
Closes #3131
Summary
/source-control:setup's babysit-config section warned operators not to uninstall the plugin in order to reconfigure it, citing thepluginConfigsentry an uninstall drops, and stopped there.--keep-dataappeared nowhere in the plugin. An operator who uninstalls for a legitimate reason (troubleshooting, changing scopes, reinstalling a version) had no warning that uninstalling from the last remaining scope deletes${CLAUDE_PLUGIN_DATA}by default, where this plugin stores babysit-prs state and, at the last resolution rung, worktrees.Fix
One paragraph added to
skills/setup/SKILL.md's babysit-config section, after the reconfigure bullets. It names--keep-data, states what the directory holds, and states which resolution rung each worktree root must fall through before it lands there.What the directory actually holds, verified in-tree:
${CLAUDE_PLUGIN_DATA}/state/babysit-prsuserConfigkey relocates it${CLAUDE_PLUGIN_DATA}/worktrees/source-control:worktreetreesbabysit_worktree_rootfalls back there whenever it is unset./source-control:worktree createreaches that directory only when neither the target repository'smelodic.worktreerootgit config norworktree_rootresolves (worktree-create.shrungs 2 and 3). Babysit's own worktrees are ephemeral scratch that rebuild from GitHub; the state directory and a/source-control:worktreetree holding uncommitted work are not.The existing guidance against uninstalling purely to reconfigure is unchanged. Plugin version
0.55.5→0.55.6. Followsdocs/conventions/plugin-data-report-keying/README.mdRule 4.Verification
https://code.claude.com/docs/en/plugins-reference.md, 108305 bytes): "By default, uninstalling from the last remaining scope also deletes the plugin's${CLAUDE_PLUGIN_DATA}directory. Use--keep-datato preserve it." Theplugin uninstallflag table carries--keep-dataspelled that way.rg -n 'keep-data' plugins/source-control/now hits the new paragraph and the changelog entry (zero hits onorigin/main).setup/SKILL.md:254.claude plugin validate plugins/source-control: Validation passed.scripts/check-changed-skills.sh origin/main(setup): PASS — 0 errors, 1 pre-existing soft-target warning.scripts/check-changelog-parity.sh--check/--check-bump origin/main/--check-order/--check-preserved origin/main: PASS.scripts/sync-plugin-options-docs.py --check: up to date.scripts/check-skill-count-claims.sh --check: PASS.scripts/check-skill-leaf-names.sh --check: PASS.scripts/check-cross-plugin-source-drift.sh --check: PASS.markdownlint-cli2on both changed markdown files: 0 issues.Related
/plugin-quality:auditpacket. The other findings in that packet are out of scope and tracked separately.work-items.origin/mainafter source-control0.55.5landed (source-control: worktrees created outside worktree-create.sh carry no lock, so concurrent sessions reach into each other's trees with no claim to check #2882 / fix(source-control): claim unlocked worktrees created outside the helper #3104). This PR is the rebase onto current main at0.55.6.BEGIN GENERATEDblock fromscripts/sync-plugin-options-docs.pyand a hand-edit would be clobbered. Adding--keep-datathere is a marketplace-wide edit, not a source-control one.