d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# plugins/ecc — Codex Repo-Marketplace Plugin Target
|
|
|
|
This directory is the plugin folder that `.agents/plugins/marketplace.json`
|
|
points at. Codex does not discover plugins whose local marketplace
|
|
`source.path` is the marketplace root itself (`./`), so the marketplace entry
|
|
must target a concrete plugin subdirectory — verified against Codex CLI
|
|
0.137.0 and the official plugin docs (`$REPO_ROOT/plugins/<name>`).
|
|
|
|
## Single source of truth
|
|
|
|
Per the repo's no-duplication policy, no skill or MCP content is vendored
|
|
here. `.codex-plugin/plugin.json` references the canonical root content with
|
|
parent-relative paths:
|
|
|
|
| Manifest field | Resolves to |
|
|
|---|---|
|
|
| `skills` | `skills/` at the repo root |
|
|
| `mcpServers` | `.mcp.json` at the repo root |
|
|
| `interface.composerIcon` / `interface.logo` | `assets/` at the repo root |
|
|
|
|
The canonical Codex plugin manifest for the repo-root bundle (used by the
|
|
official `openai/plugins` directory shape and other harness tooling) remains
|
|
at `.codex-plugin/plugin.json`. Keep `name` and `version` in both manifests in
|
|
sync — `tests/plugin-manifest.test.js` enforces this and `scripts/release.sh`
|
|
bumps both.
|
|
|
|
## Current Codex plugin-mode status
|
|
|
|
With this layout, `codex plugin marketplace add affaan-m/ECC` discovers and
|
|
installs `ecc@ecc`. Runtime skill loading from repo marketplaces is still
|
|
unreliable upstream — Codex copies only the plugin folder into its install
|
|
cache, and local/personal marketplace plugins are not always exposed at
|
|
runtime (see [openai/codex#26037](https://github.com/openai/codex/issues/26037)
|
|
and [affaan-m/ECC#2128](https://github.com/affaan-m/ECC/issues/2128)).
|
|
|
|
After install, `codex plugin list` is not enough to prove the runtime can load
|
|
the referenced skills and assets. From an ECC checkout, run:
|
|
|
|
```bash
|
|
node scripts/codex/check-plugin-cache.js
|
|
```
|
|
|
|
The check inspects the installed cache under `CODEX_HOME` (or `~/.codex`) and
|
|
fails if `.codex-plugin/plugin.json` points at files that were not copied into
|
|
that cache entry.
|
|
|
|
Until the upstream discovery issues settle, the supported Codex path is the
|
|
manual sync flow documented in the README:
|
|
|
|
```bash
|
|
npm install && bash scripts/sync-ecc-to-codex.sh
|
|
```
|