2026-06-07 01:26:42 -04:00
**Language:** English | [Português (Brasil) ](docs/pt-BR/README.md ) | [简体中文 ](README.zh-CN.md ) | [繁體中文 ](docs/zh-TW/README.md ) | [日本語 ](docs/ja-JP/README.md ) | [한국어 ](docs/ko-KR/README.md ) | [Türkçe ](docs/tr/README.md ) | [Русский ](docs/ru/README.md ) | [Tiếng Việt ](docs/vi-VN/README.md ) | [ไทย ](docs/th/README.md ) | [Deutsch ](docs/de-DE/README.md ) | [Español ](docs/es/README.md )
2026-01-29 15:06:29 +08:00
2026-05-19 06:42:17 -04:00
# ECC
2026-01-17 17:49:33 -08:00
2026-05-19 06:42:17 -04:00

2026-04-22 00:57:49 +07:00
2026-05-19 14:28:25 +05:30
[](https://github.com/affaan-m/ECC/stargazers)
[](https://github.com/affaan-m/ECC/network/members)
[](https://github.com/affaan-m/ECC/graphs/contributors)
2026-03-04 15:29:37 -08:00
[](https://www.npmjs.com/package/ecc-universal)
[](https://www.npmjs.com/package/ecc-agentshield)
[](https://github.com/marketplace/ecc-tools)
2026-01-22 22:19:01 -08:00
[](LICENSE)


2026-02-06 02:22:21 -08:00

2026-01-26 08:20:42 +00:00

2026-02-06 02:22:21 -08:00

2026-03-09 06:20:26 +03:00

2026-01-22 22:19:01 -08:00

2026-06-09 20:26:31 -04:00
> **211.9K+ stars** | **32.5K+ forks** | **230+ contributors** | **12+ language ecosystems** | **Cross-harness agent workflows**
2026-02-06 02:22:21 -08:00
2026-02-01 20:05:02 +08:00
---
<div align="center">
2026-06-07 01:26:42 -04:00
**Language / 语言 / 語言 / Dil / Язык / Ngôn ngữ / Idioma**
2026-02-01 20:05:02 +08:00
2026-03-21 14:09:27 +01:00
[**English** ](README.md ) | [Português (Brasil) ](docs/pt-BR/README.md ) | [简体中文 ](README.zh-CN.md ) | [繁體中文 ](docs/zh-TW/README.md ) | [日本語 ](docs/ja-JP/README.md ) | [한국어 ](docs/ko-KR/README.md )
2026-06-07 01:26:42 -04:00
| [Türkçe ](docs/tr/README.md ) | [Русский ](docs/ru/README.md ) | [Tiếng Việt ](docs/vi-VN/README.md ) | [ไทย ](docs/th/README.md ) | [Deutsch ](docs/de-DE/README.md ) | [Español ](docs/es/README.md )
2026-02-01 20:05:02 +08:00
</div>
---
2026-01-29 15:06:26 +08:00
2026-05-28 07:30:06 -04:00
**The harness-native operator system for agentic work. Built from real-world multi-harness engineering workflows.**
2026-01-17 17:49:33 -08:00
2026-04-01 02:11:24 -07:00
Not just configs. A complete system: skills, instincts, memory optimization, continuous learning, security scanning, and research-first development. Production-ready agents, skills, hooks, rules, MCP configurations, and legacy command shims evolved over 10+ months of intensive daily use building real products.
2026-02-28 10:09:51 -08:00
2026-05-28 07:30:06 -04:00
Works across **Codex** , **Claude Code** , **Cursor** , **OpenCode** , **Gemini** , **Zed** , **GitHub Copilot** , and other AI agent harnesses.
2026-01-17 17:49:33 -08:00
2026-06-09 21:20:33 -04:00
ECC v2.0.0 adds the public Hermes operator story on top of that reusable layer: start with the [Hermes setup guide ](docs/HERMES-SETUP.md ), then review the [2.0.0 release notes ](docs/releases/2.0.0/release-notes.md ) and [cross-harness architecture ](docs/architecture/cross-harness.md ).
2026-04-28 22:10:04 -04:00
2026-05-15 02:55:23 -04:00
---
<table>
<tr>
<td width="25%" align="center">
<a href="https://ecc.tools/pricing">
2026-05-15 03:20:10 -04:00
<strong> ECC Pro</strong><br />
2026-05-15 02:55:23 -04:00
<sub>Private repos · GitHub App · $19/seat/mo</sub>
</a>
</td>
<td width="25%" align="center">
<a href="https://github.com/sponsors/affaan-m">
2026-05-15 03:20:10 -04:00
<strong> Sponsor</strong><br />
2026-05-15 02:55:23 -04:00
<sub>Fund the OSS · From $5/mo</sub>
</a>
</td>
<td width="25%" align="center">
2026-05-19 14:28:25 +05:30
<a href="https://github.com/affaan-m/ECC/discussions">
2026-05-15 02:55:23 -04:00
<strong>Community</strong>
<br />
<sub>Discussions · Q&A · Show & Tell</sub>
</a>
</td>
<td width="25%" align="center">
<a href="https://github.com/apps/ecc-tools">
2026-05-15 03:20:10 -04:00
<strong> GitHub App</strong><br />
2026-05-15 02:55:23 -04:00
<sub>Install · PR audits · Free tier</sub>
</a>
</td>
</tr>
</table>
<sub>**OSS stays free.** This repo is MIT-licensed forever. ECC Pro is the hosted GitHub App for private repos. <a href="https://github.com/sponsors/affaan-m">Sponsors</a> and <a href="https://ecc.tools/pricing">Pro subscribers</a> fund the work — that's why a single maintainer ships weekly across 7 harnesses.</sub>
2026-06-09 20:26:31 -04:00
<div align="center">
<sub><strong>Business sponsors</strong></sub><br />
<a href="https://www.coderabbit.ai"><img src="assets/images/sponsors/coderabbit.png" width="72" alt="CodeRabbit logo" /></a>
<a href="https://greptile.com"><img src="assets/images/sponsors/greptile.png" width="72" alt="Greptile logo" /></a>
</div>
2026-01-17 17:49:33 -08:00
---
2026-01-21 12:05:58 -08:00
## The Guides
2026-01-17 17:49:33 -08:00
2026-01-21 12:23:50 -08:00
This repo is the raw code only. The guides explain everything.
2026-01-17 18:06:52 -08:00
2026-01-22 22:29:06 -08:00
<table>
<tr>
2026-03-20 20:24:56 -07:00
<td width="33%">
2026-06-09 20:26:31 -04:00
<a href="https://x.com/affaan/status/2012378465664745795">
2026-05-28 07:30:06 -04:00
<img src="./assets/images/guides/shorthand-guide.png" alt="The Shorthand Guide to ECC" />
2026-01-22 22:29:06 -08:00
</a>
</td>
2026-03-20 20:24:56 -07:00
<td width="33%">
2026-06-09 20:26:31 -04:00
<a href="https://x.com/affaan/status/2014040193557471352">
2026-05-28 07:30:06 -04:00
<img src="./assets/images/guides/longform-guide.png" alt="The Longform Guide to ECC" />
2026-01-22 22:29:06 -08:00
</a>
</td>
2026-03-20 20:24:56 -07:00
<td width="33%">
2026-06-09 20:26:31 -04:00
<a href="https://x.com/affaan/status/2033263813387223421">
2026-03-20 20:34:03 -07:00
<img src="./assets/images/security/security-guide-header.png" alt="The Shorthand Guide to Everything Agentic Security" />
2026-03-20 20:24:56 -07:00
</a>
</td>
2026-01-22 22:29:06 -08:00
</tr>
<tr>
2026-01-29 00:11:11 -08:00
<td align="center"><b>Shorthand Guide</b><br/>Setup, foundations, philosophy. <b>Read this first.</b></td>
2026-01-22 22:29:06 -08:00
<td align="center"><b>Longform Guide</b><br/>Token optimization, memory persistence, evals, parallelization.</td>
2026-03-20 20:24:56 -07:00
<td align="center"><b>Security Guide</b><br/>Attack vectors, sandboxing, sanitization, CVEs, AgentShield.</td>
2026-01-22 22:29:06 -08:00
</tr>
</table>
2026-01-21 12:05:58 -08:00
| Topic | What You'll Learn |
|-------|-------------------|
| Token Optimization | Model selection, system prompt slimming, background processes |
| Memory Persistence | Hooks that save/load context across sessions automatically |
| Continuous Learning | Auto-extract patterns from sessions into reusable skills |
| Verification Loops | Checkpoint vs continuous evals, grader types, pass@k metrics |
| Parallelization | Git worktrees, cascade method, when to scale instances |
| Subagent Orchestration | The context problem, iterative retrieval pattern |
2026-01-21 11:40:43 -08:00
2026-01-17 17:49:33 -08:00
---
2026-02-06 02:22:21 -08:00
## What's New
2026-06-09 21:20:33 -04:00
### v2.0.0 — The Agent Harness Operating System (Jun 2026)
Stable graduation of the 2.0 line: 261 skills, the control-pane substrate (session adapters + MCP inventory), the worktree-lifecycle service, the `orch-*` orchestrator family, and the launch of the [ECC Discord community ](https://discord.gg/36yGMHGFbR ). Full notes: [docs/releases/2.0.0/release-notes.md ](docs/releases/2.0.0/release-notes.md ).
2026-04-28 22:10:04 -04:00
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
2026-04-05 13:20:18 -07:00
2026-04-12 06:52:54 +00:00
- **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard` ) with dark/light theme toggle, font customization, and project logo in header and taskbar.
2026-06-07 03:15:31 -05:00
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 261 skills, and 84 legacy command shims.
2026-04-05 15:19:56 -07:00
- **Operator and outbound workflow expansion** — `brand-voice` , `social-graph-ranker` , `connections-optimizer` , `customer-billing-ops` , `ecc-tools-cost-audit` , `google-workspace-ops` , `project-flow-ops` , and `workspace-surface-audit` round out the operator lane.
2026-04-05 13:20:18 -07:00
- **Media and launch tooling** — `manim-video` , `remotion-video-creation` , and upgraded social publishing surfaces make technical explainers and launch content part of the same system.
- **Framework and product surface growth** — `nestjs-patterns` , richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone.
2026-05-25 14:02:05 -04:00
- **Itô prediction-market skill pack** — `ito-market-intelligence` , `ito-basket-compare` , `ito-trade-planner` , `ito-data-atlas-agent` , `prediction-market-oracle-research` , and `prediction-market-risk-review` add public, non-advisory market/basket workflows while keeping live Itô API access gated and separate from ECC Tools billing.
- **Optimization skill pack** — `parallel-execution-optimizer` , `benchmark-optimization-loop` , `data-throughput-accelerator` , `latency-critical-systems` , and `recursive-decision-ledger` turn repeated speed/recursion prompts into bounded benchmark, throughput, and decision-ledger workflows.
2026-04-05 13:20:18 -07:00
- **ECC 2.0 alpha is in-tree** — the Rust control-plane prototype in `ecc2/` now builds locally and exposes `dashboard` , `start` , `sessions` , `status` , `stop` , `resume` , and `daemon` commands. It is usable as an alpha, not yet a general release.
2026-05-11 12:44:38 -04:00
- **Operator status snapshots** — `ecc status --markdown --write status.md` turns the local state store into a portable handoff covering readiness, active sessions, skill-run health, install health, pending governance events, and linked work items from Linear/GitHub/handoffs. Use `ecc work-items upsert ...` for manual entries, `ecc work-items sync-github --repo owner/repo` for PR/issue queue state, and `ecc status --exit-code` to fail automation when readiness needs attention.
2026-04-05 13:20:18 -07:00
- **Ecosystem hardening** — AgentShield, ECC Tools cost controls, billing portal work, and website refreshes continue to ship around the core plugin instead of drifting into separate silos.
2026-03-20 00:29:20 -07:00
### v1.9.0 — Selective Install & Language Expansion (Mar 2026)
- **Selective install architecture** — Manifest-driven install pipeline with `install-plan.js` and `install-apply.js` for targeted component installation. State store tracks what's installed and enables incremental updates.
- **6 new agents** — `typescript-reviewer` , `pytorch-build-resolver` , `java-build-resolver` , `java-reviewer` , `kotlin-reviewer` , `kotlin-build-resolver` expand language coverage to 10 languages.
- **New skills** — `pytorch-patterns` for deep learning workflows, `documentation-lookup` for API reference research, `bun-runtime` and `nextjs-turbopack` for modern JS toolchains, plus 8 operational domain skills and `mcp-server-patterns` .
- **Session & state infrastructure** — SQLite state store with query CLI, session adapters for structured recording, skill evolution foundation for self-improving skills.
- **Orchestration overhaul** — Harness audit scoring made deterministic, orchestration status and launcher compatibility hardened, observer loop prevention with 5-layer guard.
- **Observer reliability** — Memory explosion fix with throttling and tail sampling, sandbox access fix, lazy-start logic, and re-entrancy guard.
- **12 language ecosystems** — New rules for Java, PHP, Perl, Kotlin/Android/KMP, C++, and Rust join existing TypeScript, Python, Go, and common rules.
2026-04-05 20:25:12 -07:00
- **Community contributions** — Korean and Chinese translations, biome hook optimization, video processing skills, operational skills, PowerShell installer, Antigravity IDE support.
2026-03-20 00:29:20 -07:00
- **CI hardening** — 19 test failure fixes, catalog count enforcement, install manifest validation, and full test suite green.
2026-03-04 14:48:06 -08:00
### v1.8.0 — Harness Performance System (Mar 2026)
- **Harness-first release** — ECC is now explicitly framed as an agent harness performance system, not just a config pack.
- **Hook reliability overhaul** — SessionStart root fallback, Stop-phase session summaries, and script-based hooks replacing fragile inline one-liners.
- **Hook runtime controls** — `ECC_HOOK_PROFILE=minimal|standard|strict` and `ECC_DISABLED_HOOKS=...` for runtime gating without editing hook files.
- **New harness commands** — `/harness-audit` , `/loop-start` , `/loop-status` , `/quality-gate` , `/model-route` .
- **NanoClaw v2** — model routing, skill hot-load, session branch/search/export/compact/metrics.
- **Cross-harness parity** — behavior tightened across Claude Code, Cursor, OpenCode, and Codex app/CLI.
- **997 internal tests passing** — full suite green after hook/runtime refactor and compatibility updates.
2026-02-27 06:06:41 -08:00
### v1.7.0 — Cross-Platform Expansion & Presentation Builder (Feb 2026)
- **Codex app + CLI support** — Direct `AGENTS.md` -based Codex support, installer targeting, and Codex docs
- **`frontend-slides` skill** — Zero-dependency HTML presentation builder with PPTX conversion guidance and strict viewport-fit rules
- **5 new generic business/content skills** — `article-writing` , `content-engine` , `market-research` , `investor-materials` , `investor-outreach`
- **Broader tool coverage** — Cursor, Codex, and OpenCode support tightened so the same repo ships cleanly across all major harnesses
- **992 internal tests** — Expanded validation and regression coverage across plugin, hooks, skills, and packaging
2026-02-25 07:19:44 -08:00
### v1.6.0 — Codex CLI, AgentShield & Marketplace (Feb 2026)
- **Codex CLI support** — New `/codex-setup` command generates `codex.md` for OpenAI Codex CLI compatibility
- **7 new skills** — `search-first` , `swift-actor-persistence` , `swift-protocol-di-testing` , `regex-vs-llm-structured-text` , `content-hash-cache-pattern` , `cost-aware-llm-pipeline` , `skill-stocktake`
- **AgentShield integration** — `/security-scan` skill runs AgentShield directly from Claude Code; 1282 tests, 102 rules
- **GitHub Marketplace** — ECC Tools GitHub App live at [github.com/marketplace/ecc-tools ](https://github.com/marketplace/ecc-tools ) with free/pro/enterprise tiers
- **30+ community PRs merged** — Contributions from 30 contributors across 6 languages
- **978 internal tests** — Expanded validation suite across agents, skills, commands, hooks, and rules
2026-02-06 02:22:21 -08:00
### v1.4.1 — Bug Fix (Feb 2026)
2026-05-19 14:28:25 +05:30
- **Fixed instinct import content loss** — `parse_instinct_file()` was silently dropping all content after frontmatter (Action, Evidence, Examples sections) during `/instinct-import` . ([#148 ](https://github.com/affaan-m/ECC/issues/148 ), [#161 ](https://github.com/affaan-m/ECC/pull/161 ))
2026-02-06 02:22:21 -08:00
### v1.4.0 — Multi-Language Rules, Installation Wizard & PM2 (Feb 2026)
- **Interactive installation wizard** — New `configure-ecc` skill provides guided setup with merge/overwrite detection
- **PM2 & multi-agent orchestration** — 6 new commands (`/pm2` , `/multi-plan` , `/multi-execute` , `/multi-backend` , `/multi-frontend` , `/multi-workflow` ) for managing complex multi-service workflows
2026-03-09 06:46:49 +03:00
- **Multi-language rules architecture** — Rules restructured from flat files into `common/` + `typescript/` + `python/` + `golang/` directories. Install only the languages you need
2026-02-06 02:22:21 -08:00
- **Chinese (zh-CN) translations** — Complete translation of all agents, commands, skills, and rules (80+ files)
- **GitHub Sponsors support** — Sponsor the project via GitHub Sponsors
- **Enhanced CONTRIBUTING.md** — Detailed PR templates for each contribution type
### v1.3.0 — OpenCode Plugin Support (Feb 2026)
- **Full OpenCode integration** — 12 agents, 24 commands, 16 skills with hook support via OpenCode's plugin system (20+ event types)
- **3 native custom tools** — run-tests, check-coverage, security-audit
- **LLM documentation** — `llms.txt` for comprehensive OpenCode docs
### v1.2.0 — Unified Commands & Skills (Feb 2026)
- **Python/Django support** — Django patterns, security, TDD, and verification skills
- **Java Spring Boot skills** — Patterns, security, TDD, and verification for Spring Boot
- **Session management** — `/sessions` command for session history
- **Continuous learning v2** — Instinct-based learning with confidence scoring, import/export, evolution
2026-05-19 14:28:25 +05:30
See the full changelog in [Releases ](https://github.com/affaan-m/ECC/releases ).
2026-02-06 02:22:21 -08:00
---
2026-03-29 08:59:06 -04:00
## Quick Start
2026-02-01 20:05:02 +08:00
Get up and running in under 2 minutes:
2026-04-23 02:11:29 -04:00
### Pick one path only
Most Claude Code users should use exactly one install path:
- **Recommended default:** install the Claude Code plugin, then copy only the rule folders you actually want.
- **Use the manual installer only if** you want finer-grained control, want to avoid the plugin path entirely, or your Claude Code build has trouble resolving the self-hosted marketplace entry.
- **Do not stack install methods.** The most common broken setup is: `/plugin install` first, then `install.sh --profile full` or `npx ecc-install --profile full` afterward.
If you already layered multiple installs and things look duplicated, skip straight to [Reset / Uninstall ECC ](#reset--uninstall-ecc ).
2026-04-30 01:48:31 -04:00
### Low-context / no-hooks path
If hooks feel too global or you only want ECC's rules, agents, commands, and core workflow skills, skip the plugin and use the minimal manual profile:
```bash
./install.sh --profile minimal --target claude
```
```powershell
.\ install . ps1 - -profile minimal - -target claude
# or
npx ecc-install - -profile minimal - -target claude
```
This profile intentionally excludes `hooks-runtime` .
If you want the normal core profile but need hooks off, use:
```bash
./install.sh --profile core --without baseline:hooks --target claude
```
Add hooks later only if you want runtime enforcement:
```bash
./install.sh --target claude --modules hooks-runtime
```
2026-04-30 06:57:53 -04:00
### Find the right components first
If you are not sure which ECC profile or component to install, ask the packaged advisor from any project:
```bash
npx ecc consult "security reviews" --target claude
```
It returns matching components, related profiles, and preview/install commands. Use the preview command before installing if you want to inspect the exact file plan.
2026-05-01 20:19:25 -05:00
For production ML/MLOps workflows, keep the install opt-in and component-scoped:
```bash
npx ecc consult "mlops training model deployment" --target claude
npx ecc install --profile minimal --target claude --with capability:machine-learning
```
2026-04-23 02:11:29 -04:00
### Step 1: Install the Plugin (Recommended)
2026-02-01 20:05:02 +08:00
2026-04-05 13:20:18 -07:00
> NOTE: The plugin is convenient, but the OSS installer below is still the most reliable path if your Claude Code build has trouble resolving self-hosted marketplace entries.
2026-02-01 20:05:02 +08:00
```bash
# Add marketplace
2026-05-19 14:28:25 +05:30
/plugin marketplace add https://github.com/affaan-m/ECC
2026-02-01 20:05:02 +08:00
# Install plugin
2026-05-11 02:10:36 -04:00
/plugin install ecc@ecc
2026-02-01 20:05:02 +08:00
```
2026-04-14 20:36:51 -07:00
### Naming + Migration Note
ECC now has three public identifiers, and they are not interchangeable:
2026-05-19 14:28:25 +05:30
- GitHub source repo: `affaan-m/ECC`
2026-05-11 02:10:36 -04:00
- Claude marketplace/plugin identifier: `ecc@ecc`
2026-04-14 20:36:51 -07:00
- npm package: `ecc-universal`
2026-05-11 02:10:36 -04:00
This is intentional. Anthropic marketplace/plugin installs are keyed by a canonical plugin identifier, so ECC uses `ecc@ecc` to keep tool names and slash-command namespaces short enough for strict Desktop/API validators. Older posts may still show the former long marketplace identifier; treat that as a legacy alias only. Separately, the npm package stayed on `ecc-universal` , so npm installs and marketplace installs intentionally use different names.
2026-04-14 19:44:08 -07:00
2026-05-11 02:10:36 -04:00
### Step 2: Install Rules Only If You Need Them
2026-02-01 20:05:02 +08:00
2026-04-21 18:28:52 -04:00
> WARNING: **Important:** Claude Code plugins cannot distribute `rules` automatically.
>
> If you already installed ECC via `/plugin install`, **do not run `./install.sh --profile full`, `.\install.ps1 --profile full`, or `npx ecc-install --profile full` afterward**. The plugin already loads ECC skills, commands, and hooks. Running the full installer after a plugin install copies those same surfaces into your user directories and can create duplicate skills plus duplicate runtime behavior.
>
2026-04-30 07:43:20 -04:00
> For plugin installs, manually copy only the `rules/` directories you want under `~/.claude/rules/ecc/`. Start with `rules/common` plus one language or framework pack you actually use. Do not copy every rules directory unless you explicitly want all of that context in Claude.
2026-04-12 16:00:55 -05:00
>
2026-04-23 02:11:29 -04:00
> Use the full installer only when you are doing a fully manual ECC install instead of the plugin path.
>
> If your local Claude setup was wiped or reset, that does not mean you need to repurchase ECC. Start with `node scripts/ecc.js list-installed`, then run `node scripts/ecc.js doctor` and `node scripts/ecc.js repair` before reinstalling anything. That usually restores ECC-managed files without rebuilding your setup. If the problem is account or marketplace access for ECC Tools, handle billing/account recovery separately.
2026-04-09 18:12:08 -07:00
2026-02-01 20:05:02 +08:00
```bash
# Clone the repo first
2026-05-19 14:28:25 +05:30
git clone https://github.com/affaan-m/ECC.git
2026-05-19 14:38:34 +05:30
cd ECC
2026-02-01 20:05:02 +08:00
2026-03-16 20:40:56 +00:00
# Install dependencies (pick your package manager)
npm install # or: pnpm install | yarn install | bun install
2026-04-30 07:43:20 -04:00
# Plugin install path: copy only ECC rules into an ECC-owned namespace
mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/
2026-03-26 17:49:04 +05:30
2026-04-21 18:28:52 -04:00
# Fully manual ECC install path (use this instead of /plugin install)
# ./install.sh --profile full
2026-02-01 20:05:02 +08:00
```
2026-03-16 21:35:17 +01:00
```powershell
# Windows PowerShell
2026-03-26 17:49:04 +05:30
2026-04-30 07:43:20 -04:00
# Plugin install path: copy only ECC rules into an ECC-owned namespace
New-Item -ItemType Directory -Force -Path " $HOME /.claude/rules/ecc" | Out-Null
Copy-Item -Recurse rules / common " $HOME /.claude/rules/ecc/"
Copy-Item -Recurse rules / typescript " $HOME /.claude/rules/ecc/"
2026-03-26 17:49:04 +05:30
2026-04-21 18:28:52 -04:00
# Fully manual ECC install path (use this instead of /plugin install)
# .\install.ps1 --profile full
# npx ecc-install --profile full
2026-03-16 21:35:17 +01:00
```
2026-03-26 17:07:47 +08:00
For manual install instructions see the README in the `rules/` folder. When copying rules manually, copy the whole language directory (for example `rules/common` or `rules/golang` ), not the files inside it, so relative references keep working and filenames do not collide.
2026-02-12 09:02:38 +01:00
2026-04-23 02:11:29 -04:00
### Fully manual install (Fallback)
Use this only if you are intentionally skipping the plugin path:
```bash
./install.sh --profile full
```
```powershell
.\ install . ps1 - -profile full
# or
npx ecc-install - -profile full
```
If you choose this path, stop there. Do not also run `/plugin install` .
### Reset / Uninstall ECC
If ECC feels duplicated, intrusive, or broken, do not keep reinstalling it on top of itself.
2026-04-30 07:43:20 -04:00
- **Plugin path:** remove the plugin from Claude Code, then delete the specific rule folders you manually copied under `~/.claude/rules/ecc/` .
2026-04-23 02:11:29 -04:00
- **Manual installer / CLI path:** from the repo root, preview removal first:
```bash
node scripts/uninstall.js --dry-run
```
Then remove ECC-managed files:
```bash
node scripts/uninstall.js
```
You can also use the lifecycle wrapper:
```bash
node scripts/ecc.js list-installed
node scripts/ecc.js doctor
node scripts/ecc.js repair
node scripts/ecc.js uninstall --dry-run
```
ECC only removes files recorded in its install-state. It will not delete unrelated files it did not install.
If you stacked methods, clean up in this order:
1. Remove the Claude Code plugin install.
2. Run the ECC uninstall command from the repo root to remove install-state-managed files.
3. Delete any extra rule folders you copied manually and no longer want.
4. Reinstall once, using a single path.
2026-02-01 20:05:02 +08:00
### Step 3: Start Using
```bash
2026-04-01 02:11:24 -07:00
# Skills are the primary workflow surface.
# Existing slash-style command names still work while ECC migrates off commands/.
2026-04-30 03:04:15 -04:00
# Plugin install uses the canonical namespaced form
2026-05-11 02:10:36 -04:00
/ecc:plan "Add user authentication"
2026-02-26 20:08:14 -08:00
2026-04-01 02:11:24 -07:00
# Manual install keeps the shorter slash form:
2026-02-26 20:08:14 -08:00
# /plan "Add user authentication"
2026-02-01 20:05:02 +08:00
# Check available commands
2026-05-11 02:10:36 -04:00
/plugin list ecc@ecc
2026-02-01 20:05:02 +08:00
```
2026-06-07 03:15:31 -05:00
**That's it!** You now have access to 64 agents, 261 skills, and 84 legacy command shims.
2026-02-01 20:05:02 +08:00
2026-04-12 06:52:54 +00:00
### Dashboard GUI
Launch the desktop dashboard to visually explore ECC components:
```bash
npm run dashboard
# or
python3 ./ecc_dashboard.py
```
**Features:**
- Tabbed interface: Agents, Skills, Commands, Rules, Settings
- Dark/Light theme toggle
- Font customization (family & size)
- Project logo in header and taskbar
- Search and filter across all components
2026-03-26 16:42:08 +08:00
### Multi-model commands require additional setup
2026-03-29 08:59:06 -04:00
> WARNING: `multi-*` commands are **not** covered by the base plugin/rules install above.
2026-03-26 16:42:08 +08:00
>
> To use `/multi-plan`, `/multi-execute`, `/multi-backend`, `/multi-frontend`, and `/multi-workflow`, you must also install the `ccg-workflow` runtime.
>
> Initialize it with `npx ccg-workflow`.
>
> That runtime provides the external dependencies these commands expect, including:
> - `~/.claude/bin/codeagent-wrapper`
> - `~/.claude/.ccg/prompts/*`
>
> Without `ccg-workflow`, these `multi-*` commands will not run correctly.
2026-02-01 20:05:02 +08:00
---
2026-03-29 08:59:06 -04:00
## Cross-Platform Support
2026-01-23 15:08:07 +08:00
2026-05-17 07:06:49 -04:00
This plugin now fully supports **Windows, macOS, and Linux** , alongside tight integration across major IDEs (Cursor, Zed, OpenCode, Antigravity) and CLI harnesses. All hooks and scripts have been rewritten in Node.js for maximum compatibility.
2026-01-23 15:08:07 +08:00
### Package Manager Detection
The plugin automatically detects your preferred package manager (npm, pnpm, yarn, or bun) with the following priority:
1. **Environment variable** : `CLAUDE_PACKAGE_MANAGER`
2. **Project config** : `.claude/package-manager.json`
3. **package.json** : `packageManager` field
4. **Lock file** : Detection from package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
5. **Global config** : `~/.claude/package-manager.json`
6. **Fallback** : First available package manager
To set your preferred package manager:
```bash
# Via environment variable
export CLAUDE_PACKAGE_MANAGER = pnpm
# Via global config
node scripts/setup-package-manager.js --global pnpm
# Via project config
node scripts/setup-package-manager.js --project bun
# Detect current setting
node scripts/setup-package-manager.js --detect
```
Or use the `/setup-pm` command in Claude Code.
2026-03-04 14:48:06 -08:00
### Hook Runtime Controls
Use runtime flags to tune strictness or disable specific hooks temporarily:
```bash
# Hook strictness profile (default: standard)
export ECC_HOOK_PROFILE = standard
# Comma-separated hook IDs to disable
export ECC_DISABLED_HOOKS = "pre:bash:tmux-reminder,post:edit:typecheck"
2026-04-30 08:31:48 -04:00
# Cap SessionStart additional context (default: 8000 chars)
export ECC_SESSION_START_MAX_CHARS = 4000
# Disable SessionStart additional context entirely for low-context/local-model setups
export ECC_SESSION_START_CONTEXT = off
2026-05-17 01:43:50 -04:00
2026-06-07 10:31:33 +05:30
# Session-tmp retention window in days (default: 30).
# Set to 0, off, false, disabled, never, or none to keep all sessions (disable pruning).
export ECC_SESSION_RETENTION_DAYS = 14
2026-05-17 01:43:50 -04:00
# Keep context/scope/loop warnings but suppress API-rate cost estimates
export ECC_CONTEXT_MONITOR_COST_WARNINGS = off
```
Windows PowerShell:
```powershell
[ Environment ]:: SetEnvironmentVariable ( 'ECC_CONTEXT_MONITOR_COST_WARNINGS' , 'off' , 'User' )
2026-06-07 10:31:33 +05:30
[ Environment ]:: SetEnvironmentVariable ( 'ECC_SESSION_RETENTION_DAYS' , '14' , 'User' )
2026-03-04 14:48:06 -08:00
```
2026-06-06 23:27:00 -06:00
### Agent data home (multi-harness isolation)
Memory persistence hooks (session summaries, learned skills, session aliases, metrics) store data under a single agent data root. By default that root is `~/.claude` . When you use ECC in both Claude Code and Cursor on the same machine, set a separate root for Cursor so the two environments do not overwrite each other's session files:
```bash
# Cursor-only boundary (Claude Code keeps the default ~/.claude)
export ECC_AGENT_DATA_HOME = " $HOME /.cursor/ecc"
```
Paths resolved under that root include:
- `$ECC_AGENT_DATA_HOME/session-data/` — session summaries
- `$ECC_AGENT_DATA_HOME/skills/learned/` — learned skills from evaluate-session
- `$ECC_AGENT_DATA_HOME/session-aliases.json` — session aliases
- `$ECC_AGENT_DATA_HOME/metrics/` — cost and activity metrics
See [affaan-m/ECC#2065 ](https://github.com/affaan-m/ECC/issues/2065 ).
2026-01-23 15:08:07 +08:00
---
2026-03-29 08:59:06 -04:00
## What's Inside
2026-01-17 17:49:33 -08:00
2026-01-22 04:16:39 -08:00
This repo is a **Claude Code plugin** - install it directly or copy components manually.
2026-01-17 17:49:33 -08:00
```
2026-05-19 05:18:28 -04:00
ECC/
2026-01-22 04:16:39 -08:00
|-- .claude-plugin/ # Plugin and marketplace manifests
| |-- plugin.json # Plugin metadata and component paths
| |-- marketplace.json # Marketplace catalog for /plugin marketplace add
|
2026-06-07 16:05:28 +08:00
|-- agents/ # 64 specialized subagents for delegation
2026-01-17 17:49:33 -08:00
| |-- planner.md # Feature implementation planning
| |-- architect.md # System design decisions
| |-- tdd-guide.md # Test-driven development
| |-- code-reviewer.md # Quality and security review
| |-- security-reviewer.md # Vulnerability analysis
| |-- build-error-resolver.md
| |-- e2e-runner.md # Playwright E2E testing
| |-- refactor-cleaner.md # Dead code cleanup
| |-- doc-updater.md # Documentation sync
2026-03-20 11:49:23 +08:00
| |-- docs-lookup.md # Documentation/API lookup
2026-03-20 00:29:20 -07:00
| |-- chief-of-staff.md # Communication triage and drafts
| |-- loop-operator.md # Autonomous loop execution
| |-- harness-optimizer.md # Harness config tuning
2026-03-20 11:49:23 +08:00
| |-- cpp-reviewer.md # C++ code review
| |-- cpp-build-resolver.md # C++ build error resolution
2026-05-11 21:34:30 -04:00
| |-- fsharp-reviewer.md # F# functional code review
2026-02-06 02:22:21 -08:00
| |-- go-reviewer.md # Go code review
| |-- go-build-resolver.md # Go build error resolution
2026-03-20 00:29:20 -07:00
| |-- python-reviewer.md # Python code review
| |-- database-reviewer.md # Database/Supabase review
| |-- typescript-reviewer.md # TypeScript/JavaScript code review
| |-- java-reviewer.md # Java/Spring Boot code review
| |-- java-build-resolver.md # Java/Maven/Gradle build errors
| |-- kotlin-reviewer.md # Kotlin/Android/KMP code review
| |-- kotlin-build-resolver.md # Kotlin/Gradle build errors
2026-05-11 21:16:05 -04:00
| |-- harmonyos-app-resolver.md # HarmonyOS/ArkTS app development
2026-03-20 00:29:20 -07:00
| |-- rust-reviewer.md # Rust code review
| |-- rust-build-resolver.md # Rust build error resolution
| |-- pytorch-build-resolver.md # PyTorch/CUDA training errors
2026-05-01 20:19:25 -05:00
| |-- mle-reviewer.md # Production ML pipeline, eval, serving, and monitoring review
2026-01-17 17:49:33 -08:00
|
|-- skills/ # Workflow definitions and domain knowledge
2026-01-22 04:16:39 -08:00
| |-- coding-standards/ # Language best practices
2026-02-12 17:13:59 -08:00
| |-- clickhouse-io/ # ClickHouse analytics, queries, data engineering
2026-01-22 04:16:39 -08:00
| |-- backend-patterns/ # API, database, caching patterns
| |-- frontend-patterns/ # React, Next.js patterns
2026-02-27 05:39:31 -08:00
| |-- frontend-slides/ # HTML slide decks and PPTX-to-web presentation workflows (NEW)
2026-02-27 05:50:23 -08:00
| |-- article-writing/ # Long-form writing in a supplied voice without generic AI tone (NEW)
| |-- content-engine/ # Multi-platform social content and repurposing workflows (NEW)
| |-- market-research/ # Source-attributed market, competitor, and investor research (NEW)
| |-- investor-materials/ # Pitch decks, one-pagers, memos, and financial models (NEW)
| |-- investor-outreach/ # Personalized fundraising outreach and follow-up (NEW)
2026-04-08 16:31:58 -07:00
| |-- continuous-learning/ # Legacy v1 Stop-hook pattern extraction
2026-01-25 18:21:27 -08:00
| |-- continuous-learning-v2/ # Instinct-based learning with confidence scoring
| |-- iterative-retrieval/ # Progressive context refinement for subagents
2026-01-21 12:05:58 -08:00
| |-- strategic-compact/ # Manual compaction suggestions (Longform Guide)
2026-01-17 17:49:33 -08:00
| |-- tdd-workflow/ # TDD methodology
| |-- security-review/ # Security checklist
2026-01-22 04:16:39 -08:00
| |-- eval-harness/ # Verification loop evaluation (Longform Guide)
| |-- verification-loop/ # Continuous verification (Longform Guide)
2026-03-03 18:24:39 +05:30
| |-- videodb/ # Video and audio: ingest, search, edit, generate, stream (NEW)
2026-02-06 02:22:21 -08:00
| |-- golang-patterns/ # Go idioms and best practices
| |-- golang-testing/ # Go testing patterns, TDD, benchmarks
2026-02-14 20:26:33 +00:00
| |-- cpp-coding-standards/ # C++ coding standards from C++ Core Guidelines (NEW)
2026-02-09 16:05:57 +08:00
| |-- cpp-testing/ # C++ testing with GoogleTest, CMake/CTest (NEW)
2026-02-06 02:22:21 -08:00
| |-- django-patterns/ # Django patterns, models, views (NEW)
| |-- django-security/ # Django security best practices (NEW)
| |-- django-tdd/ # Django TDD workflow (NEW)
| |-- django-verification/ # Django verification loops (NEW)
2026-03-16 20:35:23 +00:00
| |-- laravel-patterns/ # Laravel architecture patterns (NEW)
| |-- laravel-security/ # Laravel security best practices (NEW)
| |-- laravel-tdd/ # Laravel TDD workflow (NEW)
| |-- laravel-verification/ # Laravel verification loops (NEW)
2026-02-06 02:22:21 -08:00
| |-- python-patterns/ # Python idioms and best practices (NEW)
| |-- python-testing/ # Python testing with pytest (NEW)
2026-05-12 15:30:26 +02:00
| |-- quarkus-patterns/ # Java Quarkus patterns (NEW)
| |-- quarkus-security/ # Quarkus security (NEW)
| |-- quarkus-tdd/ # Quarkus TDD (NEW)
| |-- quarkus-verification/ # Quarkus verification (NEW)
2026-02-06 02:22:21 -08:00
| |-- springboot-patterns/ # Java Spring Boot patterns (NEW)
| |-- springboot-security/ # Spring Boot security (NEW)
| |-- springboot-tdd/ # Spring Boot TDD (NEW)
| |-- springboot-verification/ # Spring Boot verification (NEW)
| |-- configure-ecc/ # Interactive installation wizard (NEW)
2026-02-11 03:27:07 -08:00
| |-- security-scan/ # AgentShield security auditor integration (NEW)
2026-02-12 13:24:24 -08:00
| |-- java-coding-standards/ # Java coding standards (NEW)
| |-- jpa-patterns/ # JPA/Hibernate patterns (NEW)
| |-- postgres-patterns/ # PostgreSQL optimization patterns (NEW)
| |-- nutrient-document-processing/ # Document processing with Nutrient API (NEW)
2026-04-05 15:03:59 -07:00
| |-- docs/examples/project-guidelines-template.md # Template for project-specific skills
2026-02-12 15:24:28 -08:00
| |-- database-migrations/ # Migration patterns (Prisma, Drizzle, Django, Go) (NEW)
| |-- api-design/ # REST API design, pagination, error responses (NEW)
| |-- deployment-patterns/ # CI/CD, Docker, health checks, rollbacks (NEW)
2026-02-12 16:14:20 -08:00
| |-- docker-patterns/ # Docker Compose, networking, volumes, container security (NEW)
2026-02-12 15:49:34 -08:00
| |-- e2e-testing/ # Playwright E2E patterns and Page Object Model (NEW)
2026-02-16 20:04:57 -08:00
| |-- content-hash-cache-pattern/ # SHA-256 content hash caching for file processing (NEW)
| |-- cost-aware-llm-pipeline/ # LLM cost optimization, model routing, budget tracking (NEW)
| |-- regex-vs-llm-structured-text/ # Decision framework: regex vs LLM for text parsing (NEW)
| |-- swift-actor-persistence/ # Thread-safe Swift data persistence with actors (NEW)
| |-- swift-protocol-di-testing/ # Protocol-based DI for testable Swift code (NEW)
2026-02-23 06:56:00 -08:00
| |-- search-first/ # Research-before-coding workflow (NEW)
2026-02-24 11:49:54 +09:00
| |-- skill-stocktake/ # Audit skills and commands for quality (NEW)
2026-02-19 12:01:33 +09:00
| |-- liquid-glass-design/ # iOS 26 Liquid Glass design system (NEW)
| |-- foundation-models-on-device/ # Apple on-device LLM with FoundationModels (NEW)
| |-- swift-concurrency-6-2/ # Swift 6.2 Approachable Concurrency (NEW)
2026-05-01 20:19:25 -05:00
| |-- mle-workflow/ # Production ML data contracts, evals, deployment, monitoring (NEW)
2026-03-09 06:20:26 +03:00
| |-- perl-patterns/ # Modern Perl 5.36+ idioms and best practices (NEW)
| |-- perl-security/ # Perl security patterns, taint mode, safe I/O (NEW)
| |-- perl-testing/ # Perl TDD with Test2::V0, prove, Devel::Cover (NEW)
2026-03-03 12:16:49 -08:00
| |-- autonomous-loops/ # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration (NEW)
| |-- plankton-code-quality/ # Write-time code quality enforcement with Plankton hooks (NEW)
2026-06-07 07:26:54 +02:00
| |-- codehealth-mcp/ # Optional CodeScene Code Health MCP skill (opt-in; not enabled by default) (NEW)
2026-01-17 17:49:33 -08:00
|
2026-04-29 23:47:19 -04:00
|-- commands/ # Maintained slash-entry compatibility; prefer skills/
2026-01-17 17:49:33 -08:00
| |-- plan.md # /plan - Implementation planning
| |-- code-review.md # /code-review - Quality review
| |-- build-fix.md # /build-fix - Fix build errors
| |-- refactor-clean.md # /refactor-clean - Dead code removal
2026-04-29 23:47:19 -04:00
| |-- quality-gate.md # /quality-gate - Verification gate
2026-01-21 12:05:58 -08:00
| |-- learn.md # /learn - Extract patterns mid-session (Longform Guide)
2026-02-23 06:56:00 -08:00
| |-- learn-eval.md # /learn-eval - Extract, evaluate, and save patterns (NEW)
2026-01-22 04:16:39 -08:00
| |-- checkpoint.md # /checkpoint - Save verification state (Longform Guide)
2026-01-26 08:20:42 +00:00
| |-- setup-pm.md # /setup-pm - Configure package manager
| |-- go-review.md # /go-review - Go code review (NEW)
| |-- go-test.md # /go-test - Go TDD workflow (NEW)
| |-- go-build.md # /go-build - Fix Go build errors (NEW)
2026-01-27 04:01:00 -08:00
| |-- skill-create.md # /skill-create - Generate skills from git history (NEW)
| |-- instinct-status.md # /instinct-status - View learned instincts (NEW)
| |-- instinct-import.md # /instinct-import - Import instincts (NEW)
| |-- instinct-export.md # /instinct-export - Export instincts (NEW)
2026-02-06 02:22:21 -08:00
| |-- evolve.md # /evolve - Cluster instincts into skills
2026-03-23 06:40:58 +08:00
| |-- prune.md # /prune - Delete expired pending instincts (NEW)
2026-02-06 02:22:21 -08:00
| |-- pm2.md # /pm2 - PM2 service lifecycle management (NEW)
| |-- multi-plan.md # /multi-plan - Multi-agent task decomposition (NEW)
| |-- multi-execute.md # /multi-execute - Orchestrated multi-agent workflows (NEW)
| |-- multi-backend.md # /multi-backend - Backend multi-service orchestration (NEW)
| |-- multi-frontend.md # /multi-frontend - Frontend multi-service orchestration (NEW)
| |-- multi-workflow.md # /multi-workflow - General multi-service workflows (NEW)
2026-02-12 13:24:24 -08:00
| |-- sessions.md # /sessions - Session history management
| |-- test-coverage.md # /test-coverage - Test coverage analysis
| |-- update-docs.md # /update-docs - Update documentation
| |-- update-codemaps.md # /update-codemaps - Update codemaps
| |-- python-review.md # /python-review - Python code review (NEW)
2026-04-29 23:47:19 -04:00
|-- legacy-command-shims/ # Opt-in archive for retired shims such as /tdd and /eval
| |-- tdd.md # /tdd - Prefer the tdd-workflow skill
| |-- e2e.md # /e2e - Prefer the e2e-testing skill
| |-- eval.md # /eval - Prefer the eval-harness skill
| |-- verify.md # /verify - Prefer the verification-loop skill
| |-- orchestrate.md # /orchestrate - Prefer dmux-workflows or multi-workflow
2026-01-17 17:49:33 -08:00
|
2026-04-30 07:43:20 -04:00
|-- rules/ # Always-follow guidelines (copy to ~/.claude/rules/ecc/)
2026-02-05 21:58:06 +08:00
| |-- README.md # Structure overview and installation guide
| |-- common/ # Language-agnostic principles
| | |-- coding-style.md # Immutability, file organization
| | |-- git-workflow.md # Commit format, PR process
| | |-- testing.md # TDD, 80% coverage requirement
| | |-- performance.md # Model selection, context management
| | |-- patterns.md # Design patterns, skeleton projects
| | |-- hooks.md # Hook architecture, TodoWrite
| | |-- agents.md # When to delegate to subagents
| | |-- security.md # Mandatory security checks
| |-- typescript/ # TypeScript/JavaScript specific
| |-- python/ # Python specific
| |-- golang/ # Go specific
2026-03-10 20:22:23 -07:00
| |-- swift/ # Swift specific
2026-03-10 21:10:26 -07:00
| |-- php/ # PHP specific (NEW)
2026-05-11 21:16:05 -04:00
| |-- arkts/ # HarmonyOS / ArkTS specific
2026-01-17 17:49:33 -08:00
|
|-- hooks/ # Trigger-based automations
2026-02-12 13:43:31 -08:00
| |-- README.md # Hook documentation, recipes, and customization guide
2026-01-21 12:05:58 -08:00
| |-- hooks.json # All hooks config (PreToolUse, PostToolUse, Stop, etc.)
| |-- memory-persistence/ # Session lifecycle hooks (Longform Guide)
| |-- strategic-compact/ # Compaction suggestions (Longform Guide)
|
2026-01-23 15:08:07 +08:00
|-- scripts/ # Cross-platform Node.js scripts (NEW)
| |-- lib/ # Shared utilities
| | |-- utils.js # Cross-platform file/path/system utilities
| | |-- package-manager.js # Package manager detection and selection
| |-- hooks/ # Hook implementations
| | |-- session-start.js # Load context on session start
| | |-- session-end.js # Save state on session end
| | |-- pre-compact.js # Pre-compaction state saving
| | |-- suggest-compact.js # Strategic compaction suggestions
| | |-- evaluate-session.js # Extract patterns from sessions
| |-- setup-package-manager.js # Interactive PM setup
|
|-- tests/ # Test suite (NEW)
| |-- lib/ # Library tests
| |-- hooks/ # Hook tests
| |-- run-all.js # Run all tests
|
2026-01-21 12:05:58 -08:00
|-- contexts/ # Dynamic system prompt injection contexts (Longform Guide)
| |-- dev.md # Development mode context
| |-- review.md # Code review mode context
| |-- research.md # Research/exploration mode context
|
|-- examples/ # Example configurations and sessions
2026-02-12 13:24:24 -08:00
| |-- CLAUDE.md # Example project-level config
| |-- user-CLAUDE.md # Example user-level config
2026-02-12 13:36:41 -08:00
| |-- saas-nextjs-CLAUDE.md # Real-world SaaS (Next.js + Supabase + Stripe)
| |-- go-microservice-CLAUDE.md # Real-world Go microservice (gRPC + PostgreSQL)
2026-02-12 13:43:31 -08:00
| |-- django-api-CLAUDE.md # Real-world Django REST API (DRF + Celery)
2026-03-16 20:35:23 +00:00
| |-- laravel-api-CLAUDE.md # Real-world Laravel API (PostgreSQL + Redis) (NEW)
2026-02-12 15:37:48 -08:00
| |-- rust-api-CLAUDE.md # Real-world Rust API (Axum + SQLx + PostgreSQL) (NEW)
2026-01-17 17:49:33 -08:00
|
|-- mcp-configs/ # MCP server configurations
| |-- mcp-servers.json # GitHub, Supabase, Vercel, Railway, etc.
|
2026-04-12 06:52:54 +00:00
|-- ecc_dashboard.py # Desktop GUI dashboard (Tkinter)
|
|-- assets/ # Assets for dashboard
| |-- images/
| |-- ecc-logo.png
|
2026-01-22 04:16:39 -08:00
|-- marketplace.json # Self-hosted marketplace config (for /plugin marketplace add)
2026-01-17 17:49:33 -08:00
```
---
2026-03-29 08:59:06 -04:00
## Ecosystem Tools
2026-01-25 18:21:27 -08:00
2026-01-27 04:01:00 -08:00
### Skill Creator
2026-01-25 18:21:27 -08:00
2026-01-27 04:01:00 -08:00
Two ways to generate Claude Code skills from your repository:
#### Option A: Local Analysis (Built-in)
Use the `/skill-create` command for local analysis without external services:
```bash
/skill-create # Analyze current repo
2026-04-08 16:31:58 -07:00
/skill-create --instincts # Also generate instincts for continuous-learning-v2
2026-01-27 04:01:00 -08:00
```
This analyzes your git history locally and generates SKILL.md files.
#### Option B: GitHub App (Advanced)
For advanced features (10k+ commits, auto-PRs, team sharing):
2026-01-25 18:21:27 -08:00
2026-06-09 20:26:31 -04:00
[Install ECC Tools GitHub App ](https://github.com/apps/ecc-tools ) | [ecc.tools ](https://ecc.tools )
2026-01-25 18:21:27 -08:00
2026-01-27 04:01:00 -08:00
```bash
# Comment on any issue:
2026-06-09 20:26:31 -04:00
/ecc-tools analyze
2026-01-27 04:01:00 -08:00
2026-06-09 20:26:31 -04:00
# Or run against a repo from the hosted app
2026-01-27 04:01:00 -08:00
```
Both options create:
2026-06-09 20:26:31 -04:00
- **SKILL.md files** - Ready-to-use skills for the active harness
2026-01-25 18:21:27 -08:00
- **Instinct collections** - For continuous-learning-v2
- **Pattern extraction** - Learns from your commit history
2026-02-11 03:27:07 -08:00
### AgentShield — Security Auditor
2026-02-25 07:19:44 -08:00
> Built at the Claude Code Hackathon (Cerebral Valley x Anthropic, Feb 2026). 1282 tests, 98% coverage, 102 static analysis rules.
2026-02-12 14:07:10 -08:00
2026-02-11 03:27:07 -08:00
Scan your Claude Code configuration for vulnerabilities, misconfigurations, and injection risks.
```bash
# Quick scan (no install needed)
npx ecc-agentshield scan
# Auto-fix safe issues
npx ecc-agentshield scan --fix
2026-02-12 14:07:10 -08:00
# Deep analysis with three Opus 4.6 agents
2026-02-11 03:27:07 -08:00
npx ecc-agentshield scan --opus --stream
# Generate secure config from scratch
npx ecc-agentshield init
```
2026-02-12 15:03:59 -08:00
**What it scans:** CLAUDE.md, settings.json, MCP configs, hooks, agent definitions, and skills across 5 categories — secrets detection (14 patterns), permission auditing, hook injection analysis, MCP server risk profiling, and agent config review.
2026-02-12 14:07:10 -08:00
**The `--opus` flag** runs three Claude Opus 4.6 agents in a red-team/blue-team/auditor pipeline. The attacker finds exploit chains, the defender evaluates protections, and the auditor synthesizes both into a prioritized risk assessment. Adversarial reasoning, not just pattern matching.
**Output formats:** Terminal (color-graded A-F), JSON (CI pipelines), Markdown, HTML. Exit code 2 on critical findings for build gates.
2026-02-11 03:27:07 -08:00
Use `/security-scan` in Claude Code to run it, or add to CI with the [GitHub Action ](https://github.com/affaan-m/agentshield ).
[GitHub ](https://github.com/affaan-m/agentshield ) | [npm ](https://www.npmjs.com/package/ecc-agentshield )
2026-03-29 08:59:06 -04:00
### Continuous Learning v2
2026-01-27 04:01:00 -08:00
The instinct-based learning system automatically learns your patterns:
2026-01-25 18:21:27 -08:00
```bash
2026-01-27 04:01:00 -08:00
/instinct-status # Show learned instincts with confidence
/instinct-import <file> # Import instincts from others
/instinct-export # Export your instincts for sharing
/evolve # Cluster related instincts into skills
2026-01-25 18:21:27 -08:00
```
2026-01-27 04:01:00 -08:00
See `skills/continuous-learning-v2/` for full documentation.
2026-04-08 16:31:58 -07:00
Keep `continuous-learning/` only when you explicitly want the legacy v1 Stop-hook learned-skill flow.
2026-01-25 18:21:27 -08:00
---
2026-03-29 08:59:06 -04:00
## Requirements
2026-01-29 00:46:05 -08:00
### Claude Code CLI Version
**Minimum version: v2.1.0 or later**
This plugin requires Claude Code CLI v2.1.0+ due to changes in how the plugin system handles hooks.
Check your version:
```bash
claude --version
```
### Important: Hooks Auto-Loading Behavior
2026-03-29 08:59:06 -04:00
> WARNING: **For Contributors:** Do NOT add a `"hooks"` field to `.claude-plugin/plugin.json`. This is enforced by a regression test.
2026-01-29 00:46:05 -08:00
Claude Code v2.1+ **automatically loads** `hooks/hooks.json` from any installed plugin by convention. Explicitly declaring it in `plugin.json` causes a duplicate detection error:
```
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file
```
2026-05-19 14:28:25 +05:30
**History:** This has caused repeated fix/revert cycles in this repo ([#29 ](https://github.com/affaan-m/ECC/issues/29 ), [#52 ](https://github.com/affaan-m/ECC/issues/52 ), [#103 ](https://github.com/affaan-m/ECC/issues/103 )). The behavior changed between Claude Code versions, leading to confusion. We now have a regression test to prevent this from being reintroduced.
2026-01-29 00:46:05 -08:00
---
2026-03-29 08:59:06 -04:00
## Installation
2026-01-17 17:49:33 -08:00
2026-01-22 04:16:39 -08:00
### Option 1: Install as Plugin (Recommended)
The easiest way to use this repo - install as a Claude Code plugin:
```bash
# Add this repo as a marketplace
2026-05-19 14:28:25 +05:30
/plugin marketplace add https://github.com/affaan-m/ECC
2026-01-22 04:16:39 -08:00
# Install the plugin
2026-05-11 02:10:36 -04:00
/plugin install ecc@ecc
2026-01-22 04:16:39 -08:00
```
Or add directly to your `~/.claude/settings.json` :
```json
{
"extraKnownMarketplaces" : {
2026-04-05 14:31:30 -07:00
"ecc" : {
2026-01-22 04:16:39 -08:00
"source" : {
"source" : "github" ,
2026-05-19 14:28:25 +05:30
"repo" : "affaan-m/ECC"
2026-01-22 04:16:39 -08:00
}
}
},
"enabledPlugins" : {
2026-05-11 02:10:36 -04:00
"ecc@ecc" : true
2026-01-22 04:16:39 -08:00
}
}
```
This gives you instant access to all commands, agents, skills, and hooks.
2026-01-27 13:38:17 +08:00
> **Note:** The Claude Code plugin system does not support distributing `rules` via plugins ([upstream limitation](https://code.claude.com/docs/en/plugins-reference)). You need to install rules manually:
>
> ```bash
> # Clone the repo first
2026-05-19 14:28:25 +05:30
> git clone https://github.com/affaan-m/ECC.git
2026-05-19 05:18:28 -04:00
> cd ECC
2026-01-27 13:38:17 +08:00
>
> # Option A: User-level rules (applies to all projects)
2026-04-30 07:43:20 -04:00
> mkdir -p ~/.claude/rules/ecc
2026-05-19 05:18:28 -04:00
> cp -r rules/common ~/.claude/rules/ecc/
> cp -r rules/typescript ~/.claude/rules/ecc/ # pick your stack
> cp -r rules/python ~/.claude/rules/ecc/
> cp -r rules/golang ~/.claude/rules/ecc/
> cp -r rules/php ~/.claude/rules/ecc/
2026-01-27 13:38:17 +08:00
>
> # Option B: Project-level rules (applies to current project only)
2026-04-30 07:43:20 -04:00
> mkdir -p .claude/rules/ecc
2026-05-19 05:18:28 -04:00
> cp -r rules/common .claude/rules/ecc/
> cp -r rules/typescript .claude/rules/ecc/ # pick your stack
2026-01-27 13:38:17 +08:00
> ```
2026-01-22 04:16:39 -08:00
---
2026-03-29 08:59:06 -04:00
### Option 2: Manual Installation
2026-01-22 04:16:39 -08:00
If you prefer manual control over what's installed:
2026-01-17 17:49:33 -08:00
```bash
# Clone the repo
2026-05-19 14:28:25 +05:30
git clone https://github.com/affaan-m/ECC.git
2026-05-19 05:18:28 -04:00
cd ECC
2026-01-17 17:49:33 -08:00
# Copy agents to your Claude config
2026-05-19 05:18:28 -04:00
cp agents/*.md ~/.claude/agents/
2026-01-17 17:49:33 -08:00
2026-03-26 17:07:47 +08:00
# Copy rules directories (common + language-specific)
2026-04-30 07:43:20 -04:00
mkdir -p ~/.claude/rules/ecc
2026-05-19 05:18:28 -04:00
cp -r rules/common ~/.claude/rules/ecc/
cp -r rules/typescript ~/.claude/rules/ecc/ # pick your stack
cp -r rules/python ~/.claude/rules/ecc/
cp -r rules/golang ~/.claude/rules/ecc/
cp -r rules/php ~/.claude/rules/ecc/
cp -r rules/arkts ~/.claude/rules/ecc/
2026-01-17 17:49:33 -08:00
2026-04-01 02:11:24 -07:00
# Copy skills first (primary workflow surface)
2026-02-28 10:06:43 -08:00
# Recommended (new users): core/general skills only
2026-06-07 00:26:06 -05:00
mkdir -p ~/.claude/skills
cp -r .agents/skills/* ~/.claude/skills/
cp -r skills/search-first ~/.claude/skills/
# Claude Code loads skills only from direct children of ~/.claude/skills.
# Do not nest manual installs under ~/.claude/skills/ecc/.
2026-02-28 10:06:43 -08:00
# Optional: add niche/framework-specific skills only when needed
2026-05-12 15:30:26 +02:00
# for s in django-patterns django-tdd laravel-patterns springboot-patterns quarkus-patterns; do
2026-06-07 00:26:06 -05:00
# cp -r skills/$s ~/.claude/skills/
2026-02-28 10:06:43 -08:00
# done
2026-04-01 02:11:24 -07:00
2026-04-29 23:47:19 -04:00
# Optional: keep maintained slash-command compatibility during migration
2026-04-01 02:11:24 -07:00
mkdir -p ~/.claude/commands
2026-05-19 05:18:28 -04:00
cp commands/*.md ~/.claude/commands/
2026-04-29 23:47:19 -04:00
# Retired shims live in legacy-command-shims/commands/.
# Copy individual files from there only if you still need old names such as /tdd.
2026-01-17 17:49:33 -08:00
```
2026-04-12 23:29:45 -07:00
#### Install hooks
2026-01-17 17:49:33 -08:00
2026-04-14 20:24:21 -07:00
Do not copy the raw repo `hooks/hooks.json` into `~/.claude/settings.json` or `~/.claude/hooks/hooks.json` . That file is plugin/repo-oriented and is meant to be installed through the ECC installer or loaded as a plugin, so raw copying is not a supported manual install path.
2026-04-12 23:29:45 -07:00
Use the installer to install only the Claude hook runtime so command paths are rewritten correctly:
```bash
# macOS / Linux
bash ./install.sh --target claude --modules hooks-runtime
```
```powershell
# Windows PowerShell
pwsh -File .\ install . ps1 - -target claude - -modules hooks-runtime
```
That writes resolved hooks to `~/.claude/hooks/hooks.json` and leaves any existing `~/.claude/settings.json` untouched.
2026-04-12 22:39:48 -07:00
2026-04-14 20:24:21 -07:00
If you installed ECC via `/plugin install` , do not copy those hooks into `settings.json` . Claude Code v2.1+ already auto-loads plugin `hooks/hooks.json` , and duplicating them in `settings.json` causes duplicate execution and cross-platform hook conflicts.
2026-01-17 17:49:33 -08:00
2026-04-12 23:29:45 -07:00
Windows note: the Claude config directory is `%USERPROFILE%\\.claude` , not `~/claude` .
2026-01-22 04:16:39 -08:00
#### Configure MCPs
2026-01-17 17:49:33 -08:00
2026-04-30 01:05:20 -04:00
Claude plugin installs intentionally do not auto-enable ECC's bundled MCP server definitions. This avoids overlong plugin MCP tool names on strict third-party gateways while keeping manual MCP setup available.
2026-04-30 04:52:17 -04:00
Use Claude Code's `/mcp` command or CLI-managed MCP setup for live Claude Code server changes. Use `/mcp` for Claude Code runtime disables; Claude Code persists those choices in `~/.claude.json` .
For repo-local MCP access, copy desired MCP server definitions from `mcp-configs/mcp-servers.json` into a project-scoped `.mcp.json` .
2026-01-17 17:49:33 -08:00
2026-06-09 23:28:35 -04:00
ECC ships exactly one default connector (`chrome-devtools` ); everything else is a skill wrapping a CLI/REST API or an opt-in catalog entry. The rule and the June 2026 audit that retired the previous six defaults live in [docs/MCP-CONNECTOR-POLICY.md ](docs/MCP-CONNECTOR-POLICY.md ).
2026-04-05 14:37:28 -07:00
If you already run your own copies of ECC-bundled MCPs, set:
```bash
2026-06-09 23:28:35 -04:00
export ECC_DISABLED_MCPS = "chrome-devtools"
2026-04-05 14:37:28 -07:00
```
2026-04-30 04:52:17 -04:00
ECC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates. `ECC_DISABLED_MCPS` is an ECC install/sync filter, not a live Claude Code toggle.
2026-04-05 14:37:28 -07:00
2026-01-17 17:49:33 -08:00
**Important:** Replace `YOUR_*_HERE` placeholders with your actual API keys.
2026-01-22 04:16:39 -08:00
---
2026-03-29 08:59:06 -04:00
## Key Concepts
2026-01-17 17:49:33 -08:00
### Agents
Subagents handle delegated tasks with limited scope. Example:
```markdown
---
name : code-reviewer
description : Reviews code for quality, security, and maintainability
2026-01-25 20:38:25 -05:00
tools : [ "Read" , "Grep" , "Glob" , "Bash" ]
2026-01-17 17:49:33 -08:00
model : opus
---
You are a senior code reviewer...
```
### Skills
2026-04-29 23:47:19 -04:00
Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. ECC still ships maintained `commands/` during migration, while retired short-name shims live under `legacy-command-shims/` for explicit opt-in only. New workflow development should land in `skills/` first.
2026-01-17 17:49:33 -08:00
```markdown
# TDD Workflow
1. Define interfaces first
2. Write failing tests (RED)
3. Implement minimal code (GREEN)
4. Refactor (IMPROVE)
5. Verify 80%+ coverage
```
### Hooks
Hooks fire on tool events. Example - warn about console.log:
```json
{
"matcher" : "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(ts|tsx|js|jsx)$\"" ,
"hooks" : [{
"type" : "command" ,
"command" : "#!/bin/bash\ngrep -n 'console\\.log' \"$file_path\" && echo '[Hook] Remove console.log' >&2"
}]
}
```
### Rules
2026-02-05 21:58:06 +08:00
Rules are always-follow guidelines, organized into `common/` (language-agnostic) + language-specific directories:
2026-01-17 17:49:33 -08:00
```
2026-02-05 21:58:06 +08:00
rules/
common/ # Universal principles (always install)
typescript/ # TS/JS specific patterns and tools
python/ # Python specific patterns and tools
golang/ # Go specific patterns and tools
2026-03-10 21:10:26 -07:00
swift/ # Swift specific patterns and tools
php/ # PHP specific patterns and tools
2026-05-11 21:16:05 -04:00
arkts/ # HarmonyOS / ArkTS patterns and constraints
2026-01-17 17:49:33 -08:00
```
2026-02-05 21:58:06 +08:00
See [`rules/README.md` ](rules/README.md ) for installation and structure details.
2026-01-17 17:49:33 -08:00
---
2026-03-29 08:59:06 -04:00
## Which Agent Should I Use?
2026-02-12 13:24:24 -08:00
2026-04-29 23:47:19 -04:00
Not sure where to start? Use this quick reference. Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.
2026-02-12 13:24:24 -08:00
2026-04-29 23:47:19 -04:00
| I want to... | Use this surface | Agent used |
2026-02-12 13:24:24 -08:00
|--------------|-----------------|------------|
2026-05-11 02:10:36 -04:00
| Plan a new feature | `/ecc:plan "Add auth"` | planner |
| Design system architecture | `/ecc:plan` + architect agent | architect |
2026-04-29 23:47:19 -04:00
| Write code with tests first | `tdd-workflow` skill | tdd-guide |
2026-02-12 13:24:24 -08:00
| Review code I just wrote | `/code-review` | code-reviewer |
| Fix a failing build | `/build-fix` | build-error-resolver |
2026-04-29 23:47:19 -04:00
| Run end-to-end tests | `e2e-testing` skill | e2e-runner |
2026-02-12 13:24:24 -08:00
| Find security vulnerabilities | `/security-scan` | security-reviewer |
| Remove dead code | `/refactor-clean` | refactor-cleaner |
| Update documentation | `/update-docs` | doc-updater |
| Review Go code | `/go-review` | go-reviewer |
| Review Python code | `/python-review` | python-reviewer |
2026-05-11 21:34:30 -04:00
| Review F# code | *(invoke `fsharp-reviewer` directly)* | fsharp-reviewer |
2026-03-20 11:49:23 +08:00
| Review TypeScript/JavaScript code | *(invoke `typescript-reviewer` directly)* | typescript-reviewer |
2026-05-11 21:16:05 -04:00
| Develop HarmonyOS apps | *(invoke `harmonyos-app-resolver` directly)* | harmonyos-app-resolver |
2026-02-12 13:24:24 -08:00
| Audit database queries | *(auto-delegated)* | database-reviewer |
2026-05-01 20:19:25 -05:00
| Review production ML changes | `mle-workflow` skill + `mle-reviewer` agent | mle-reviewer |
2026-02-12 13:24:24 -08:00
### Common Workflows
2026-04-29 23:47:19 -04:00
Slash forms below are shown where they remain part of the maintained command surface. Retired short-name shims such as `/tdd` and `/eval` live in `legacy-command-shims/` for explicit opt-in only.
2026-04-01 02:11:24 -07:00
2026-02-12 13:24:24 -08:00
**Starting a new feature:**
```
2026-05-11 02:10:36 -04:00
/ecc:plan "Add user authentication with OAuth"
2026-02-26 20:08:14 -08:00
→ planner creates implementation blueprint
2026-04-29 23:47:19 -04:00
tdd-workflow skill → tdd-guide enforces write-tests-first
2026-02-12 13:24:24 -08:00
/code-review → code-reviewer checks your work
```
**Fixing a bug:**
```
2026-04-29 23:47:19 -04:00
tdd-workflow skill → tdd-guide: write a failing test that reproduces it
2026-02-12 13:24:24 -08:00
→ implement the fix, verify test passes
/code-review → code-reviewer: catch regressions
```
**Preparing for production:**
```
/security-scan → security-reviewer: OWASP Top 10 audit
2026-04-29 23:47:19 -04:00
e2e-testing skill → e2e-runner: critical user flow tests
2026-02-12 13:24:24 -08:00
/test-coverage → verify 80%+ coverage
```
---
2026-03-29 08:59:06 -04:00
## FAQ
2026-02-12 13:24:24 -08:00
<details>
<summary><b>How do I check which agents/commands are installed?</b></summary>
```bash
2026-05-11 02:10:36 -04:00
/plugin list ecc@ecc
2026-02-12 13:24:24 -08:00
```
This shows all available agents, commands, and skills from the plugin.
</details>
<details>
<summary><b>My hooks aren't working / I see "Duplicate hooks file" errors</b></summary>
2026-05-19 14:28:25 +05:30
This is the most common issue. **Do NOT add a `"hooks"` field to `.claude-plugin/plugin.json`.** Claude Code v2.1+ automatically loads `hooks/hooks.json` from installed plugins. Explicitly declaring it causes duplicate detection errors. See [#29 ](https://github.com/affaan-m/ECC/issues/29 ), [#52 ](https://github.com/affaan-m/ECC/issues/52 ), [#103 ](https://github.com/affaan-m/ECC/issues/103 ).
2026-02-12 13:24:24 -08:00
</details>
2026-03-10 21:06:06 -07:00
<details>
<summary><b>Can I use ECC with Claude Code on a custom API endpoint or model gateway?</b></summary>
Yes. ECC does not hardcode Anthropic-hosted transport settings. It runs locally through Claude Code's normal CLI/plugin surface, so it works with:
- Anthropic-hosted Claude Code
- Official Claude Code gateway setups using `ANTHROPIC_BASE_URL` and `ANTHROPIC_AUTH_TOKEN`
- Compatible custom endpoints that speak the Anthropic API Claude Code expects
Minimal example:
```bash
export ANTHROPIC_BASE_URL = https://your-gateway.example.com
export ANTHROPIC_AUTH_TOKEN = your-token
claude
```
If your gateway remaps model names, configure that in Claude Code rather than in ECC. ECC's hooks, skills, commands, and rules are model-provider agnostic once the `claude` CLI is already working.
Official references:
- [Claude Code LLM gateway docs ](https://docs.anthropic.com/en/docs/claude-code/llm-gateway )
- [Claude Code model configuration docs ](https://docs.anthropic.com/en/docs/claude-code/model-config )
</details>
2026-02-12 13:24:24 -08:00
<details>
<summary><b>My context window is shrinking / Claude is running out of context</b></summary>
2026-04-30 08:31:48 -04:00
Too many MCP servers eat your context. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k. SessionStart context is capped at 8000 characters by default; lower it with `ECC_SESSION_START_MAX_CHARS=4000` or disable it with `ECC_SESSION_START_CONTEXT=off` for local-model or low-context setups.
2026-02-12 13:24:24 -08:00
2026-04-30 04:52:17 -04:00
**Fix:** Disable unused MCPs from Claude Code with `/mcp` . Claude Code writes those runtime choices to `~/.claude.json` ; `.claude/settings.json` and `.claude/settings.local.json` are not reliable toggles for already-loaded MCP servers.
2026-02-12 13:24:24 -08:00
Keep under 10 MCPs enabled and under 80 tools active.
</details>
<details>
<summary><b>Can I use only some components (e.g., just agents)?</b></summary>
Yes. Use Option 2 (manual installation) and copy only what you need:
```bash
# Just agents
2026-05-19 05:18:28 -04:00
cp agents/*.md ~/.claude/agents/
2026-02-12 13:24:24 -08:00
# Just rules
2026-04-30 07:43:20 -04:00
mkdir -p ~/.claude/rules/ecc/
2026-05-19 05:18:28 -04:00
cp -r rules/common ~/.claude/rules/ecc/
2026-02-12 13:24:24 -08:00
```
Each component is fully independent.
</details>
<details>
2026-05-12 23:00:00 -04:00
<summary><b>Does this work with Cursor / OpenCode / Codex / Antigravity / GitHub Copilot?</b></summary>
2026-02-12 13:24:24 -08:00
Yes. ECC is cross-platform:
- **Cursor**: Pre-translated configs in `.cursor/` . See [Cursor IDE Support ](#cursor-ide-support ).
2026-03-31 15:13:20 -07:00
- **Gemini CLI**: Experimental project-local support via `.gemini/GEMINI.md` and shared installer plumbing.
2026-04-05 13:59:42 -07:00
- **OpenCode**: Full plugin support in `.opencode/` . See [OpenCode Support ](#opencode-support ).
2026-05-19 14:28:25 +05:30
- **Codex**: First-class support for both macOS app and CLI, with adapter drift guards and SessionStart fallback. See PR [#257 ](https://github.com/affaan-m/ECC/pull/257 ).
2026-05-12 23:00:00 -04:00
- **GitHub Copilot (VS Code)**: Instruction and prompt layer via `.github/copilot-instructions.md` , `.vscode/settings.json` , and `.github/prompts/` . See [GitHub Copilot Support ](#github-copilot-support ).
2026-03-20 12:51:37 +05:30
- **Antigravity**: Tightly integrated setup for workflows, skills, and flattened rules in `.agent/` . See [Antigravity Guide ](docs/ANTIGRAVITY-GUIDE.md ).
2026-05-11 10:58:24 -04:00
- **JoyCode / CodeBuddy**: Project-local selective install adapters for commands, agents, skills, and flattened rules. See [JoyCode Adapter Guide ](docs/JOYCODE-GUIDE.md ).
2026-05-11 11:15:45 -04:00
- **Qwen CLI**: Home-directory selective install adapter for commands, agents, skills, rules, and Qwen config. See [Qwen CLI Adapter Guide ](docs/QWEN-GUIDE.md ).
2026-05-17 07:06:49 -04:00
- **Zed**: Project-local selective install adapter for `.zed/settings.json` , flattened rules, commands, agents, and skills.
2026-04-05 14:39:55 -07:00
- **Non-native harnesses**: Manual fallback path for Grok and similar interfaces. See [Manual Adaptation Guide ](docs/MANUAL-ADAPTATION-GUIDE.md ).
2026-02-12 13:24:24 -08:00
- **Claude Code**: Native — this is the primary target.
</details>
<details>
<summary><b>How do I contribute a new skill or agent?</b></summary>
See [CONTRIBUTING.md ](CONTRIBUTING.md ). The short version:
1. Fork the repo
2. Create your skill in `skills/your-skill-name/SKILL.md` (with YAML frontmatter)
3. Or create an agent in `agents/your-agent.md`
4. Submit a PR with a clear description of what it does and when to use it
</details>
---
2026-03-29 08:59:06 -04:00
## Running Tests
2026-01-23 15:08:07 +08:00
The plugin includes a comprehensive test suite:
```bash
# Run all tests
node tests/run-all.js
# Run individual test files
node tests/lib/utils.test.js
node tests/lib/package-manager.test.js
node tests/hooks/hooks.test.js
```
---
2026-03-29 08:59:06 -04:00
## Contributing
2026-01-17 17:49:33 -08:00
**Contributions are welcome and encouraged.**
This repo is meant to be a community resource. If you have:
- Useful agents or skills
- Clever hooks
- Better MCP configurations
- Improved rules
Please contribute! See [CONTRIBUTING.md ](CONTRIBUTING.md ) for guidelines.
### Ideas for Contributions
2026-05-11 21:16:05 -04:00
- Language-specific skills (Rust, C#, Kotlin, Java) — Go, Python, Perl, Swift, TypeScript, and HarmonyOS/ArkTS already included
2026-04-02 18:27:51 -07:00
- Framework-specific configs (Rails, FastAPI) — Django, NestJS, Spring Boot, and Laravel already included
2026-02-06 02:22:21 -08:00
- DevOps agents (Kubernetes, Terraform, AWS, Docker)
- Testing strategies (different frameworks, visual regression)
2026-01-17 17:49:33 -08:00
- Domain-specific knowledge (ML, data engineering, mobile)
---
2026-02-11 02:31:52 -08:00
## Cursor IDE Support
2026-04-30 02:12:24 -04:00
ECC provides Cursor IDE support with hooks, rules, agents, skills, commands, and MCP configs adapted for Cursor's project layout.
2026-02-11 02:31:52 -08:00
### Quick Start (Cursor)
```bash
2026-03-16 21:35:17 +01:00
# macOS/Linux
2026-02-11 02:31:52 -08:00
./install.sh --target cursor typescript
2026-03-10 21:10:26 -07:00
./install.sh --target cursor python golang swift php
2026-02-11 02:31:52 -08:00
```
2026-03-16 21:35:17 +01:00
```powershell
# Windows PowerShell
.\ install . ps1 - -target cursor typescript
.\ install . ps1 - -target cursor python golang swift php
```
2026-02-25 10:45:29 -08:00
### What's Included
2026-02-11 02:31:52 -08:00
2026-02-25 10:45:29 -08:00
| Component | Count | Details |
|-----------|-------|---------|
| Hook Events | 15 | sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt, and 10 more |
| Hook Scripts | 16 | Thin Node.js scripts delegating to `scripts/hooks/` via shared adapter |
2026-03-10 21:10:26 -07:00
| Rules | 34 | 9 common (alwaysApply) + 25 language-specific (TypeScript, Python, Go, Swift, PHP) |
2026-04-30 02:12:24 -04:00
| Agents | 48 | `.cursor/agents/ecc-*.md` when installed; prefixed to avoid collisions with user or marketplace agents |
| Skills | Shared + Bundled | `.cursor/skills/` for translated additions |
2026-02-25 10:45:29 -08:00
| Commands | Shared | `.cursor/commands/` if installed |
| MCP Config | Shared | `.cursor/mcp.json` if installed |
2026-02-11 02:31:52 -08:00
2026-04-30 02:12:24 -04:00
### Cursor Loading Notes
ECC does not install root `AGENTS.md` into `.cursor/` . Cursor treats nested `AGENTS.md` files as directory context, so copying ECC's repo identity into a host project would pollute that project.
Cursor-native loading behavior can vary by Cursor build. ECC installs agents as `.cursor/agents/ecc-*.md` ; if your Cursor build does not expose project agents, those files still work as explicit reference definitions instead of hidden global prompt context.
2026-06-06 23:27:00 -06:00
### Memory and data isolation (Cursor + Claude Code)
ECC memory hooks reuse the same `scripts/hooks/*.js` as Claude Code. For Cursor, ECC tries to keep memory **out of `~/.claude` automatically** :
1. **Cursor `sessionStart` hook** (installed to `.cursor/hooks.json` on `--target cursor` ) injects `ECC_AGENT_DATA_HOME` for the whole composer session.
2. **Hook runtime default** — when `CURSOR_VERSION` or `CURSOR_PROJECT_DIR` is present, hooks default to `~/.cursor/ecc` if the env var is unset.
3. **Project config** — `.cursor/ecc-agent-data.json` documents and overrides the path (`agentDataHome` ).
4. **Always-on rule** — `.cursor/rules/ecc-agent-data-home.mdc` reminds the agent where memory lives.
You can still override explicitly:
```bash
export ECC_AGENT_DATA_HOME = " $HOME /.cursor/ecc"
```
To **share** memory with Claude Code on purpose, set `ECC_AGENT_DATA_HOME=~/.claude` in the shell or in `.cursor/ecc-agent-data.json` .
Continuous learning v2 instincts remain separate under `CLV2_HOMUNCULUS_DIR` (default `~/.local/share/ecc-homunculus` ).
2026-02-25 10:45:29 -08:00
### Hook Architecture (DRY Adapter Pattern)
Cursor has **more hook events than Claude Code** (20 vs 8). The `.cursor/hooks/adapter.js` module transforms Cursor's stdin JSON to Claude Code's format, allowing existing `scripts/hooks/*.js` to be reused without duplication.
```
Cursor stdin JSON → adapter.js → transforms → scripts/hooks/*.js
(shared with Claude Code)
```
Key hooks:
- **beforeShellExecution** — Blocks dev servers outside tmux (exit 2), git push review
- **afterFileEdit** — Auto-format + TypeScript check + console.log warning
- **beforeSubmitPrompt** — Detects secrets (sk-, ghp_, AKIA patterns) in prompts
- **beforeTabFileRead** — Blocks Tab from reading .env, .key, .pem files (exit 2)
- **beforeMCPExecution / afterMCPExecution** — MCP audit logging
### Rules Format
Cursor rules use YAML frontmatter with `description` , `globs` , and `alwaysApply` :
```yaml
---
description : "TypeScript coding style extending common rules"
globs : [ "**/*.ts" , "**/*.tsx" , "**/*.js" , "**/*.jsx" ]
alwaysApply : false
---
```
---
2026-03-04 14:48:06 -08:00
## Codex macOS App + CLI Support
2026-02-25 10:45:29 -08:00
2026-03-04 14:48:06 -08:00
ECC provides **first-class Codex support** for both the macOS app and CLI, with a reference configuration, Codex-specific AGENTS.md supplement, and shared skills.
2026-02-25 10:45:29 -08:00
2026-03-04 14:48:06 -08:00
### Quick Start (Codex App + CLI)
2026-02-25 10:45:29 -08:00
```bash
2026-03-10 19:22:37 -07:00
# Run Codex CLI in the repo — AGENTS.md and .codex/ are auto-detected
2026-02-25 10:45:29 -08:00
codex
2026-03-10 19:22:37 -07:00
2026-03-23 06:39:46 +08:00
# Automatic setup: sync ECC assets (AGENTS.md, skills, MCP servers) into ~/.codex
npm install && bash scripts/sync-ecc-to-codex.sh
# or: pnpm install && bash scripts/sync-ecc-to-codex.sh
# or: yarn install && bash scripts/sync-ecc-to-codex.sh
# or: bun install && bash scripts/sync-ecc-to-codex.sh
# Or manually: copy the reference config to your home directory
2026-03-10 19:22:37 -07:00
cp .codex/config.toml ~/.codex/config.toml
2026-02-25 10:45:29 -08:00
```
2026-03-23 06:39:46 +08:00
The sync script safely merges ECC MCP servers into your existing `~/.codex/config.toml` using an **add-only** strategy — it never removes or modifies your existing servers. Run with `--dry-run` to preview changes, or `--update-mcp` to force-refresh ECC servers to the latest recommended config.
2026-03-27 13:31:37 -04:00
For Context7, ECC uses the canonical Codex section name `[mcp_servers.context7]` while still launching the `@upstash/context7-mcp` package. If you already have a legacy `[mcp_servers.context7-mcp]` entry, `--update-mcp` migrates it to the canonical section name.
2026-03-04 14:48:06 -08:00
Codex macOS app:
- Open this repository as your workspace.
- The root `AGENTS.md` is auto-detected.
2026-03-10 19:22:37 -07:00
- `.codex/config.toml` and `.codex/agents/*.toml` work best when kept project-local.
2026-03-12 07:53:59 -07:00
- The reference `.codex/config.toml` intentionally does not pin `model` or `model_provider` , so Codex uses its own current default unless you override it.
2026-03-10 19:22:37 -07:00
- Optional: copy `.codex/config.toml` to `~/.codex/config.toml` for global defaults; keep the multi-agent role files project-local unless you also copy `.codex/agents/` .
2026-03-04 14:48:06 -08:00
2026-02-25 10:45:29 -08:00
### What's Included
| Component | Count | Details |
|-----------|-------|---------|
2026-03-10 19:22:37 -07:00
| Config | 1 | `.codex/config.toml` — top-level approvals/sandbox/web_search, MCP servers, notifications, profiles |
2026-02-25 10:45:29 -08:00
| AGENTS.md | 2 | Root (universal) + `.codex/AGENTS.md` (Codex-specific supplement) |
2026-04-30 00:12:46 -04:00
| Skills | 32 | `.agents/skills/` — SKILL.md + agents/openai.yaml per skill |
2026-04-05 14:01:31 -07:00
| MCP Servers | 6 | GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking (7 with Supabase via `--update-mcp` sync) |
2026-02-25 10:45:29 -08:00
| Profiles | 2 | `strict` (read-only sandbox) and `yolo` (full auto-approve) |
2026-03-10 19:22:37 -07:00
| Agent Roles | 3 | `.codex/agents/` — explorer, reviewer, docs-researcher |
2026-02-25 10:45:29 -08:00
### Skills
Skills at `.agents/skills/` are auto-loaded by Codex:
2026-04-30 00:12:46 -04:00
Canonical Anthropic skills such as `claude-api` , `frontend-design` , and `skill-creator` are intentionally not re-bundled here. Install those from [`anthropics/skills` ](https://github.com/anthropics/skills ) when you want the official versions.
2026-02-25 10:45:29 -08:00
| Skill | Description |
|-------|-------------|
2026-04-30 00:12:46 -04:00
| agent-introspection-debugging | Debug agent behavior, routing, and prompt boundaries |
| agent-sort | Sort agent catalogs and assignment surfaces |
2026-04-05 14:01:31 -07:00
| api-design | REST API design patterns |
2026-02-27 05:50:23 -08:00
| article-writing | Long-form writing from notes and voice references |
2026-02-25 10:45:29 -08:00
| backend-patterns | API design, database, caching |
2026-04-05 14:01:31 -07:00
| brand-voice | Source-derived writing style profiles from real content |
| bun-runtime | Bun as runtime, package manager, bundler, and test runner |
| coding-standards | Universal coding standards |
2026-06-07 07:26:54 +02:00
| codehealth-mcp | Optional — Code Health MCP (opt-in server + token); structural review and commit/PR gates |
2026-04-05 14:01:31 -07:00
| content-engine | Platform-native social content and repurposing |
| crosspost | Multi-platform content distribution across X, LinkedIn, Threads |
| deep-research | Multi-source research with synthesis and source attribution |
| dmux-workflows | Multi-agent orchestration using tmux pane manager |
| documentation-lookup | Up-to-date library and framework docs via Context7 MCP |
2026-02-25 10:45:29 -08:00
| e2e-testing | Playwright E2E tests |
| eval-harness | Eval-driven development |
2026-04-05 14:01:31 -07:00
| everything-claude-code | Development conventions and patterns for the project |
| exa-search | Neural search via Exa MCP for web, code, company research |
| fal-ai-media | Unified media generation for images, video, and audio |
| frontend-patterns | React/Next.js patterns |
| frontend-slides | HTML presentations, PPTX conversion, visual style exploration |
| investor-materials | Decks, memos, models, and one-pagers |
| investor-outreach | Personalized outreach, follow-ups, and intro blurbs |
| market-research | Source-attributed market and competitor research |
| mcp-server-patterns | Build MCP servers with Node/TypeScript SDK |
| nextjs-turbopack | Next.js 16+ and Turbopack incremental bundling |
2026-04-30 00:12:46 -04:00
| product-capability | Translate product goals into scoped capability maps |
2026-04-05 14:01:31 -07:00
| security-review | Comprehensive security checklist |
2026-02-25 10:45:29 -08:00
| strategic-compact | Context management |
2026-04-05 14:01:31 -07:00
| tdd-workflow | Test-driven development with 80%+ coverage |
2026-02-25 10:45:29 -08:00
| verification-loop | Build, test, lint, typecheck, security |
2026-04-05 14:01:31 -07:00
| video-editing | AI-assisted video editing workflows with FFmpeg and Remotion |
| x-api | X/Twitter API integration for posting and analytics |
2026-02-25 10:45:29 -08:00
### Key Limitation
2026-03-10 19:22:37 -07:00
Codex does **not yet provide Claude-style hook execution parity** . ECC enforcement there is instruction-based via `AGENTS.md` , optional `model_instructions_file` overrides, and sandbox/approval settings.
### Multi-Agent Support
2026-04-05 14:01:31 -07:00
Current Codex builds support stable multi-agent workflows.
2026-03-10 19:22:37 -07:00
- Enable `features.multi_agent = true` in `.codex/config.toml`
- Define roles under `[agents.<name>]`
- Point each role at a file under `.codex/agents/`
- Use `/agent` in the CLI to inspect or steer child agents
ECC ships three sample role configs:
| Role | Purpose |
|------|---------|
| `explorer` | Read-only codebase evidence gathering before edits |
| `reviewer` | Correctness, security, and missing-test review |
| `docs_researcher` | Documentation and API verification before release/docs changes |
2026-02-11 02:31:52 -08:00
---
2026-05-17 07:06:49 -04:00
## Zed Support
ECC provides Zed project support through a conservative `.zed` adapter for project-local settings, flattened rules, agents, commands, and skills.
```bash
./install.sh --profile minimal --target zed
```
```powershell
.\ install . ps1 - -profile minimal - -target zed
```
The adapter writes ECC-managed files under `.zed/` and keeps BYOK/OpenRouter credentials out of the repo. Configure Zed account or API keys through Zed's own settings UI or your local user settings.
---
2026-03-29 08:59:06 -04:00
## OpenCode Support
2026-02-05 04:39:45 -08:00
ECC provides **full OpenCode support** including plugins and hooks.
### Quick Start
```bash
# Install OpenCode
npm install -g opencode
# Run in the repository root
opencode
```
The configuration is automatically detected from `.opencode/opencode.json` .
### Feature Parity
2026-05-28 13:32:52 +02:00
| Feature | Claude Code | OpenCode | Status |
|---------|---------------------|----------|--------|
2026-06-07 16:05:28 +08:00
| Agents | PASS: 64 agents | PASS: 12 agents | **Claude Code leads** |
2026-06-07 03:15:31 -05:00
| Commands | PASS: 84 commands | PASS: 35 commands | **Claude Code leads** |
| Skills | PASS: 261 skills | PASS: 37 skills | **Claude Code leads** |
2026-03-29 08:59:06 -04:00
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
2026-05-28 13:32:52 +02:00
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
| Custom Tools | PASS: Via hooks | PASS: 6 native tools | **OpenCode is better** |
2026-02-05 04:39:45 -08:00
### Hook Support via Plugins
OpenCode's plugin system is MORE sophisticated than Claude Code with 20+ event types:
| Claude Code Hook | OpenCode Plugin Event |
|-----------------|----------------------|
| PreToolUse | `tool.execute.before` |
| PostToolUse | `tool.execute.after` |
| Stop | `session.idle` |
| SessionStart | `session.created` |
| SessionEnd | `session.deleted` |
**Additional OpenCode events** : `file.edited` , `file.watcher.updated` , `message.updated` , `lsp.client.diagnostics` , `tui.toast.show` , and more.
2026-04-29 23:47:19 -04:00
### Maintained Slash Entries
2026-02-05 04:39:45 -08:00
| Command | Description |
|---------|-------------|
| `/plan` | Create implementation plan |
| `/code-review` | Review code changes |
| `/build-fix` | Fix build errors |
| `/refactor-clean` | Remove dead code |
| `/learn` | Extract patterns from session |
| `/checkpoint` | Save verification state |
2026-04-29 23:47:19 -04:00
| `/quality-gate` | Run the maintained verification gate |
2026-02-05 04:39:45 -08:00
| `/update-docs` | Update documentation |
| `/update-codemaps` | Update codemaps |
| `/test-coverage` | Analyze coverage |
| `/go-review` | Go code review |
| `/go-test` | Go TDD workflow |
| `/go-build` | Fix Go build errors |
2026-02-12 17:13:05 -08:00
| `/python-review` | Python code review (PEP 8, type hints, security) |
| `/multi-plan` | Multi-model collaborative planning |
| `/multi-execute` | Multi-model collaborative execution |
| `/multi-backend` | Backend-focused multi-model workflow |
| `/multi-frontend` | Frontend-focused multi-model workflow |
| `/multi-workflow` | Full multi-model development workflow |
| `/pm2` | Auto-generate PM2 service commands |
| `/sessions` | Manage session history |
2026-02-05 04:39:45 -08:00
| `/skill-create` | Generate skills from git |
| `/instinct-status` | View learned instincts |
| `/instinct-import` | Import instincts |
| `/instinct-export` | Export instincts |
| `/evolve` | Cluster instincts into skills |
2026-03-02 04:07:13 +08:00
| `/promote` | Promote project instincts to global scope |
| `/projects` | List known projects and instinct stats |
2026-03-23 06:40:58 +08:00
| `/prune` | Delete expired pending instincts (30d TTL) |
2026-02-23 06:56:00 -08:00
| `/learn-eval` | Extract and evaluate patterns before saving |
2026-02-05 04:39:45 -08:00
| `/setup-pm` | Configure package manager |
2026-03-04 14:48:06 -08:00
| `/harness-audit` | Audit harness reliability, eval readiness, and risk posture |
| `/loop-start` | Start controlled agentic loop execution pattern |
| `/loop-status` | Inspect active loop status and checkpoints |
| `/quality-gate` | Run quality gate checks for paths or entire repo |
| `/model-route` | Route tasks to models by complexity and budget |
2026-02-05 04:39:45 -08:00
### Plugin Installation
**Option 1: Use directly**
```bash
2026-05-19 05:18:28 -04:00
cd ECC
2026-02-05 04:39:45 -08:00
opencode
```
**Option 2: Install as npm package**
```bash
2026-02-11 02:31:52 -08:00
npm install ecc-universal
2026-02-05 04:39:45 -08:00
```
Then add to your `opencode.json` :
```json
{
2026-02-11 02:31:52 -08:00
"plugin" : [ "ecc-universal" ]
2026-02-05 04:39:45 -08:00
}
```
2026-03-09 21:10:46 -07:00
That npm plugin entry enables ECC's published OpenCode plugin module (hooks/events and plugin tools).
It does **not** automatically add ECC's full command/agent/instruction catalog to your project config.
For the full ECC OpenCode setup, either:
- run OpenCode inside this repository, or
2026-03-09 22:05:35 -07:00
- copy the bundled `.opencode/` config assets into your project and wire the `instructions` , `agent` , and `command` entries in `opencode.json`
2026-03-09 21:10:46 -07:00
2026-02-05 04:39:45 -08:00
### Documentation
- **Migration Guide**: `.opencode/MIGRATION.md`
- **OpenCode Plugin README**: `.opencode/README.md`
- **Consolidated Rules**: `.opencode/instructions/INSTRUCTIONS.md`
- **LLM Documentation**: `llms.txt` (complete OpenCode docs for LLMs)
---
2026-05-12 23:00:00 -04:00
## GitHub Copilot Support
ECC provides **GitHub Copilot support** for VS Code via Copilot Chat's native instruction and prompt file system — no extra tooling required.
### What's Included
| Component | File | Purpose |
|-----------|------|---------|
| Core instructions | `.github/copilot-instructions.md` | Always-loaded rules: coding style, security, testing, git workflow |
2026-06-09 21:20:33 -04:00
| VS Code settings | `.vscode/settings.json` | Per-task instruction files for code gen, test gen, and commit messages |
2026-05-12 23:00:00 -04:00
| Plan prompt | `.github/prompts/plan.prompt.md` | Phased implementation planning |
| TDD prompt | `.github/prompts/tdd.prompt.md` | Red-Green-Improve cycle |
| Security review prompt | `.github/prompts/security-review.prompt.md` | Deep OWASP-aligned security analysis |
| Build fix prompt | `.github/prompts/build-fix.prompt.md` | Systematic build and CI error resolution |
| Refactor prompt | `.github/prompts/refactor.prompt.md` | Dead code cleanup and simplification |
### Quick Start (GitHub Copilot)
The files are already in place — open any repo that contains this project and GitHub Copilot Chat will automatically pick up `.github/copilot-instructions.md` .
The committed `.vscode/settings.json` enables `chat.promptFiles` so VS Code can load the reusable prompts from `.github/prompts/` .
To use the workflow prompts in Copilot Chat:
1. Open the Copilot Chat panel in VS Code.
2. Click the **paperclip / attach** icon and select **Prompt...** , or type `/` and choose a prompt.
2026-06-09 21:20:33 -04:00
3. Select the prompt (e.g. `plan` , `tdd` , `security-review` ).
2026-05-12 23:00:00 -04:00
### How It Works
GitHub Copilot in VS Code reads two types of files automatically:
- **`.github/copilot-instructions.md` ** — repository-level instructions, always injected into every Copilot Chat request. Contains ECC's core coding standards, security checklist, testing requirements, and git workflow.
2026-06-09 21:20:33 -04:00
- **`.github/prompts/*.prompt.md` ** — reusable prompt files users invoke on demand. Each prompt walks Copilot through a specific ECC workflow such as planning, TDD, security review, build-fix, or refactor.
2026-05-12 23:00:00 -04:00
2026-06-09 21:20:33 -04:00
The ** `.vscode/settings.json` ** adds per-task instruction overlays so Copilot receives the right context for code generation, test generation, and commit message drafting.
2026-05-12 23:00:00 -04:00
### Feature Coverage
| ECC Feature | Copilot equivalent |
|-------------|-------------------|
| Coding standards | Always-on via `copilot-instructions.md` |
| Security checklist | Always-on + `security-review` prompt |
| Testing / TDD | Always-on + `tdd` prompt |
| Implementation planning | `plan` prompt |
2026-06-09 21:20:33 -04:00
| Code review | External PR review via CodeRabbit + Greptile |
2026-05-12 23:00:00 -04:00
| Build error resolution | `build-fix` prompt |
| Refactoring | `refactor` prompt |
| Commit message format | Per-task instruction in `settings.json` |
| Hooks / automation | Not supported (Copilot has no hook system) |
| Agents / delegation | Not supported (Copilot has no subagent API) |
### Limitations
GitHub Copilot does not have a hook system or a subagent API, so ECC's hook automations (auto-format, TypeScript check, session persistence, dev-server guard) and agent delegation are unavailable. The instruction and prompt layer still brings the full ECC coding philosophy — standards, security, TDD, and workflow — into every Copilot Chat session.
---
2026-02-25 10:45:29 -08:00
## Cross-Tool Feature Parity
ECC is the **first plugin to maximize every major AI coding tool** . Here's how each harness compares:
2026-05-28 13:32:52 +02:00
| Feature | Claude Code | Cursor IDE | Codex CLI | OpenCode | GitHub Copilot |
|---------|-----------------------|------------|-----------|----------|----------------|
2026-06-07 16:05:28 +08:00
| **Agents** | 64 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 | N/A |
2026-06-09 21:20:33 -04:00
| **Commands** | 84 | Shared | Instruction-based | 35 | 5 prompts |
2026-06-07 03:15:31 -05:00
| **Skills** | 261 | Shared | 10 (native format) | 37 | Via instructions |
2026-05-28 13:32:52 +02:00
| **Hook Events** | 8 types | 15 types | None yet | 11 types | None |
| **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks | N/A |
| **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions | 1 always-on file |
| **Custom Tools** | Via hooks | Via hooks | N/A | 6 native tools | N/A |
| **MCP Servers** | 14 | Shared (mcp.json) | 7 (auto-merged via TOML parser) | Full | N/A |
| **Config Format** | settings.json | hooks.json + rules/ | config.toml | opencode.json | copilot-instructions.md + settings.json |
2026-05-12 23:00:00 -04:00
| **Context File** | CLAUDE.md + AGENTS.md | AGENTS.md | AGENTS.md | AGENTS.md | copilot-instructions.md |
2026-05-28 13:32:52 +02:00
| **Secret Detection** | Hook-based | beforeSubmitPrompt hook | Sandbox-based | Hook-based | Instruction-based |
| **Auto-Format** | PostToolUse hook | afterFileEdit hook | N/A | file.edited hook | N/A |
2026-06-09 21:20:33 -04:00
| **Version** | Plugin | Plugin | Reference config | 2.0.0 | Instruction layer |
2026-02-25 10:45:29 -08:00
**Key architectural decisions:**
2026-05-12 23:00:00 -04:00
- **AGENTS.md** at root is the universal cross-tool file (read by Claude Code, Cursor, Codex, and OpenCode — GitHub Copilot uses `.github/copilot-instructions.md` instead)
2026-02-25 10:45:29 -08:00
- **DRY adapter pattern** lets Cursor reuse Claude Code's hook scripts without duplication
- **Skills format** (SKILL.md with YAML frontmatter) works across Claude Code, Codex, and OpenCode
2026-03-10 19:22:37 -07:00
- Codex's lack of hooks is compensated by `AGENTS.md` , optional `model_instructions_file` overrides, and sandbox permissions
2026-02-25 10:45:29 -08:00
---
2026-03-29 08:59:06 -04:00
## Background
2026-01-17 17:49:33 -08:00
2026-03-21 19:48:20 -07:00
I've been using Claude Code since the experimental rollout. Won the Anthropic x Forum Ventures hackathon in Sep 2025 with [@DRodriguezFX ](https://x.com/DRodriguezFX ) — built [zenith.chat ](https://zenith.chat ) entirely using Claude Code.
2026-01-17 17:49:33 -08:00
These configs are battle-tested across multiple production applications.
---
2026-02-12 15:37:48 -08:00
## Token Optimization
Claude Code usage can be expensive if you don't manage token consumption. These settings significantly reduce costs without sacrificing quality.
### Recommended Settings
Add to `~/.claude/settings.json` :
```json
{
"model" : "sonnet" ,
"env" : {
"MAX_THINKING_TOKENS" : "10000" ,
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE" : "50"
}
}
```
| Setting | Default | Recommended | Impact |
|---------|---------|-------------|--------|
| `model` | opus | **sonnet** | ~60% cost reduction; handles 80%+ of coding tasks |
| `MAX_THINKING_TOKENS` | 31,999 | **10,000** | ~70% reduction in hidden thinking cost per request |
| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 95 | **50** | Compacts earlier — better quality in long sessions |
2026-05-17 01:43:50 -04:00
| `ECC_CONTEXT_MONITOR_COST_WARNINGS` | on | **off for subscription users** | Suppresses agent-facing API-rate estimate warnings while keeping context/scope/loop warnings |
2026-02-12 15:37:48 -08:00
Switch to Opus only when you need deep architectural reasoning:
```
/model opus
```
### Daily Workflow Commands
| Command | When to Use |
|---------|-------------|
| `/model sonnet` | Default for most tasks |
| `/model opus` | Complex architecture, debugging, deep reasoning |
| `/clear` | Between unrelated tasks (free, instant reset) |
| `/compact` | At logical task breakpoints (research done, milestone complete) |
| `/cost` | Monitor token spending during session |
2026-05-17 01:43:50 -04:00
If you use a Claude subscription and the context monitor's API-rate estimates are not useful, set `ECC_CONTEXT_MONITOR_COST_WARNINGS=off` . This only suppresses the agent-facing cost warnings; it does not disable context exhaustion, scope, or loop warnings.
2026-02-12 15:37:48 -08:00
### Strategic Compaction
The `strategic-compact` skill (included in this plugin) suggests `/compact` at logical breakpoints instead of relying on auto-compaction at 95% context. See `skills/strategic-compact/SKILL.md` for the full decision guide.
**When to compact:**
- After research/exploration, before implementation
- After completing a milestone, before starting the next
- After debugging, before continuing feature work
- After a failed approach, before trying a new one
**When NOT to compact:**
- Mid-implementation (you'll lose variable names, file paths, partial state)
2026-01-17 17:49:33 -08:00
### Context Window Management
2026-02-12 15:37:48 -08:00
**Critical:** Don't enable all MCPs at once. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.
2026-01-17 17:49:33 -08:00
2026-02-12 15:37:48 -08:00
- Keep under 10 MCPs enabled per project
- Keep under 80 tools active
2026-04-30 04:52:17 -04:00
- Use `/mcp` to disable unused Claude Code MCP servers; those runtime choices persist in `~/.claude.json`
- Use `ECC_DISABLED_MCPS` only to filter ECC-generated MCP configs during install/sync flows
2026-01-17 17:49:33 -08:00
2026-02-12 15:37:48 -08:00
### Agent Teams Cost Warning
Agent Teams spawns multiple context windows. Each teammate consumes tokens independently. Only use for tasks where parallelism provides clear value (multi-module work, parallel reviews). For simple sequential tasks, subagents are more token-efficient.
---
2026-03-29 08:59:06 -04:00
## WARNING: Important Notes
2026-01-17 17:49:33 -08:00
2026-02-12 09:53:12 +01:00
### Token Optimization
Hitting daily limits? See the ** [Token Optimization Guide ](docs/token-optimization.md )** for recommended settings and workflow tips.
Quick wins:
```json
// ~/.claude/settings.json
{
"model" : "sonnet" ,
"env" : {
"MAX_THINKING_TOKENS" : "10000" ,
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE" : "50" ,
"CLAUDE_CODE_SUBAGENT_MODEL" : "haiku"
}
}
```
Use `/clear` between unrelated tasks, `/compact` at logical breakpoints, and `/cost` to monitor spending.
2026-01-17 17:49:33 -08:00
### Customization
These configs work for my workflow. You should:
1. Start with what resonates
2. Modify for your stack
3. Remove what you don't use
4. Add your own patterns
2026-04-05 17:28:54 -07:00
---
2026-03-29 08:59:06 -04:00
## Sponsors
2026-02-12 14:07:10 -08:00
2026-06-09 20:26:31 -04:00
ECC stays free because paid sponsors fund the work. Featured README placement is reserved for active sponsors.
<div align="center">
<a href="https://www.coderabbit.ai"><img src="assets/images/sponsors/coderabbit.png" width="80" alt="CodeRabbit logo" /></a>
<a href="https://greptile.com"><img src="assets/images/sponsors/greptile.png" width="80" alt="Greptile logo" /></a>
<br />
<sub><strong>CodeRabbit</strong> · <strong>Greptile</strong></sub>
</div>
2026-02-12 14:07:10 -08:00
2026-03-04 16:17:12 -08:00
[**Become a Sponsor** ](https://github.com/sponsors/affaan-m ) | [Sponsor Tiers ](SPONSORS.md ) | [Sponsorship Program ](SPONSORING.md )
2026-02-12 14:07:10 -08:00
2026-01-22 22:19:01 -08:00
---
2026-03-29 08:59:06 -04:00
## Links
2026-01-17 17:49:33 -08:00
2026-06-09 20:26:31 -04:00
- **Shorthand Guide (Start Here):** [The Shorthand Guide to ECC ](https://x.com/affaan/status/2012378465664745795 )
- **Longform Guide (Advanced):** [The Longform Guide to ECC ](https://x.com/affaan/status/2014040193557471352 )
- **Security Guide:** [Security Guide ](./the-security-guide.md ) | [Thread ](https://x.com/affaan/status/2033263813387223421 )
- **Follow:** [@affaan ](https://x.com/affaan )
2026-01-17 17:49:33 -08:00
---
2026-03-29 08:59:06 -04:00
## License
2026-01-17 17:49:33 -08:00
MIT - Use freely, modify as needed, contribute back if you can.
---
2026-01-21 12:05:58 -08:00
**Star this repo if it helps. Read both guides. Build something great.**