Repository navigation
Release and validate the Codex, Cursor and Cortex Code plugins - #6
Merged
Merged
Conversation
The repository will carry plugins for four assistants under plugins/claude, plugins/codex, plugins/cursor and plugins/coco. Both workflows now handle all of them. Release: every plugin manifest on every host must agree on one X.Y.Z version, and a plugin folder without its host's manifest, or an unknown host folder, stops the release. Each plugin is archived per host: <name>-<slug>.claude.plugin for Claude (the folder's contents, as before), and <name>-<slug>.codex.zip, .cursor.zip or .coco.zip for the others (each holding the <name>/ folder). The changed-without-a-bump check now covers every host's plugins and every marketplace file. The existing safeguards stay: main only, no manual trigger, the version format check, the released-from-a-commit-not-on-main check, a per-step token, zip -y, and one release at a time. Validate: a new step checks the Codex, Cursor and Cortex Code plugins. Every JSON file parses, every plugin folder has its manifest, each marketplace lists exactly the plugin folders on disk, and every manifest and marketplace entry, Claude's included, carries the same version. The Claude CLI validation, the symlink refusal and the pinned actions are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jon-cook-sigma
approved these changes
Oct 13, 2026
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.
What changed
The next sync brings plugins for four assistants:
plugins/claude,plugins/codex,plugins/cursorandplugins/coco, plus the Codex marketplace (.agents/plugins/marketplace.json) and the Cursor marketplace (.cursor-plugin/marketplace.json). Today both workflows only know about Claude. This PR teaches them the other three.Release
.claude-plugin,.codex-plugin,.cursor-plugin,.cortex-plugin), and they must agree on one X.Y.Z. A plugin folder without its host's manifest, or a folder underplugins/that isn't a known host, stops the release, so nothing gets archived without its version being checked.<name>-<slug>.claude.plugin, holding the folder's contents, as before. Only the extension is new (it was.plugin).<name>-<slug>.codex.zip,.cursor.zip,.coco.zip, each holding the<name>/folder.plugins/folder and in all three marketplace files.zip -y, and the concurrency group.Validate
Merge order
Merge this before the next sync PR. The next sync is the first to carry the other hosts. If it merges under the current
Release, the release would attach only the Claude archives, and under the old.pluginname.Merging this one on its own publishes nothing.
mainstays at 0.11.6, whose release already exists, and only.github/changes, soReleasefinds the release in place and stops.Test plan
I ran each changed step offline by pulling its script out of the YAML. Inputs were the current
mainand a preview of the next sync (13 plugins x 4 hosts at 0.11.8).v0.11.8-beta). Current main gives 13 at 0.11.6. No plugins givesnone=true. These are refused: one Cursor manifest at another version, a Cortex Code plugin with no manifest, an unknown host folder, a version with a newline in it,0.11.8-rc1..claude.plugin,.codex.zip,.cursor.zip,.coco.zip. A Claude archive has the plugin's files at its root, and a Codex archive has the single<name>/folder. No.DS_Storein any archive. Current main gives 13.claude.plugin.plugins/codex/...,plugins/coco/...,.agents/plugins/marketplace.json,.cursor-plugin/marketplace.json,.claude-plugin/marketplace.json. IgnoresREADME.mdand.github/..mcp.json, a Cursor marketplace entry at another version, a Codex marketplace missing a plugin, a Codex manifest or a Claude manifest at another version.claude plugin validate --strict(2.1.284) on the next sync's marketplace, all 13 Claude manifests and all 13 skills folders: passes.Validateis green on this PR.🤖 Generated with Claude Code