mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
d43b85157b
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).
21 lines
1.4 KiB
JSON
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" }
|
|
]
|
|
}
|
|
}
|