mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
93e91325d7
OpenProse already installed as a Claude Code plugin via `npx skills add openprose/prose`, but the packaging surface was uneven: missing manifest fields, no native Codex envelope, no plugin-track release process, and a couple of doc/audience inconsistencies. This commit closes those gaps without changing skill behavior. OpenProse now ships from the repo root as a dual-host plugin envelope — `.claude-plugin/` for Claude Code, `.codex-plugin/` plus `.agents/plugins/` for Codex — with `skills/open-prose/` as the shared core and `prose ...` as the only user-facing command surface. Codex envelope: - .codex-plugin/plugin.json with first-class catalog metadata (displayName, developer, descriptions, category, capabilities, defaultPrompt, privacy/terms URLs). - .agents/plugins/marketplace.json local-source catalog, installable by anyone who clones this repo. Claude Code manifest hygiene: - Added license, homepage, and skills: ./skills so the plugin is self-describing. - Added marketplace.json metadata.description, clearing the sole `claude plugin validate` warning. - Deleted the stale .claude-plugin/README.md. Skill metadata: - Added license: MIT to skills/open-prose/SKILL.md frontmatter (no top-level version — Claude Code strips unrecognized top-level frontmatter keys; see anthropics/claude-code#13005). - Fixed an inconsistent parse-table cell pair in skills/open-prose/deps.md. Audience boundaries: - AGENTS.md is now contributor-only per agents.md. - Recommended consumer [agents] Codex config moved to README.md alongside the Quickstart. Release process: - scripts/bump-version.sh + .version-bump.json bump both manifests atomically, with a --check mode for CI. The Claude Code marketplace deduplicates by version, so a forgotten bump silently strands users on cached copies; this gate prevents that. - scripts/extract-changelog.sh pulls a single `## [X.Y.Z]` block out of CHANGELOG.md. - RELEASE.md documents the manual flow. - .github/workflows/release.yml verifies declared versions match on `v*` tag push and publishes a GitHub Release. CI: - New plugin-manifest.yml: every-PR gate validating both plugin.json files, asserting declared skills paths resolve, and running bump-version.sh --check. - cli-skills-smoke.yml: added `npx skills list openprose/prose` discoverability check alongside the existing install smoke. - openprose-smoke/run.ts: removed a dead commands/prose-*.md regex.
2.3 KiB
2.3 KiB
OpenProse Plugin Release Process
The plugin track (the open-prose plugin shipped at prose/.claude-plugin/ and prose/.codex-plugin/) is versioned and released independently from the CLI track (cli/RELEASE.md).
Release steps
- Decide on the next version following SemVer. Patch for fixes, minor for additive changes, major for incompatible skill behavior.
- Update
CHANGELOG.md:- Move all bullets from
## [Unreleased]into a new## [X.Y.Z] - YYYY-MM-DDsection. - Leave the empty
## [Unreleased]heading in place for future entries.
- Move all bullets from
- Bump declared version files:
./scripts/bump-version.sh X.Y.Z ./scripts/bump-version.sh --check # confirms all declared files now agree - Commit:
chore: release vX.Y.Z. The commit should contain only the CHANGELOG move and the bumped manifests. - Tag and push:
git tag vX.Y.Z git push origin main vX.Y.Z - GitHub Release is created automatically by
.github/workflows/release.ymlonv*tag push, with notes pulled from the matching## [X.Y.Z]block inCHANGELOG.md.
Critical: marketplace deduplication
The Claude Code marketplace deduplicates by plugin.json:version. Pushing a fix without bumping version leaves users stuck on cached old copies (see thedotmack/claude-mem#1219). Every release MUST increment version. The CI gate ./scripts/bump-version.sh --check exists precisely to catch a forgotten bump on one of the two manifests.
Submission
- Claude Code marketplace: submit the repo URL at https://platform.claude.com/plugins/submit. Anthropic's team pins the SHA in
claude-plugins-official/marketplace.json. Do this only after the first propervX.Y.Zrelease tag is cut. - Codex plugin directory: self-serve submission is "coming soon" per https://developers.openai.com/codex/plugins/build (April 2026). The
.codex-plugin/plugin.jsonand.agents/plugins/marketplace.jsonmanifests sit ready for the moment the window opens.
What this process does NOT cover
- The CLI track. See
cli/RELEASE.mdand.github/workflows/cli-publish.ymlfor the@openprose/prose-clinpm release flow. - Marketplace publishing automation. Submission is a manual step against Anthropic's intake form.