Repair the reorg paths, and publish the repo as a plugin marketplace - #4
Open
gregjkal wants to merge 2 commits into
Open
Repair the reorg paths, and publish the repo as a plugin marketplace#4gregjkal wants to merge 2 commits into
gregjkal wants to merge 2 commits into
Conversation
Moving tools/wg21 to tools-wg21 broke three things that all silently kept working well enough to hide it. install.sh resolved its command list under tools/, so 11 of the 14 TOP_LEVEL entries failed their existence check and were skipped. All three family parents failed too: the parent lives at tools/voice.md, not tools/voice/voice.md. And normalize.md had been renamed to normalize-prompt.md. A run installed 21 commands instead of 35. Both lists are now paths relative to the repo root, matching how skills are already declared, so an entry says where its file actually is. A listed entry that does not resolve now prints a warning naming it, since silently skipping is what let this drift for months. README linked 30 WG21 tools at the old path and 6 how-to files at names they were renamed away from. Arno was retired to tools-wg21/retired/ but its entry stayed in the active section, so it now sits in WG21 Retired with the others. All 97 README links resolve. AGENTS.md documented tools/wg21/ and a tools-retired/ that never existed.
Adds .claude-plugin/marketplace.json and plugin.json so Claude Code users can install with /plugin marketplace add cppalliance/tools-public and get updates and uninstall handled for them. No files move: plugin.json points at the existing tools/ and tools-wg21/ layout through its custom path fields. This does not replace install.sh, which stays the only path that installs into ~/.cursor/skills/ for Cursor users. The manifest lists the same tools install.sh does, and two hand-maintained copies of that list is exactly how the installer drifted from the tree in the first place. install.sh stays the source of truth and scripts/sync_plugin_manifest.py regenerates the manifest from it. Verify with sync_plugin_manifest.py --check, which catches a stale manifest, and claude plugin validate --strict, which catches a listed path that is not in the tree. Both are documented in AGENTS.md and INSTALL.md and run by hand, since the repo has no CI.
gregjkal
force-pushed
the
fix-reorg-paths
branch
from
August 5, 2026 17:01
f15ab23 to
60e1c0a
Compare
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.
Repairs what the
tools/wg21totools-wg21reorg left pointing at the old layout, then uses those corrected paths to publish the repo as a plugin marketplace. Stacked on #3. Two commits, reviewable separately.The fix
tools/, so 11 of 14TOP_LEVELentries failed their existence check, along with all 3 family parents (the parent istools/voice.md, nottools/voice/voice.md).normalize.mdhad also been renamed tonormalize-prompt.md. A run installed 21 commands; it now installs 35.The marketplace
/plugin marketplace add cppalliance/tools-public, which handles updates and uninstall for them. No files move:plugin.jsonpoints at the existingtools/andtools-wg21/layout through its custom path fields.install.shstays, and remains the only path that installs into~/.cursor/skills/for Cursor users.install.shdoes, and two hand-maintained copies is exactly how this repo drifted in the first place.install.shstays the source of truth andscripts/sync_plugin_manifest.pyregenerates the manifest from it.Tested on bash 3.2: install, uninstall, and the drift warning against a planted bad entry.
claude plugin validate . --strictpasses, and fails as intended when I plant a missing path.Two notes. There is no CI, so the two checks are run by hand and documented in AGENTS.md:
sync_plugin_manifest.py --checkfor a stale manifest,claude plugin validate . --strictfor a path not in the tree. Andtools-wg21/images/arno.pngis orphaned now that the retired copy carries its own image; your call whether it goes.