mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-17 21:15:40 +02:00
* feat(install): add guided Claude plugin setup * fix: support Claude command shims on Windows * feat: support safe Claude plugin scope migration * fix(install): preserve interactive setup terminal * fix(install): auto-migrate setup scope changes * feat(install): add guided multi-harness installer * fix(install): sync Yarn binary metadata * fix(install): handle wizard EOF on Node 18 * ci: allow installer matrix tests to finish * test(install): allow slower PowerShell delegation * fix(install): harden guided provider reconciliation * test(install): harden packaged and local compatibility * chore: prepare guided installer release 2.2.0 * fix(install): report refreshed Codex marketplace state * fix(install): verify managed content provenance * test(install): allow empty Yarn smoke fixture * test(install): invoke Windows package shims safely * fix(install): close cross-platform release gaps * fix(install): require trusted GitHub origins * fix(install): preserve hook profile precedence * refactor(install): centralize trusted GitHub origins * ci: retrigger workflow run after merge of main Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
116 lines
5.0 KiB
Markdown
116 lines
5.0 KiB
Markdown
# .codex-plugin — Codex Native Plugin for ECC
|
|
|
|
This directory contains the **Codex plugin manifest** for ECC.
|
|
|
|
## Structure
|
|
|
|
```
|
|
.codex-plugin/
|
|
└── plugin.json — Codex plugin manifest (name, version, skills ref, MCP ref)
|
|
.mcp.json — MCP server configurations at plugin root (NOT inside .codex-plugin/)
|
|
hooks/codex-hooks.json — Codex-compatible lifecycle hook projection
|
|
```
|
|
|
|
## What This Provides
|
|
|
|
- **281 skills** from `./skills/` — reusable Codex workflows for TDD, security,
|
|
code review, architecture, and more
|
|
- **1 default MCP server** — Chrome DevTools; retired connectors remain opt-in
|
|
- **Codex lifecycle hooks** — synchronous command hooks on supported events,
|
|
with explicit review and trust in `/hooks`
|
|
|
|
## Installation
|
|
|
|
Codex 0.146.0 and newer use `plugin add`, not `plugin install`. Add ECC's
|
|
repository marketplace, install the native plugin, and verify the registration:
|
|
|
|
```bash
|
|
codex plugin marketplace add affaan-m/ECC
|
|
codex plugin add ecc@ecc
|
|
codex plugin list --json
|
|
```
|
|
|
|
Both add commands are safe to run again. A repeated marketplace add reports
|
|
`alreadyAdded: true`, and a repeated plugin add keeps the same enabled plugin
|
|
registration. To fetch a newer marketplace snapshot before applying a new ECC
|
|
release, run:
|
|
|
|
```bash
|
|
codex plugin marketplace upgrade ecc
|
|
codex plugin add ecc@ecc
|
|
```
|
|
|
|
For local development, the same native journey accepts a checkout path:
|
|
|
|
```bash
|
|
codex plugin marketplace add /absolute/path/to/ECC
|
|
codex plugin add ecc@ecc
|
|
```
|
|
|
|
ECC's marketplace entry points at the repository root. Codex copies the selected
|
|
plugin source into its cache, so the root source keeps `skills/`, `.mcp.json`,
|
|
`hooks/`, hook scripts, and presentation assets together. Parent-relative paths
|
|
from a thin plugin directory would escape that cache and produce an installed
|
|
registration with missing runtime content.
|
|
|
|
Restart Codex after installation. You can also open `/plugins` in Codex CLI to
|
|
inspect, enable, disable, or remove the plugin. The native Codex plugin does not
|
|
use Claude's `user`, `project`, or `local` install scopes: its enabled state is
|
|
stored once in the active `CODEX_HOME` (normally `~/.codex`) and applies to
|
|
Codex sessions using that home.
|
|
|
|
## Hooks and reconfiguration
|
|
|
|
The Codex manifest uses the documented `hooks` field to bundle
|
|
`./hooks/codex-hooks.json`. This provider-specific projection keeps the
|
|
synchronous `SessionStart` bootstrap verified against Codex 0.146. Claude hook
|
|
profiles are not Codex hook profiles: handlers that block tools, use unsupported
|
|
events, run asynchronously, or fail Codex's hook protocol stay out of the native
|
|
bundle. Codex enables hook support by default, but native plugin installation
|
|
does not silently authorize commands. Start a new Codex session, open `/hooks`,
|
|
then review and trust the ECC hook definition before enabling it.
|
|
Codex records trust against each definition's hash, so changed hooks require
|
|
review again. Use `/plugins` for plugin enablement and `/hooks` for hook trust;
|
|
these are separate controls.
|
|
|
|
Once the cached skills are available, invoke `$configure-ecc` inside Codex for
|
|
ECC's guided configuration. Installing the plugin again is idempotent and does
|
|
not create a second scope or duplicate hook registration.
|
|
|
|
## Native plugin versus legacy managed sync
|
|
|
|
The commands above are the native Codex plugin path. The legacy managed sync
|
|
(`bash scripts/sync-ecc-to-codex.sh`) is a separate compatibility
|
|
path that merges files into `~/.codex`. It is not a native plugin install and
|
|
does not create a marketplace registration. Prefer the native path on current
|
|
Codex; use the legacy managed sync only when you intentionally need its copied
|
|
configuration layer.
|
|
|
|
After install, `codex plugin list` is only a registration check. From an ECC
|
|
checkout, run the cache check to verify that the installed manifest can resolve
|
|
its referenced skills, MCP config, and assets:
|
|
|
|
```bash
|
|
node scripts/codex/check-plugin-cache.js
|
|
```
|
|
|
|
The installed plugin registers under the short slug `ecc` so tool and command names
|
|
stay below provider length limits.
|
|
|
|
## MCP Servers Included
|
|
|
|
| Server | Purpose |
|
|
|---|---|
|
|
| `chrome-devtools` | Interactive browser debugging via Chrome DevTools (CDP sessions, performance traces, console/network inspection) |
|
|
|
|
The former defaults (`github`, `context7`, `exa`, `memory`, `playwright`, `sequential-thinking`) were retired in the June 2026 connector audit — their jobs are covered by skills wrapping CLIs/REST APIs or by harness-native features. They remain available as opt-in entries in `mcp-configs/mcp-servers.json`. See `docs/MCP-CONNECTOR-POLICY.md` for the policy and the per-connector rationale.
|
|
|
|
## Notes
|
|
|
|
- The `skills/` directory at the repo root is the source of truth for the Codex
|
|
plugin package; do not duplicate skill content inside `.codex-plugin/`.
|
|
- ECC is moving to a skills-first workflow surface. Legacy `commands/` remain for
|
|
compatibility on harnesses that still expect slash-entry shims.
|
|
- MCP server credentials are inherited from the launching environment (env vars)
|
|
- This manifest does **not** override `~/.codex/config.toml` settings
|