Files
openprose__prose/.plugin-meta.json
Jose Montes de Oca d43b85157b feat(plugin): standardize marketplace manifests and submission docs (#56)
The `open-prose` plugin ships to two marketplaces (Claude Code and Codex) via three manifest surfaces with overlapping but drifted metadata. This change unifies copy across those surfaces behind a single declarative source, ships visual assets for the Codex `interface` block, gates drift in CI, and adds a maintainer-facing submission playbook to `RELEASE.md`.

## Changes

- **Copy sync** — `.plugin-meta.json` declares the canonical strings; `scripts/sync-copy.sh` writes them into every declared destination (mirrors `bump-version.sh`). `--check` mode asserts byte-equality and reports drift.
- **Unified manifests** — same descriptions across `.claude-plugin/`, `.codex-plugin/`, and `.agents/plugins/`. Registry name aligned to `openprose` (plugin name `open-prose` unchanged). Codex `skills` path normalized.
- **Visual assets** — `assets/plugin/logo.png` (512×512) and `assets/plugin/composer-icon.png` (64×64), wired into the Codex `interface` block with `brandColor` (`#8a6b2e`), `websiteURL`, and the icon slots.
- **CI gates** — four new steps in `.github/workflows/plugin-manifest.yml` covering copy sync, asset presence, Codex interface completeness, and unified registry names. Existing version-sync gate untouched.
- **Submission playbook** — new `## Marketplace submission` section in `RELEASE.md` covering Claude Code (live today) and the Codex Plugin Directory (curated; self-serve coming soon).
2026-05-04 12:14:59 -07:00

21 lines
1.4 KiB
JSON

{
"tagline": "A programming language for AI sessions. Declare outcomes, not instructions.",
"shortDescription": "Write a Markdown contract (`.prose.md`). Your agent reads it, wires services, runs subagents, and leaves an auditable trace.",
"longDescription": "OpenProse is a programming language for AI sessions. Write a Markdown contract: an agent reads it, wires the services, runs the subagents, passes artifacts through the filesystem, and leaves a durable trace under the active OpenProse root. Plain prompts are great for one-off work; they get messy when the same process needs roles, handoffs, retries, memory, or a receipt. The plugin activates on `prose ...`, on `.prose.md` files, and on requests for reusable multi-agent orchestration.",
"targets": {
"tagline": [
{ "path": ".claude-plugin/marketplace.json", "pointer": "metadata.description" }
],
"shortDescription": [
{ "path": ".claude-plugin/plugin.json", "pointer": "description" },
{ "path": ".codex-plugin/plugin.json", "pointer": "description" },
{ "path": ".codex-plugin/plugin.json", "pointer": "interface.shortDescription" },
{ "path": ".claude-plugin/marketplace.json", "pointer": "plugins[0].description" },
{ "path": ".agents/plugins/marketplace.json", "pointer": "plugins[0].description" }
],
"longDescription": [
{ "path": ".codex-plugin/plugin.json", "pointer": "interface.longDescription" }
]
}
}