Files
Jose Montes de Oca eaf683c2fd feat: extract the Reactor harness into openprose/reactor (#166)
Reactor now lives at github.com/openprose/reactor with its complete
history and a pinned copy of the Skill at skill-v0.15.0; its packages
(@openprose/reactor 0.3.3, reactor-cli 0.2.4, reactor-devtools 0.3.1)
publish from there and are labelled experimental (alpha).

This repository is OpenProse only again: the language spec, the Skill,
std/co, and the examples — installable and testable with no build step.

- Remove packages/reactor*, tools/eval-harness, the Reactor-driven
  example suites and test kits, both Reactor workflows, and the vitest
  aliases into packages/reactor/dist.
- Retire `prose react`, the reactor shell-out exception, and reactor.md
  from the Skill; replace the README's Reactor section with a short
  "Harnesses" pointer.
- Keep the four corpus-wide example guards as tests/open-prose/examples-corpus.
- Add ci-skill.yml: pnpm install --frozen-lockfile && pnpm test:skill —
  the conformance suites now run in CI for the first time.
- Record the `prose react` and reactor-cli changelog entries under the
  tags they actually shipped in.

The run-phase vocabulary (concepts/reactor.md, the spec titles) is
de-branded in a follow-up.
2026-08-24 16:45:51 -04:00

3.4 KiB

OpenProse Release Process

This document covers the SKILL / plugin release. Two other trains exist and are out of scope here:

  • The @openprose/reactor* packages are released from github.com/openprose/reactor on its reactor-v* tag train; see that repo's RELEASE.md. Releases up to reactor-v0.3.2-cli.0.2.3 were cut from this repo and their GitHub Releases stay here.
  • @openprose/prose-cli has been removed from the repo, so there is no prose-cli release train: its package, npm publish flow ("OpenProse Release" workflow, release preflight, and CLI release checks) are all gone.

The single remaining track here is skill — the open-prose SKILL plus the Claude + Codex plugin manifests that deliver it (skills/open-prose/SKILL.md, .claude-plugin/plugin.json, .codex-plugin/plugin.json). These move together: the Claude Code marketplace deduplicates by manifest version, so a skill change only reaches plugin users when the manifest version advances. Machine compatibility is a separate signal — SKILL.md's runtime_contract — not this X.Y.Z.

./scripts/bump-version.sh --track skill X.Y.Z   # bump the skill track's files
./scripts/bump-version.sh --check               # the track is internally consistent
./scripts/bump-version.sh --list                # print the track's version

Releasing the skill / plugin track

The skill ships from the repository (the skills CLI reads it directly) and through the plugin marketplace (which reads the manifests). There is no npm publish for this track, so its release is a version bump + tag + marketplace resubmission — independent of any CLI release.

  1. Land the skill changes on main, then bump the skill track:

    ./scripts/bump-version.sh --track skill X.Y.Z
    ./scripts/bump-version.sh --check
    

    Bump the major of runtime_contract in SKILL.md as well only when the skill's machine contract changes incompatibly (it is independent of X.Y.Z).

  2. Add a ## [X.Y.Z] section to CHANGELOG.md and the migration notes to skills/open-prose/changelog.md (the deferred upgrade brain consumed by prose upgrade).

  3. Merge the PR. The Plugin Manifest workflow enforces --check and the manifest structure on every PR.

  4. Tag and publish a GitHub Release for provenance (this tag triggers no workflow — it is a marker, kept distinct from the CLI's v* tags):

    git tag -a "skill-vX.Y.Z" -m "open-prose skill X.Y.Z"
    git push origin "skill-vX.Y.Z"
    gh release create "skill-vX.Y.Z" --title "open-prose skill X.Y.Z" \
      --notes-file <(./scripts/extract-changelog.sh X.Y.Z)
    
  5. Resubmit the plugin to the marketplaces (manual — see below), referencing the skill-vX.Y.Z tag SHA. Until the manifest version advances in the marketplace, plugin users stay on the previous cached copy.

Marketplace Submission

Marketplace publication remains manual after the GitHub Release exists.

Claude Code marketplace:

  • Repo URL: https://github.com/openprose/prose
  • Plugin path: leave blank; .claude-plugin/ is auto-detected
  • Marketplace name: openprose
  • Plugin name: open-prose
  • Version: the skill-vX.Y.Z tag SHA

Codex Plugin Directory submission is staged through .codex-plugin/, .agents/plugins/marketplace.json, and assets/plugin/ once the public submission flow opens.