[PR #3003] feat(plugin): bundle Cursor with REA runtime and skill #5553

Open
opened 2026-10-31 01:07:32 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3003
Author: @GamerDubz
Created: 10/13/2026
Status: 🔄 Open

Base: main ← Head: feat/cursor-plugin


📝 Commits (10+)

  • 6649e8e feat(plugin): make the repository installable as a Claude Code plugin
  • 4c945f5 feat(plugin): add a Codex plugin manifest and self-hosted marketplaces
  • 15a5e08 fix(release): treat the plugin manifests as release-version metadata
  • d206a19 Merge remote-tracking branch 'origin/main' into feat/claude-code-plugin
  • a34e48b test(release): cover plugin manifests in the publication history check
  • 2aea370 fix(plugin): declare the capabilities Codex plugin validation requires
  • d3359eb fix(plugin): give the Codex plugin server REA's 30-second startup timeout
  • e8e265a docs(plugin): tell plugin users how to check readiness without rea setup
  • 2f134aa docs(plugin): run the plugin readiness check through npx
  • 102661c fix(plugin): pin the plugin server launch to the release version

📊 Changes

15 files changed (+240 additions, -55 deletions)

View changed files

📝 .agents/skills/reverse-engineer-anything/SKILL.md (+1 -1)
📝 .agents/skills/reverse-engineer-anything/references/connection-and-recovery.md (+2 -2)
➕ .cursor-plugin/mcp.json (+11 -0)
➕ .cursor-plugin/plugin.json (+22 -0)
📝 .oxfmtrc.json (+3 -1)
📝 docs/installation.md (+15 -5)
📝 docs/releasing.md (+3 -2)
📝 package.json (+2 -0)
📝 release-please-config.json (+10 -0)
📝 scripts/lib/release-checkpoint.mjs (+26 -2)
📝 scripts/lib/release-notes.mjs (+2 -0)
📝 scripts/verify-package-pack.mjs (+25 -14)
📝 tests/boundary/filesystem/releaseCheckpoint.test.ts (+33 -1)
📝 tests/boundary/filesystem/releaseNotes.test.ts (+39 -3)
📝 tests/conformance/releaseConfiguration.test.ts (+46 -24)

📄 Description

Summary

Add Cursor's plugin manifest and MCP declaration to REA's shared packaged runtime. Cursor receives the canonical generated skill and shared REA icon, and launches the matching bundled runtime in-process.

This replaces #2134. The branch now merges upstream 01e00dae7, preserving its existing commits and authorship. The obsolete stacked Claude/Codex implementation and extra npm-runner child are superseded by upstream's shared implementation.

Changes

  • Pin Cursor's manifest and launcher to the current package version, and include both files in the production archive.
  • Add Cursor to Release Please, immutable release-checkpoint validation, release-only history comparison and archive verification.
  • Test stale manifest/launch pins and simulated release updates. Commit the history fixture's version changes before verifying its source snapshot; reject launcher behavior changes.
  • Bundle ./skills and ./assets/rea-plugin.png. Update installation, release and skill-recovery guidance to avoid a duplicate setup-owned MCP registration.
  • Retain upstream's in-process launcher: no temporary npm prefix, local package resolution or Windows cmd.exe wrapper remains in this PR's launcher.

No provider capability, dependency, release version or runtime API change is introduced.

Validation

Commit: bf65bc9e2, Windows, Node 24.22.1.

  • Typecheck, repository lint, formatting, metadata, build and normal pre-push check:fast passed. Changed release tests have no lint diagnostics; repository lint retains existing advisory warnings.
  • Focused release configuration/checkpoint, launcher, product catalog and analysis-view tests: 119 passed, 5 skipped on Windows. Both assertions that failed in the old Portable run now pass.
  • Final release-configuration rerun: 18 passed.
  • Documentation checks passed, including 9 README consistency tests.
  • Real Git history self-check passed: committed Cursor version-only changes accepted; a committed launcher-command change rejected.
  • Official Cursor plugin manifest schema validation passed.
  • Production archive verification passed for all three plugin clients. The packed Cursor declaration completed real MCP initialize, ping and clean EOF shutdown from a separate caller directory. Both verification runs and cleanup returned exit code 0.
  • Scoped lint-staged checks passed on the 15-file contribution; the normal pre-push hook remained enabled. git diff --check passed, and Git's merge check passed against fetched upstream 1ef591817.

The initial dependency extraction was incomplete despite npm reporting success. Reinstalling the lockfile with reduced download concurrency repaired it before the successful checks. Compiler checks used reduced concurrency and garbage-collection settings for this Windows host.

Compatibility and verification limits

The runtime and generated skill must exist before loading a source checkout; clone-only Git installation does not build them. Cursor marketplace submission and real Cursor IDE installation/UI are not verified or performed here. Existing published npm packages are unchanged and a maintainer release remains necessary.

The POSIX GitHub-CLI-backed release-notes suite and full repository/package/provider E2E were not run locally. The Windows real-Git check exercises the changed history boundary, and the archive stage plus actual packed MCP launch were executed. No real reverse-engineering provider claim is made.

Hosted CI for this revision is pending.

Author readiness

Human owner: @GamerDubz

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

The older PR predates the current readiness template. These declarations require the human owner's review; they have not been completed by an agent.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3003 **Author:** [@GamerDubz](https://github.com/GamerDubz) **Created:** 10/13/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/cursor-plugin` --- ### 📝 Commits (10+) - [`6649e8e`](https://github.com/morluto/rea/commit/6649e8e7ba247d8366d6be5af0288134cb92de63) feat(plugin): make the repository installable as a Claude Code plugin - [`4c945f5`](https://github.com/morluto/rea/commit/4c945f570d0b1d90cb8429f956fec6c83a2aafde) feat(plugin): add a Codex plugin manifest and self-hosted marketplaces - [`15a5e08`](https://github.com/morluto/rea/commit/15a5e08338e96b11f9c1eaab4def96b076f2cb4b) fix(release): treat the plugin manifests as release-version metadata - [`d206a19`](https://github.com/morluto/rea/commit/d206a19c7db0e203b71e2d0af7a83dcd26f1f8a4) Merge remote-tracking branch 'origin/main' into feat/claude-code-plugin - [`a34e48b`](https://github.com/morluto/rea/commit/a34e48b35b7f8949f0147328e904cd41981d4886) test(release): cover plugin manifests in the publication history check - [`2aea370`](https://github.com/morluto/rea/commit/2aea370e1ca61f79f2117e92a0bc626e619032b5) fix(plugin): declare the capabilities Codex plugin validation requires - [`d3359eb`](https://github.com/morluto/rea/commit/d3359ebef010e030a4dd1d1d32cb8a7a11aa707c) fix(plugin): give the Codex plugin server REA's 30-second startup timeout - [`e8e265a`](https://github.com/morluto/rea/commit/e8e265a0bc0b7232c49a91ad53bc38260da1ad3b) docs(plugin): tell plugin users how to check readiness without rea setup - [`2f134aa`](https://github.com/morluto/rea/commit/2f134aaa7e729fa1d7d4f86e925c4be95464b799) docs(plugin): run the plugin readiness check through npx - [`102661c`](https://github.com/morluto/rea/commit/102661ca6fd17b270ffa25e2397eb80c01b08044) fix(plugin): pin the plugin server launch to the release version ### 📊 Changes **15 files changed** (+240 additions, -55 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/reverse-engineer-anything/SKILL.md` (+1 -1) 📝 `.agents/skills/reverse-engineer-anything/references/connection-and-recovery.md` (+2 -2) ➕ `.cursor-plugin/mcp.json` (+11 -0) ➕ `.cursor-plugin/plugin.json` (+22 -0) 📝 `.oxfmtrc.json` (+3 -1) 📝 `docs/installation.md` (+15 -5) 📝 `docs/releasing.md` (+3 -2) 📝 `package.json` (+2 -0) 📝 `release-please-config.json` (+10 -0) 📝 `scripts/lib/release-checkpoint.mjs` (+26 -2) 📝 `scripts/lib/release-notes.mjs` (+2 -0) 📝 `scripts/verify-package-pack.mjs` (+25 -14) 📝 `tests/boundary/filesystem/releaseCheckpoint.test.ts` (+33 -1) 📝 `tests/boundary/filesystem/releaseNotes.test.ts` (+39 -3) 📝 `tests/conformance/releaseConfiguration.test.ts` (+46 -24) </details> ### 📄 Description ## Summary Add Cursor's plugin manifest and MCP declaration to REA's shared packaged runtime. Cursor receives the canonical generated skill and shared REA icon, and launches the matching bundled runtime in-process. This replaces #2134. The branch now merges upstream `01e00dae7`, preserving its existing commits and authorship. The obsolete stacked Claude/Codex implementation and extra npm-runner child are superseded by upstream's shared implementation. ## Changes - Pin Cursor's manifest and launcher to the current package version, and include both files in the production archive. - Add Cursor to Release Please, immutable release-checkpoint validation, release-only history comparison and archive verification. - Test stale manifest/launch pins and simulated release updates. Commit the history fixture's version changes before verifying its source snapshot; reject launcher behavior changes. - Bundle `./skills` and `./assets/rea-plugin.png`. Update installation, release and skill-recovery guidance to avoid a duplicate setup-owned MCP registration. - Retain upstream's in-process launcher: no temporary npm prefix, local package resolution or Windows `cmd.exe` wrapper remains in this PR's launcher. No provider capability, dependency, release version or runtime API change is introduced. ## Validation Commit: `bf65bc9e2`, Windows, Node 24.22.1. - Typecheck, repository lint, formatting, metadata, build and normal pre-push `check:fast` passed. Changed release tests have no lint diagnostics; repository lint retains existing advisory warnings. - Focused release configuration/checkpoint, launcher, product catalog and analysis-view tests: **119 passed, 5 skipped on Windows**. Both assertions that failed in the old Portable run now pass. - Final release-configuration rerun: **18 passed**. - Documentation checks passed, including **9 README consistency tests**. - Real Git history self-check passed: committed Cursor version-only changes accepted; a committed launcher-command change rejected. - Official Cursor plugin manifest schema validation passed. - Production archive verification passed for all three plugin clients. The packed Cursor declaration completed real MCP initialize, ping and clean EOF shutdown from a separate caller directory. Both verification runs and cleanup returned exit code 0. - Scoped lint-staged checks passed on the 15-file contribution; the normal pre-push hook remained enabled. `git diff --check` passed, and Git's merge check passed against fetched upstream `1ef591817`. The initial dependency extraction was incomplete despite npm reporting success. Reinstalling the lockfile with reduced download concurrency repaired it before the successful checks. Compiler checks used reduced concurrency and garbage-collection settings for this Windows host. ## Compatibility and verification limits The runtime and generated skill must exist before loading a source checkout; clone-only Git installation does not build them. Cursor marketplace submission and real Cursor IDE installation/UI are not verified or performed here. Existing published npm packages are unchanged and a maintainer release remains necessary. The POSIX GitHub-CLI-backed release-notes suite and full repository/package/provider E2E were not run locally. The Windows real-Git check exercises the changed history boundary, and the archive stage plus actual packed MCP launch were executed. No real reverse-engineering provider claim is made. Hosted CI for this revision is pending. ## Author readiness Human owner: @GamerDubz - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. The older PR predates the current readiness template. These declarations require the human owner's review; they have not been completed by an agent. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5553
No description provided.