affaan-m/ECCPublic

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

AI summary: A C-based educational implementation of Elliptic Curve Cryptography illustrating core cryptographic principles.

Stars
272.8K
+600 today
Forks
40.7K
Watchers
1.4K
Open issues
81
Open PRs
158
Contributors
~382
Commits
2.8K
Branches
54

JavaScriptMITCreated Jan 18, 2026Last push 2d agoLatest release v2.2.1+4.4K stars this week+24.3K this month

Quick answers

What is ECC?
A C-based educational implementation of Elliptic Curve Cryptography illustrating core cryptographic principles.
What does ECC do?
ECC (Elliptic Curve Cryptography) is a minimalist, educational project written in C that demonstrates the foundational mathematics behind modern public-key cryptography. It provides a transparent, easy-to-read implementation of elliptic curve operations, including point addition, scalar multiplication, and key generation. By avoiding the extreme optimizations and complex architectures of production libraries like OpenSSL, it serves as an accessible learning tool. It is specifically designed to help students and researchers understand how ECC actually functions at a low level.
Who is ECC for?
Computer science students, cryptography enthusiasts, and academic researchers seeking to understand the mechanics of ECC. It is not intended for use in secure, production environments.
How do I get started with ECC?
git clone https://github.com/affaan-m/ECC.git && cd ECC
How popular is ECC on GitHub?
affaan-m/ECC has 272,795 stars and 40,731 forks on GitHub, and gained 4,404 stars in the last 7 days.
What license does ECC use?
affaan-m/ECC is released under the MIT license.

Star history

since Jul 28, 2026
0100K200KJul 2026Aug 2026Sep 2026Oct 2026
272.8K stars as of Oct 4, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Update history

1 recorded
  • Oct 4, 2026Previously tracked as affaan-m/everything-claude-code; its 1 daily snapshot and 114 trending appearances were merged into this profile. Stars: 234,735 on 2026-07-28 under the old name, 272,668 on 2026-10-04 (+37,933).

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 6 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 4 commits2026-01-21: 3 commits2026-01-22: 10 commits2026-01-23: 6 commits2026-01-24: 1 commit2026-01-25: 5 commits2026-01-26: 12 commits2026-01-27: 5 commits2026-01-28: 1 commit2026-01-29: 13 commits2026-01-30: 1 commit2026-01-31: 0 commits2026-02-01: 1 commit2026-02-02: 0 commits2026-02-03: 1 commit2026-02-04: 0 commits2026-02-05: 8 commits2026-02-06: 2 commits2026-02-07: 0 commits2026-02-08: 1 commit2026-02-09: 6 commits2026-02-10: 3 commits2026-02-11: 8 commits2026-02-12: 74 commits2026-02-13: 127 commits2026-02-14: 10 commits2026-02-15: 2 commits2026-02-16: 7 commits2026-02-17: 7 commits2026-02-18: 13 commits2026-02-19: 7 commits2026-02-20: 5 commits2026-02-21: 2 commits2026-02-22: 3 commits2026-02-23: 2 commits2026-02-24: 9 commits2026-02-25: 6 commits2026-02-26: 2 commits2026-02-27: 7 commits2026-02-28: 6 commits2026-03-01: 0 commits2026-03-02: 3 commits2026-03-03: 12 commits2026-03-04: 5 commits2026-03-05: 4 commits2026-03-06: 3 commits2026-03-07: 10 commits2026-03-08: 12 commits2026-03-09: 15 commits2026-03-10: 46 commits2026-03-11: 3 commits2026-03-12: 26 commits2026-03-13: 7 commits2026-03-14: 3 commits2026-03-15: 4 commits2026-03-16: 14 commits2026-03-17: 17 commits2026-03-18: 1 commit2026-03-19: 1 commit2026-03-20: 46 commits2026-03-21: 18 commits2026-03-22: 17 commits2026-03-23: 25 commits2026-03-24: 18 commits2026-03-25: 34 commits2026-03-26: 15 commits2026-03-27: 16 commits2026-03-28: 34 commits2026-03-29: 19 commits2026-03-30: 10 commits2026-03-31: 28 commits2026-04-01: 23 commits2026-04-02: 11 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 51 commits2026-04-06: 6 commits2026-04-07: 29 commits2026-04-08: 57 commits2026-04-09: 63 commits2026-04-10: 50 commits2026-04-11: 7 commits2026-04-12: 44 commits2026-04-13: 21 commits2026-04-14: 14 commits2026-04-15: 3 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 3 commits2026-04-19: 4 commits2026-04-20: 0 commits2026-04-21: 6 commits2026-04-22: 10 commits2026-04-23: 2 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 1 commit2026-04-28: 4 commits2026-04-29: 33 commits2026-04-30: 40 commits2026-05-01: 1 commit2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 1 commit2026-05-11: 71 commits2026-05-12: 68 commits2026-05-13: 36 commits2026-05-14: 6 commits2026-05-15: 50 commits2026-05-16: 23 commits2026-05-17: 66 commits2026-05-18: 51 commits2026-05-19: 46 commits2026-05-20: 1 commit2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 16 commits2026-05-26: 2 commits2026-05-27: 0 commits2026-05-28: 3 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 3 commits2026-06-03: 1 commit2026-06-04: 1 commit2026-06-05: 0 commits2026-06-06: 5 commits2026-06-07: 51 commits2026-06-08: 2 commits2026-06-09: 9 commits2026-06-10: 17 commits2026-06-11: 28 commits2026-06-12: 8 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 18 commits2026-06-16: 16 commits2026-06-17: 1 commit2026-06-18: 12 commits2026-06-19: 2 commits2026-06-20: 5 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 1 commit2026-06-25: 2 commits2026-06-26: 1 commit2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 17 commits2026-06-30: 27 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 8 commits2026-07-04: 15 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 3 commits2026-07-09: 2 commits2026-07-10: 2 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 1 commit2026-07-14: 1 commit2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 2 commits2026-07-18: 3 commits2026-07-19: 1 commit2026-07-20: 2 commits2026-07-21: 4 commits2026-07-22: 7 commits2026-07-23: 9 commits2026-07-24: 4 commits2026-07-25: 0 commits2026-07-26: 15 commits2026-07-27: 22 commits2026-07-28: 5 commits2026-07-29: 5 commits2026-07-30: 4 commits2026-07-31: 2 commits2026-08-01: 1 commit2026-08-02: 3 commits2026-08-03: 1 commit2026-08-04: 12 commits2026-08-05: 5 commits2026-08-06: 7 commits2026-08-07: 10 commits2026-08-08: 2 commits2026-08-09: 7 commits2026-08-10: 8 commits2026-08-11: 20 commits2026-08-12: 14 commits2026-08-13: 16 commits2026-08-14: 2 commits2026-08-15: 11 commits2026-08-16: 2 commits2026-08-17: 1 commit2026-08-18: 3 commits2026-08-19: 8 commits2026-08-20: 1 commit2026-08-21: 2 commits2026-08-22: 4 commits2026-08-23: 3 commits2026-08-24: 32 commits2026-08-25: 17 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 21 commits2026-08-29: 8 commits2026-08-30: 4 commits2026-08-31: 5 commits2026-09-01: 1 commit2026-09-02: 8 commits2026-09-03: 5 commits2026-09-04: 1 commit2026-09-05: 9 commits2026-09-06: 1 commit2026-09-07: 20 commits2026-09-08: 1 commit2026-09-09: 3 commits2026-09-10: 10 commits2026-09-11: 6 commits2026-09-12: 9 commits2026-09-13: 8 commits2026-09-14: 8 commits2026-09-15: 7 commits2026-09-16: 1 commit2026-09-17: 13 commits2026-09-18: 12 commits2026-09-19: 4 commits2026-09-20: 4 commits2026-09-21: 5 commits2026-09-22: 4 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 1 commit2026-09-26: 0 commits
2,490 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    272,795 stars

  • High momentum

    +600 stars today

  • Very active

    2,490 commits in 52 weeks

  • Community-driven

    ~382 contributors

  • Well documented

    High community health score

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    147 trending appearances

What ECC does

ECC (Elliptic Curve Cryptography) is a minimalist, educational project written in C that demonstrates the foundational mathematics behind modern public-key cryptography. It provides a transparent, easy-to-read implementation of elliptic curve operations, including point addition, scalar multiplication, and key generation. By avoiding the extreme optimizations and complex architectures of production libraries like OpenSSL, it serves as an accessible learning tool. It is specifically designed to help students and researchers understand how ECC actually functions at a low level.

Computer science students, cryptography enthusiasts, and academic researchers seeking to understand the mechanics of ECC. It is not intended for use in secure, production environments.

  • Transparent implementation: Written in plain C to make cryptographic algorithms easy to follow.
  • Core ECC operations: Demonstrates essential functions like point addition and scalar multiplication.
  • Educational focus: Prioritizes readability and simplicity over production-level performance optimization.
  • Key generation: Illustrates the mathematical process of deriving a public key from a private key.
  • Minimal dependencies: Avoids heavy external libraries to ensure the codebase remains focused and understandable.

Where teams use it

Cryptography education

Study the underlying mathematics of elliptic curves by reading an un-obfuscated implementation.

Algorithm prototyping

Use a simple codebase as a starting point to experiment with novel cryptographic algorithms.

Academic research

Demonstrate theoretical cryptographic concepts using a clear, functional codebase.

Security training

Train developers on how public-key infrastructure works by stepping through the core math.

Getting started: git clone https://github.com/affaan-m/ECC.git && cd ECC

README

main branch

ECC - the agent harness operating system

GitHub Trending Repository of the Day Star History Global Rank

Language: English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe | Русский | Tiếng Việt | ไทย | Deutsch | Español | Українська

Discord Website GitHub App MIT license

GitHub stars GitHub forks Contributors GitHub App installs

ecc-universal npm downloads ecc-agentshield npm downloads

Shell TypeScript Python Go Java Perl Markdown

Warning

Official sources only. Install ECC only from verified channels: the GitHub repository github.com/affaan-m/ECC, the npm packages ecc-universal and ecc-agentshield, the GitHub App, the plugin slug ecc@ecc, and the project website ecc.tools. Third-party re-uploads and unofficial mirrors are not maintained or reviewed by the project and may contain malware.

Install with Claude Code

Use the guided setup or native plugin commands. Both install the same ecc@ecc plugin. Choose one and do not stack a full manual Claude install on top.

ECC Tools
ECC Pro + GitHub App

Install free · Private repos from $19/seat/mo

Sponsor ECC

Fund the open-source project
Discord
Community

Discord · Q&A · Show and Tell

OSS stays free. This repo is MIT-licensed forever. ECC Pro is the hosted GitHub App for private repos. Sponsors and Pro subscribers fund the work. That's why a single maintainer ships weekly across 7 harnesses.

Partners & sponsors

CodeRabbit    Greptile    Moonshot AI - Kimi    Itô Markets    SerpApi: Web Search API

Past sponsors: Atlas Cloud

Community sponsors: Mike Morgan · @jasonwu513 · @1anter · @massimotodaro · @meadmccabe

Become a Sponsor · Sponsor Tiers · Sponsorship Program

Jump to install ↓

ECC

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills and workflows.

plan -> test -> implement -> review -> verify -> remember -> improve

Instead of rebuilding that process in every prompt, you install it once and make it part of how your agent works.

Optimize the context window. Persist everything else.

ECC is MIT-licensed open source. It works best with Claude Code today, has a supported Codex sync path, and provides capability-limited adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses. See the support status matrix before assuming feature parity.

Access to 68 agents, 292 skills, and 94 legacy command shims, plus hooks, rules, memory, continuous learning, and AgentShield security scanning. The agents are specialized for planning, review, build repair, security, architecture, and domain work.

Included Count What it gives you
Agents 68 agents Planning, review, build repair, security, architecture, and domain work
Skills 292 skills TDD, research, security, docs, frontend, data, ML, operations, and more
Commands 94 commands Convenient entry points while ECC moves to a skills-first surface
Hooks and memory Runtime Enforcement, session summaries, continuous learning, instincts, and context controls
Rules Selective Always-loaded standards you choose by language or project
AgentShield Included Scanning for prompts, hooks, MCP config, permissions, secrets, and agent files

Live star history chart for affaan-m/ECC

Install ECC

Important

ECC 2.2 includes guided package setup for Claude Code, Codex, and Kimi Code. The universal package requires Node.js 18 or newer. Claude plugin setup also requires Git and Claude Code 2.1 or newer on PATH.

Recommended: universal guided setup

For Claude Code plugin setup, updates, scope changes, and hook-profile changes:

npx ecc-universal@2.2.2 setup
Windows first-time walkthrough

If you are new to command-line tools, use this copy-and-paste path:

  1. Install Node.js 18 or newer, Git, and Claude Code.

  2. Open PowerShell from the Windows Start menu.

  3. Confirm that each prerequisite is available:

    node --version
    git --version
    claude --version
  4. Run the guided installer:

    npx ecc-universal@2.2.2 setup
  5. For a typical personal setup, choose Global user, choose Standard hooks, and confirm.

  6. Start a new Claude Code session and run /plugin list to verify that ecc@ecc is enabled.

This path does not require cloning the repository. If any prerequisite command is not found, install or repair that prerequisite before rerunning ECC setup.

If npm reports a version or cache error, confirm the registry version before retrying:

npm view ecc-universal version

ECC 2.2 supports the same guided setup through modern package runners:

Package runner Guided setup command
npm / npx npx ecc-universal@2.2.2 setup
pnpm pnpm dlx ecc-universal@2.2.2 setup
Yarn 2+ yarn dlx ecc-universal@2.2.2 setup
Bun bunx ecc-universal@2.2.2 setup

The examples select the published ECC 2.2.2 release, matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes.

Yarn Classic 1 does not provide yarn dlx; use npx, install the package globally, or upgrade Yarn for a temporary one-shot run.

The wizard inventories the official marketplace and every native Claude install scope before making changes, then installs, updates, or safely moves ecc@ecc to the scope you choose. Rerun the same command whenever you want to update ECC, change scope, or change its hook profile. This setup wizard currently configures the Claude Code plugin; use the multi-harness wizard below for Codex or Kimi Code.

To configure more than one coding agent in one reviewed flow, use the multi-harness wizard:

npx ecc-universal@2.2.2 install --guided

It lets you select any combination of Claude Code, Codex, and Kimi Code, shows each install channel and destination, preflights every selection before the first write, and asks for one final confirmation.

Harness Guided install behavior
Claude Code Native ecc@ecc plugin with one user, project, or local scope and an ECC hook profile
Codex Native Codex marketplace/plugin lifecycle; hook review and trust remain Codex-owned
Kimi Code Managed project files under ./.kimi-code; ECC hooks, model/provider settings, and authentication are not configured

For automation, make every provider-specific choice explicit:

npx ecc-universal@2.2.2 install --guided \
  --harness claude --harness codex --harness kimi \
  --claude-scope local --claude-hooks standard \
  --profile core --yes

Verify the native guided Codex path and managed Kimi path without writing first:

npx ecc-universal@2.2.2 install --guided --harness codex --dry-run
npx ecc-universal@2.2.2 install --profile core --target kimi --dry-run

Additional package-name commands are also available through the 2.2 alias:

npx ecc-universal@2.2.2 consult "security reviews" --target claude
npx ecc-universal@2.2.2 install --profile minimal --target claude --with capability:machine-learning
npx ecc-universal@2.2.2 doctor --target kimi

Do not use npx ecc-install --profile minimal --target claude: ecc-install is a binary name inside ecc-universal, not a separately published npm package.

ECC also ships advanced managed adapters for cursor, antigravity, gemini, opencode, codebuddy, joycode, qwen, zed, hermes, and openclaw. Those targets still use their documented ecc install --target ... paths until each adapter has passed the guided collision, update, repair, and uninstall lifecycle matrix. Neither wizard silently installs into every detected harness.

Pick one path only (per harness)

You can use ECC with Claude Code, Codex, and other harnesses at the same time. Choose one install method for each harness:

  • Recommended default: run the guided Claude plugin setup above
  • Also supported for Claude Code: use the native plugin commands
  • Available in release 2.2: guided package setup for Claude Code, Codex, and Kimi Code
  • Works: Claude Code plugin + Codex native plugin
  • Works: Claude Code plugin + the legacy Codex sync flow
  • Avoid: Claude Code plugin + full Claude manual install
  • Avoid: Codex sync + Codex marketplace plugin

Do not stack install methods. Installing ECC twice into the same harness can duplicate skills, commands, hooks, or configuration; installing it once into multiple harnesses does not.

If you already layered multiple installs and things look duplicated, skip straight to Reset / Uninstall ECC.

Install trouble? Open the short install or runtime problem form, or run ecc feedback. ECC never uploads diagnostics automatically.

Claude Code details

Alternatively, run Claude Code's native plugin commands inside Claude Code:

/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc

The native path installs ECC's skills, agents, commands, and plugin-managed hooks. If you choose it, stop there. Do not also run a full manual install into Claude Code.

Claude Code owns these built-in commands, including their errors when a marketplace, plugin, or conflicting scope already exists. ECC cannot intercept that parser. If either native command reports an existing install or scope conflict, use the 2.2 guided setup or resolve the conflicting Claude plugin scope before retrying; do not layer a manual install on top.

After ECC is installed, /ecc:configure-ecc is the namespaced in-Claude reconfiguration skill. It delegates to the same safe setup flow, but it is available only after the plugin is installed and cannot replace Claude Code's built-in /plugin command during a first install.

Claude Code plugins cannot distribute rules, so add only the rule packs you actually want:

git clone https://github.com/affaan-m/ECC.git
cd ECC
mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/  # replace with your stack

Start with rules/common plus one language or framework pack you actually use. If you install the plugin, do not run ./install.sh --profile full afterward.

Prefer settings.json? Add the marketplace declaratively

Add directly to your ~/.claude/settings.json:

{
  "extraKnownMarketplaces": {
    "ecc": {
      "source": {
        "source": "github",
        "repo": "affaan-m/ECC"
      }
    }
  },
  "enabledPlugins": {
    "ecc@ecc": true
  }
}

This gives you the same result as the two /plugin commands above.

Naming + migration note (ecc@ecc, affaan-m/ECC, ecc-universal)

ECC has three public identifiers, and they are not interchangeable:

  • GitHub source repo: affaan-m/ECC
  • Claude marketplace/plugin identifier: ecc@ecc
  • npm package: ecc-universal

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.

npm releases are cut per version tag, not per commit, so ecc-universal tracks releases (2.1, 2.2, ...) rather than every push to main. Install from git if you want the bleeding edge.

If your local Claude setup was wiped or reset, that does not mean you need to repurchase anything. Start with node scripts/ecc.js list-installed, then run node scripts/ecc.js doctor and node scripts/ecc.js repair before reinstalling. That usually restores ECC-managed files without rebuilding your setup.

Codex App and CLI

Current Codex releases can install ECC as a native repo-marketplace plugin. The marketplace entry uses the repository root so Codex's cache receives the manifest together with all referenced skills, MCP configuration, hook runtime, scripts, and assets:

codex plugin marketplace add affaan-m/ECC
codex plugin add ecc@ecc
codex plugin list --json
node scripts/codex/check-plugin-cache.js

Both add commands are idempotent. To refresh later, run codex plugin marketplace upgrade ecc followed by codex plugin add ecc@ecc. Codex stores one enabled plugin state in the active CODEX_HOME; it does not offer Claude's user, project, and local scopes. Its native hooks require an explicit trust decision and do not use Claude's four ECC hook profiles. Inside Codex, invoke $configure-ecc for the guided provider-aware flow.

The older scripts/sync-ecc-to-codex.sh path is a deprecated compatibility option for users who intentionally need copied and merged configuration in ~/.codex; it is not required for the native plugin. New sync runs write an ownership manifest so cleanup can preserve modified user files. Run Codex once first so ~/.codex/config.toml exists, then:

git clone https://github.com/affaan-m/ECC.git
cd ECC
npm install
bash scripts/sync-ecc-to-codex.sh

To inspect or remove that legacy layer without touching Codex conversations or native plugin caches:

node scripts/ecc.js uninstall --legacy-codex-sync --dry-run
node scripts/ecc.js uninstall --legacy-codex-sync

Pre-manifest installations are handled conservatively: ECC removes its marked AGENTS.md block but preserves copied files it cannot prove it owns and reports them for review.

You can also open the ECC repository directly in Codex for a project-local setup. Codex reads the root AGENTS.md and the trusted project configuration in .codex/ without a global sync. Do not add the native marketplace plugin on top of the sync flow.

For repo navigation, surface ownership, and PR diff packet guidance, read the Codex ECC Navigation Map. See the .codex plugin notes for native lifecycle details.

Other agents and editors

Cursor, OpenCode, Gemini, Zed, Antigravity, Qwen, Hermes, OpenClaw, Kimi, CodeBuddy, JoyCode, Copilot

Clone ECC once, then choose the target that matches your harness:

git clone https://github.com/affaan-m/ECC.git
cd ECC
Harness Install or setup Notes
Cursor ./install.sh --profile minimal --target cursor Project-local .cursor/ adapter
OpenCode npm install && npm run build:opencode && ./install.sh --profile full --target opencode --enable-hooks Builds the plugin payload before the full install
Gemini CLI ./install.sh --profile minimal --target gemini Project-local .gemini/ config
Zed ./install.sh --profile minimal --target zed Project-local .zed/ adapter
Antigravity ./install.sh --profile minimal --target antigravity See the Antigravity guide
Qwen CLI ./install.sh --profile minimal --target qwen See the Qwen guide
Hermes ./install.sh --profile minimal --target hermes See the Hermes setup guide
OpenClaw ./install.sh --profile minimal --target openclaw Managed home-directory install
Kimi Code CLI ./install.sh --profile minimal --target kimi Project-local .kimi-code/ install · Get Kimi Code
CodeBuddy ./install.sh --profile minimal --target codebuddy Project-local .codebuddy/ install
JoyCode ./install.sh --profile minimal --target joycode Project-local .joycode/ install

GitHub Copilot support is already included in this repository. .github/copilot-instructions.md provides the instruction layer, .github/prompts/ contains the reusable /plan, /tdd, /security-review, /build-fix, and /refactor prompts, and .vscode/settings.json enables chat.promptFiles.

For a harness without a native ECC target, use the manual adaptation guide. It explains how to carry a small set of ECC skills and workflow instructions into chat-style tools without pretending hooks or native skill discovery are available.

Cursor installs agent definitions under .cursor/agents/ecc-*.md. Cursor-native loading behavior can vary by Cursor build. ECC does not install root AGENTS.md into .cursor/. The adapter keeps Cursor's context scoped to its native rules and agent surfaces.

Deep per-harness notes (feature parity, hook adapters, limitations) live in Platform Support below.

Advanced Install Options

Low-context install with no hook runtime

Low-context / no-hooks path

Use this when you want ECC's rules, agents, commands, platform config, and core workflows without runtime hooks:

npx ecc-universal@2.2.2 install --profile minimal --target claude

From a source checkout, the equivalent command is:

./install.sh --profile minimal --target claude

Windows:

.\install.ps1 --profile minimal --target claude

This profile intentionally excludes hooks-runtime.

Claude manual installs place each skill directly under ~/.claude/skills/<skill-name>/ (or .claude/skills/<skill-name>/ for claude-project) so Claude Code can discover it. When upgrading an older ECC manual install, the installer migrates only nested skills/ecc/ files recorded in ECC install-state. If a flat skill directory is user-owned, ECC preserves it, prints a conflict warning, and keeps any older managed copy tracked for a safe uninstall instead of overwriting user files.

For the normal core profile with hooks disabled:

./install.sh --profile core --without baseline:hooks --target claude
./install.sh --profile core --no-hooks --target claude

Add the hook runtime later only if you want it:

./install.sh --target claude --modules hooks-runtime --enable-hooks

Any install whose profile or modules would materialize the hook runtime requires an explicit decision. Without --enable-hooks or --no-hooks, the installer prints what the hooks can do and stops before writing anything. The guided installer (ecc install --guided) asks for this choice interactively.

Choose only the components you need

Find the right components first

Ask the packaged advisor which components match your work:

node scripts/ecc.js 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.

You can also install explicit skills or capabilities:

./install.sh --target claude --skills tdd-workflow,security-review
node scripts/ecc.js install --profile minimal --target claude --with capability:machine-learning

Manual component-by-component copying also works. Each component is fully independent:

# Just agents
cp agents/*.md ~/.claude/agents/

# Rules directories (common + language-specific)
mkdir -p ~/.claude/rules/ecc
cp -r rules/common ~/.claude/rules/ecc/
cp -r rules/typescript ~/.claude/rules/ecc/   # pick your stack

# Core/general skills only (Claude Code loads skills from direct children
# of ~/.claude/skills; do not nest manual installs under ~/.claude/skills/ecc/)
mkdir -p ~/.claude/skills
cp -r .agents/skills/* ~/.claude/skills/
cp -r skills/search-first ~/.claude/skills/

# Optional: maintained slash-command compatibility during migration
mkdir -p ~/.claude/commands
cp commands/*.md ~/.claude/commands/

Retired shims live in legacy-command-shims/. Copy individual files from there only if you still need old names such as /tdd.

Project-local rules instead of global rules

Use project-local rules when ECC's standards should apply to one repository rather than every Claude Code session:

cd your-project
mkdir -p .claude/rules/ecc
cp -R /path/to/ECC/rules/common .claude/rules/ecc/
cp -R /path/to/ECC/rules/typescript .claude/rules/ecc/

Rules are always-loaded context, so begin with common and one pack for the stack you actually use. 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.

Fully manual Claude install

Use this only when you are intentionally skipping the plugin path:

git clone https://github.com/affaan-m/ECC.git
cd ECC
./install.sh --profile full

Windows:

git clone https://github.com/affaan-m/ECC.git
cd ECC
.\install.ps1 --profile full

If you choose this path, stop there. Do not also run /plugin install.

For hand-picked manual installs, Claude discovers skills as direct children of ~/.claude/skills/; do not nest them under ~/.claude/skills/ecc/.

Install hooks

Do not copy the raw repo hooks/hooks.json into ~/.claude/settings.json or ~/.claude/hooks/hooks.json. That file is plugin/repo-oriented; use the installer so hook command paths are rewritten correctly:

bash ./install.sh --target claude --modules hooks-runtime --enable-hooks

That installs the hook scripts under ~/.claude/ and registers the resolved hook entries in ~/.claude/settings.json. Existing user settings and hooks are preserved; ECC-owned entries are tracked by stable ID for idempotent updates and safe uninstall.

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.

On Windows, Claude's config root is %USERPROFILE%\.claude; install the hook runtime with:

pwsh -File .\install.ps1 --target claude --modules hooks-runtime --enable-hooks
Configure MCPs

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.

Use Claude Code's /mcp command or CLI-managed MCP setup for live Claude Code server changes; 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.

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.

If you already run your own copies of ECC-bundled MCPs, set:

export ECC_DISABLED_MCPS="chrome-devtools"

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.

Important: Replace YOUR_*_HERE placeholders with your actual API keys.

Multi-model commands require additional setup

multi-* commands are not covered by the base plugin/rules install.

To use /multi-plan, /multi-execute, /multi-backend, /multi-frontend, and /multi-workflow, you must also install the ccg-workflow runtime. Choose and review an exact release using the upstream CCG installation guide, then initialize that installed runtime. ECC does not bundle CCG or attest to a compatible, audited CCG release; this guide does not bootstrap an unspecified registry version.

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.

Reset, repair, or uninstall

Reset / Uninstall ECC

If you installed from the universal package, run these commands from the same project directory used for installation:

npx ecc-universal@2.2.2 list-installed
npx ecc-universal@2.2.2 doctor
npx ecc-universal@2.2.2 repair
npx ecc-universal@2.2.2 uninstall --dry-run
npx ecc-universal@2.2.2 uninstall

From a source checkout, inspect the managed state before reinstalling:

node scripts/ecc.js list-installed
node scripts/ecc.js doctor
node scripts/ecc.js repair
node scripts/ecc.js uninstall --dry-run

For a direct source-checkout uninstall:

node scripts/uninstall.js --dry-run
node scripts/uninstall.js

If you are leaving, the uninstall command prints an optional 20-second feedback form. It is a public GitHub issue, never blocks uninstall, and ECC does not upload diagnostics. You can also run ecc feedback at any time to see the problem, feedback, and feature routes.

Plugin users should remove the plugin from Claude Code, then delete only the rule folders they manually copied and no longer want. ECC only removes files recorded in its install-state. It does not claim unrelated files in your harness directories.

If you stacked methods, clean up in this order:

  1. Remove the Claude Code plugin install.
  2. Run the ECC uninstall command from the project directory that contains the managed install-state.
  3. Delete any extra rule folders you copied manually and no longer want.
  4. Reinstall once, using a single path.

Start Using ECC

Start with the workflow you need, not the full catalog.

What you are doing Start here
Building a feature /ecc:plan "describe the feature", then tdd-workflow
Fixing a bug Reproduce it with a failing test, then use tdd-workflow
Reviewing new code /code-review for a fresh-context review
Repairing a build /build-fix
Cleaning a codebase /refactor-clean
Checking context pressure /context-budget
Ending a long session /save-session or /learn-eval
Resuming later /resume-session
Auditing agent config /security-scan with a reviewed scanner, or installed agentshield scan --path .
Plugin commands and manual commands

Claude Code plugin commands use the namespaced form:

/ecc:plan "Add authentication"

Manual installs may expose the shorter compatibility form:

/plan "Add authentication"

Skills are the primary workflow surface. Commands remain convenient entry points and compatibility shims. Check what is installed with:

/plugin list ecc@ecc
Which agent should I use?

Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.

I want to... Use this surface Agent used
Plan a new feature /ecc:plan "Add auth" planner
Design system architecture /ecc:plan + architect agent architect
Write code with tests first tdd-workflow skill tdd-guide
Review code I just wrote /code-review code-reviewer
Fix a failing build /build-fix build-error-resolver
Run end-to-end tests e2e-testing skill e2e-runner
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
Review F# code (invoke fsharp-reviewer directly) fsharp-reviewer
Review TypeScript/JavaScript code (invoke typescript-reviewer directly) typescript-reviewer
Develop HarmonyOS apps (invoke harmonyos-app-resolver directly) harmonyos-app-resolver
Audit database queries (auto-delegated) database-reviewer
Review production ML changes mle-workflow skill + mle-reviewer agent mle-reviewer
Common workflows

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.

Starting a new feature:

/ecc:plan "Add user authentication with OAuth"
                                              -> planner creates implementation blueprint
tdd-workflow skill                            -> tdd-guide enforces write-tests-first
/code-review                                  -> code-reviewer checks your work

Fixing a bug:

tdd-workflow skill                            -> tdd-guide: write a failing test that reproduces it
                                              -> implement the fix, verify test passes
/code-review                                  -> code-reviewer: catch regressions

Preparing for production:

/security-scan                                -> security-reviewer: OWASP Top 10 audit
e2e-testing skill                             -> e2e-runner: critical user flow tests
/test-coverage                                -> verify 80%+ coverage

Self-Hosted Models and Custom Endpoints

ECC works through each harness's normal configuration, so you can use an official provider, a compatible custom API endpoint or model gateway, or a self-hosted model without changing ECC's workflows.

For Claude Code, ECC does not hardcode Anthropic-hosted transport settings. Minimal gateway example:

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. See Anthropic's LLM gateway documentation and model configuration documentation.

Run or self-host any open-source model behind that gateway using separate compute and serving setup. If you need GPU capacity, Itô is ECC's preferred compute sponsor; any GPU provider works. The sponsorship link is passive: it does not invoke an RFQ, reserve capacity, provision compute, or configure serving. Separately, ecc ito find invokes the explicitly configured canonical Itô CLI and submits a live authenticated RFQ; it does not reserve capacity. Managed inference through Itô is not live yet.

Self-host Kimi with ECC + Itô compute

The Kimi Code harness and the model-serving layer are separate. ECC configures the agent harness; you bring an API endpoint (get a Kimi API key) or self-host an open-weight Kimi model on your own GPU capacity. This adapter is verified against Kimi Code 0.31.x (@moonshot-ai/kimi-code):

Itô Markets
1. Get GPU capacity

Use Itô or any GPU provider.
Moonshot AI - Kimi
2. Serve Kimi

Expose the chosen checkpoint through a compatible endpoint.
ECC Tools
3. Run Kimi Code with ECC

Install project instructions and skills, then start Kimi Code.

Configure the endpoint with Kimi Code's official provider guide, then install ECC:

bash ./install.sh --target kimi --profile minimal
node scripts/ecc.js doctor --target kimi
kimi

Kimi Code discovers the installed .kimi-code/AGENTS.md instructions and .kimi-code/skills/ workflows natively; project-level .agents/skills/ is also an official discovery location. ECC safely merges project MCP entries into .kimi-code/mcp.json and does not change the user-level ~/.kimi-code/config.toml. Kimi Code supports native hooks, but ECC's current managed-project adapter does not configure them, so this installer does not offer Kimi hook profiles. The installer dry-run and regression suite verify that every managed Kimi write stays inside the project-local .kimi-code/ root.

Itô compute CLI bridge

ecc ito delegates to the separately installed canonical Itô client; ECC does not maintain a second API client. ecc ito login [--no-browser] performs device authorization, opens the Itô verification page by default, and persists a device token in macOS Keychain; --no-browser suppresses the page handoff. ECC itself does no browser automation. ecc ito auth is validation-only and rejects --no-browser. The available operations are ecc ito login, ecc ito auth, ecc ito find, ecc ito status, and the separately gated ecc ito evals. The matching MCP tools remain ito_auth, ito_find, and ito_status; ito_auth validates existing credentials and node qualification is CLI-only.

The ito-compute-cli package is currently unpublished. Build it locally from the Itô runtime repo (private while the desk hardens; design partners get access) under cli/ito-compute-cli, run npm ci and npm run check, then set ECC_ITO_CLI_EXECUTABLE to that build's absolute dist/bin/ito.js path. Login never inherits ITO_API_KEY; auth, find, and status forward ITO_API_KEY directly when configured, and ITO_AUTH_MODE=legacy is not required. ecc ito logout revokes the current device credential and retains its local copy if remote revocation cannot be confirmed. Device tokens use macOS Keychain by default; explicit file fallback must retain owner-only directory/file permissions. ECC does not discover this credential-bearing client through PATH. See the ito-compute skill for the full RFQ authority and MCP setup contract.

find submits a live authenticated RFQ. It does not reserve capacity. evals requires both ITO_ENABLE_SIXTYTWO_LIVE=1 and --live-sixtytwo, a separately installed sixtytwo-cli==0.3.33, an explicit node list, and an existing absolute configuration directory. It cannot rent, launch, recover, repair, or purchase. ECC exposes no quote lock, purchase, workload, or inference path, and it never replaces a missing client or failed live call with a local result.

What's New

Current release: 2.2.2 (2026-08-31). Highlights of the 2.2 line:

  • Guided, manifest-driven setup across Claude Code, Codex, and Kimi Code, with install-state ownership, doctor, repair, and uninstall.
  • Native Antigravity install, a thin Pi adapter, and the packed-artifact release gate tested on Linux, macOS, and Windows.
  • Plan Canvas browser review, the unified memory vault (ecc memory), and the Itô compute skill family.

Full history: CHANGELOG.md. Per-release notes and evidence live under docs/releases/.

v2.0.0: The Agent Harness Operating System (Jun 2026)

Stable graduation of the 2.0 line: control-pane substrate, worktree lifecycle service, the orch-* orchestrator family, and the Discord community. Notes: docs/releases/2.0.0/release-notes.md.

What's Inside

ECC/
|-- agents/           # 68 specialized subagents for delegation
|-- skills/           # 292 reusable workflows loaded on demand
|-- commands/         # 94 maintained slash-command shims
|-- rules/            # opt-in common and language standards
|-- hooks/            # runtime automation and enforcement
|-- scripts/          # install, repair, sync, orchestration, and checks
|-- .claude-plugin/   # Claude Code marketplace manifest
|-- .codex/           # Codex reference configuration and agent roles
|-- .opencode/        # OpenCode plugin, commands, and instructions
|-- .cursor/          # Cursor rules and hook adapter
|-- docs/             # public setup, architecture, and operating guides

The root is the source of truth. Platform adapters package or map these same workflows instead of maintaining separate copies.

Annotated component catalog
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 84

Releases and announcements

17 total
  1. v2.2.1v2.2.1Sep 8, 2026

    # ECC 2.2.1 ECC 2.2.1 is a bug and security patch for ECC 2.2. It keeps the published `v2.2.0` history immutable. These notes describe the prepared patch; publication and signing evidence are tracked separately in the release checklist. ## Security and data protection - GateGuard and governance capture recognize destructive PowerShell commands, including the native PowerShell tool path. Dynamic command handling prevents later variable assignments from concealing earlier unresolved invocations ([#2961](https://github.com/affaan-m/ECC/pull/2961)). - Relative GateGuard exemption globs stay within the project root. Explicit absolute exemptions remain supported ([#2921](https://github.com/affaan-m/ECC/issues/2921)). - Installer writes reject collisions with untracked user-owned files. Failed installs refresh ownership hashes only for files they actually wrote, preserving the previous ownership hashes of untouched managed files ([#2964](https://github.com/affaan-m/ECC/issues/2964)). - Guided setup revalidates its preview before ownership filtering, so files appearing between preview and apply cause a clear retry instead of a false success. Existing identical user f

  2. ECC 2.2 is here, led by one guided installer for Claude Code, Codex, and Kimi. It also adds native Antigravity 2.0 support and an experimental, opt-in Nasiko CLI lifecycle bridge. The release pipeline is stricter too: the exact npm archive must pass lifecycle tests on Linux, macOS, and Windows before `latest` moves. ## One guided path into ECC ![ECC 2.2 terminal welcome after a successful install](https://github.com/affaan-m/ECC/releases/download/v2.2.0/ecc-cli-install-banner.png) Start the guided installer with: ```bash npx --yes ecc-universal@2.2.0 install --guided ``` The installer checks every selected harness before writing files, then applies the setup as one operation. Provider-owned model and authentication settings stay under the provider's control. The terminal welcome appears only after a successful interactive install. ## Nasiko: experimental, opt-in, and explicit ![Nasiko's open-source agent dashboard, shown as product context for the ECC CLI lifecycle bridge](https://github.com/affaan-m/ECC/releases/download/v2.2.0/nasiko-control-pane.png) ECC 2.2 can inspect, install, and remove one pinned Nasiko `v0.1.0` CLI build: ```bash npm

  3. # ECC 2.1.0: Plan Canvas, Kimi Harness, and Self-Hosted Compute ECC 2.1 turns plan review into a visual loop and opens the harness to self-hosted models. Plan Canvas lets you review agent plans in the browser. Point at the part you mean instead of retyping it in chat. A new Kimi Code install target and a verified Itô GPU path make ECC + open-source models a first-class setup, backed by our public sponsors: Moonshot AI (Kimi), Itô, and Atlas Cloud. ## Plan Canvas: review plans by pointing, not retyping ![Plan Canvas demo: reviewing an ECC plan, attaching an annotation, chatting with the agent, and approving the plan](https://raw.githubusercontent.com/affaan-m/ECC/main/docs/releases/2.1.0/assets/ecc-plan-canvas-demo.gif) [Download the MP4 demo](https://raw.githubusercontent.com/affaan-m/ECC/main/docs/releases/2.1.0/assets/ecc-plan-canvas-demo.mp4) `/plan` ends with a confirm gate, and until now that review was a wall of markdown in the terminal. Now the agent opens the plan in a loopback-only browser canvas: - Click elements or select text to attach numbered annotations - Chat with the agent from a side rail while it works in the terminal - **Approve plan** / **Request changes*

  4. ECC 2.0.0 — The Agent Harness Operating Systemv2.0.0Jun 10, 202651.9K downloads

    ECC 2.0.0 is the stable graduation of the 2.0 line: ECC as a cross-harness operating system for agentic work. Claude Code stays first-class; Codex, OpenCode, Cursor, Gemini, Zed, and terminal-only workflows share the same skills, rules, hooks, MCP conventions, release gates, and operator workflows. This is the months-in-the-making release the rc.1 candidate was building toward. ## The control pane (early build) ![ECC Control Pane — sessions, metrics, and the work-items board](https://github.com/affaan-m/ECC/releases/download/v2.0.0/ecc-pane-1.png) ![Operator column — knowledge recall, connectors, and runnable agent actions](https://github.com/affaan-m/ECC/releases/download/v2.0.0/ecc-pane-2.png) The ECC 2.0 operating surface, running locally (`node scripts/control-pane.js`): operator recall search, live session metrics, a work-items board with ready/running/blocked/done lanes, and an operator column that drives knowledge sync/recall, graph backfill, and the TUI. The session adapters and MCP inventory below feed this board. Build-in-public continues in the Discord #control-pane channel. ## What is new - **261 public skills** across coding, research, security, media

  5. v2.0.0-rc.1v2.0.0-rc.1May 25, 2026pre-release1K downloads

    # ECC 2.0.0-rc.1 ECC 2.0.0-rc.1 is the first release-candidate surface for ECC as a cross-harness operating system for agentic work. Claude Code remains a first-class target. Codex, OpenCode, Cursor, Gemini, Zed, and terminal-only workflows are now treated as execution surfaces that can share the same skills, rules, hooks, MCP conventions, release gates, and operator workflows. ## What is new - 243 public skills packaged across coding, research, security, media, enterprise ops, and agent workflows. - A rollout-derived optimization pack for agents that need measured speedups instead of one-shot prompting. - A public teaser Itô prediction-market skill pack for read-only research, basket comparison, oracle-style market intelligence, and risk review. Itô API access stays gated and separate from ECC Tools billing. - AgentShield and supply-chain follow-up surfaces after the Mini Shai-Hulud/TanStack campaign work. - Cross-harness package surfaces for Claude Code, Codex, OpenCode, Cursor, Gemini, Zed, and terminal workflows. - Release-readiness gates for preview packs, public-action approvals, release URL ledgers, operator readiness, discussion state, Linear roadmap coverage, and suppl

Code frequency

additions and deletions
+139.3K-139.3KWeek of 2026-01-11: +8,989 linesWeek of 2026-01-11: -3 linesWeek of 2026-01-18: +7,173 linesWeek of 2026-01-18: -2,638 linesWeek of 2026-01-25: +26,011 linesWeek of 2026-01-25: -1,416 linesWeek of 2026-02-01: +38,546 linesWeek of 2026-02-01: -552 linesWeek of 2026-02-08: +81,422 linesWeek of 2026-02-08: -6,975 linesWeek of 2026-02-15: +115,913 linesWeek of 2026-02-15: -139,291 linesWeek of 2026-02-22: +15,407 linesWeek of 2026-02-22: -2,181 linesWeek of 2026-03-01: +29,857 linesWeek of 2026-03-01: -11,013 linesWeek of 2026-03-08: +82,775 linesWeek of 2026-03-08: -15,012 linesWeek of 2026-03-15: +62,198 linesWeek of 2026-03-15: -15,640 linesWeek of 2026-03-22: +69,166 linesWeek of 2026-03-22: -8,036 linesWeek of 2026-03-29: +32,694 linesWeek of 2026-03-29: -9,545 linesWeek of 2026-04-05: +60,806 linesWeek of 2026-04-05: -5,509 linesWeek of 2026-04-12: +12,697 linesWeek of 2026-04-12: -1,558 linesWeek of 2026-04-19: +1,692 linesWeek of 2026-04-19: -282 linesWeek of 2026-04-26: +14,662 linesWeek of 2026-04-26: -3,031 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +128,648 linesWeek of 2026-05-10: -3,764 linesWeek of 2026-05-17: +24,043 linesWeek of 2026-05-17: -2,187 linesWeek of 2026-05-24: +8,779 linesWeek of 2026-05-24: -202 linesWeek of 2026-05-31: +7,955 linesWeek of 2026-05-31: -139 linesWeek of 2026-06-07: +65,448 linesWeek of 2026-06-07: -6,591 linesWeek of 2026-06-14: +12,672 linesWeek of 2026-06-14: -4,123 linesWeek of 2026-06-21: +1,832 linesWeek of 2026-06-21: -46 linesWeek of 2026-06-28: +12,738 linesWeek of 2026-06-28: -6,236 linesWeek of 2026-07-05: +5,367 linesWeek of 2026-07-05: -145 linesWeek of 2026-07-12: +339 linesWeek of 2026-07-12: -112 linesWeek of 2026-07-19: +5,652 linesWeek of 2026-07-19: -2,057 linesWeek of 2026-07-26: +16,988 linesWeek of 2026-07-26: -2,743 linesWeek of 2026-08-02: +20,361 linesWeek of 2026-08-02: -1,972 linesWeek of 2026-08-09: +21,501 linesWeek of 2026-08-09: -6,039 linesWeek of 2026-08-16: +1,872 linesWeek of 2026-08-16: -218 linesWeek of 2026-08-23: +5,346 linesWeek of 2026-08-23: -1,529 linesWeek of 2026-08-30: +6,635 linesWeek of 2026-08-30: -750 linesWeek of 2026-09-06: +48,361 linesWeek of 2026-09-06: -5,791 linesWeek of 2026-09-13: +9,077 linesWeek of 2026-09-13: -1,958 linesWeek of 2026-09-20: +1,068 linesWeek of 2026-09-20: -79 linesJan 11, 2026Sep 20, 2026
+1.1M lines added, -269.4K removed over the last year.

Commits per week

last 52 weeks
2630Week of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 6 commitsWeek of 2026-01-18: 24 commitsWeek of 2026-01-25: 37 commitsWeek of 2026-02-01: 12 commitsWeek of 2026-02-08: 229 commitsWeek of 2026-02-15: 43 commitsWeek of 2026-02-22: 35 commitsWeek of 2026-03-01: 37 commitsWeek of 2026-03-08: 112 commitsWeek of 2026-03-15: 101 commitsWeek of 2026-03-22: 159 commitsWeek of 2026-03-29: 91 commitsWeek of 2026-04-05: 263 commitsWeek of 2026-04-12: 85 commitsWeek of 2026-04-19: 22 commitsWeek of 2026-04-26: 79 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 255 commitsWeek of 2026-05-17: 164 commitsWeek of 2026-05-24: 21 commitsWeek of 2026-05-31: 10 commitsWeek of 2026-06-07: 115 commitsWeek of 2026-06-14: 54 commitsWeek of 2026-06-21: 4 commitsWeek of 2026-06-28: 67 commitsWeek of 2026-07-05: 7 commitsWeek of 2026-07-12: 7 commitsWeek of 2026-07-19: 27 commitsWeek of 2026-07-26: 54 commitsWeek of 2026-08-02: 40 commitsWeek of 2026-08-09: 78 commitsWeek of 2026-08-16: 21 commitsWeek of 2026-08-23: 81 commitsWeek of 2026-08-30: 33 commitsWeek of 2026-09-06: 50 commitsWeek of 2026-09-13: 53 commitsWeek of 2026-09-20: 14 commitsSep 27, 2025Sep 20, 2026
2.5K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 9 commitsSun 1:00 — 12 commitsSun 2:00 — 10 commitsSun 3:00 — 11 commitsSun 4:00 — 13 commitsSun 5:00 — 4 commitsSun 6:00 — 7 commitsSun 7:00 — 7 commitsSun 8:00 — 14 commitsSun 9:00 — 10 commitsSun 10:00 — 13 commitsSun 11:00 — 3 commitsSun 12:00 — 19 commitsSun 13:00 — 19 commitsSun 14:00 — 26 commitsSun 15:00 — 30 commitsSun 16:00 — 20 commitsSun 17:00 — 18 commitsSun 18:00 — 14 commitsSun 19:00 — 4 commitsSun 20:00 — 11 commitsSun 21:00 — 22 commitsSun 22:00 — 16 commitsSun 23:00 — 20 commitsMon 0:00 — 23 commitsMon 1:00 — 17 commitsMon 2:00 — 25 commitsMon 3:00 — 11 commitsMon 4:00 — 20 commitsMon 5:00 — 6 commitsMon 6:00 — 14 commitsMon 7:00 — 5 commitsMon 8:00 — 8 commitsMon 9:00 — 9 commitsMon 10:00 — 16 commitsMon 11:00 — 11 commitsMon 12:00 — 9 commitsMon 13:00 — 29 commitsMon 14:00 — 33 commitsMon 15:00 — 28 commitsMon 16:00 — 26 commitsMon 17:00 — 9 commitsMon 18:00 — 8 commitsMon 19:00 — 8 commitsMon 20:00 — 37 commitsMon 21:00 — 28 commitsMon 22:00 — 11 commitsMon 23:00 — 14 commitsTue 0:00 — 18 commitsTue 1:00 — 11 commitsTue 2:00 — 23 commitsTue 3:00 — 14 commitsTue 4:00 — 6 commitsTue 5:00 — 9 commitsTue 6:00 — 11 commitsTue 7:00 — 18 commitsTue 8:00 — 11 commitsTue 9:00 — 17 commitsTue 10:00 — 17 commitsTue 11:00 — 18 commitsTue 12:00 — 38 commitsTue 13:00 — 33 commitsTue 14:00 — 27 commitsTue 15:00 — 19 commitsTue 16:00 — 9 commitsTue 17:00 — 16 commitsTue 18:00 — 29 commitsTue 19:00 — 25 commitsTue 20:00 — 23 commitsTue 21:00 — 25 commitsTue 22:00 — 17 commitsTue 23:00 — 16 commitsWed 0:00 — 10 commitsWed 1:00 — 9 commitsWed 2:00 — 22 commitsWed 3:00 — 25 commitsWed 4:00 — 12 commitsWed 5:00 — 5 commitsWed 6:00 — 10 commitsWed 7:00 — 18 commitsWed 8:00 — 8 commitsWed 9:00 — 4 commitsWed 10:00 — 2 commitsWed 11:00 — 5 commitsWed 12:00 — 9 commitsWed 13:00 — 17 commitsWed 14:00 — 19 commitsWed 15:00 — 20 commitsWed 16:00 — 14 commitsWed 17:00 — 23 commitsWed 18:00 — 24 commitsWed 19:00 — 15 commitsWed 20:00 — 10 commitsWed 21:00 — 14 commitsWed 22:00 — 11 commitsWed 23:00 — 17 commitsThu 0:00 — 13 commitsThu 1:00 — 14 commitsThu 2:00 — 10 commitsThu 3:00 — 15 commitsThu 4:00 — 19 commitsThu 5:00 — 12 commitsThu 6:00 — 11 commitsThu 7:00 — 15 commitsThu 8:00 — 18 commitsThu 9:00 — 11 commitsThu 10:00 — 10 commitsThu 11:00 — 9 commitsThu 12:00 — 15 commitsThu 13:00 — 20 commitsThu 14:00 — 19 commitsThu 15:00 — 38 commitsThu 16:00 — 51 commitsThu 17:00 — 30 commitsThu 18:00 — 19 commitsThu 19:00 — 6 commitsThu 20:00 — 12 commitsThu 21:00 — 15 commitsThu 22:00 — 11 commitsThu 23:00 — 5 commitsFri 0:00 — 8 commitsFri 1:00 — 31 commitsFri 2:00 — 23 commitsFri 3:00 — 22 commitsFri 4:00 — 22 commitsFri 5:00 — 19 commitsFri 6:00 — 24 commitsFri 7:00 — 20 commitsFri 8:00 — 13 commitsFri 9:00 — 16 commitsFri 10:00 — 12 commitsFri 11:00 — 16 commitsFri 12:00 — 13 commitsFri 13:00 — 8 commitsFri 14:00 — 20 commitsFri 15:00 — 20 commitsFri 16:00 — 20 commitsFri 17:00 — 27 commitsFri 18:00 — 21 commitsFri 19:00 — 4 commitsFri 20:00 — 11 commitsFri 21:00 — 11 commitsFri 22:00 — 15 commitsFri 23:00 — 14 commitsSat 0:00 — 5 commitsSat 1:00 — 15 commitsSat 2:00 — 7 commitsSat 3:00 — 6 commitsSat 4:00 — 3 commitsSat 5:00 — 5 commitsSat 6:00 — 1 commitsSat 7:00 — 1 commitsSat 8:00 — 2 commitsSat 9:00 — 6 commitsSat 10:00 — 12 commitsSat 11:00 — 7 commitsSat 12:00 — 16 commitsSat 13:00 — 8 commitsSat 14:00 — 18 commitsSat 15:00 — 8 commitsSat 16:00 — 7 commitsSat 17:00 — 7 commitsSat 18:00 — 11 commitsSat 19:00 — 8 commitsSat 20:00 — 26 commitsSat 21:00 — 7 commitsSat 22:00 — 8 commitsSat 23:00 — 7 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1,609 (57%)
Community commits1,203 (43%)

2,812 commits in total over the last year.

DateListRankStars gained
Jul 22, 2026daily#16+4
Jul 20, 2026daily#15+3
Jul 15, 2026daily#17+6
Jul 6, 2026daily#9+8
Jun 30, 2026daily#17+17
Jun 27, 2026daily#24+27
Jun 25, 2026daily#15+21
Jun 24, 2026daily#23+14
Jun 21, 2026daily#19+25
Jun 17, 2026daily#22+12
Jun 16, 2026daily#15+18
Jun 14, 2026daily#14+44
Jun 13, 2026daily#20+32
Jun 12, 2026daily#23+19
Jun 10, 2026daily#13+24
  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python

  • react/react

    The library for web and native user interfaces.

    250.9K stars · JavaScript

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript

  • firecrawl/firecrawl

    Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

    188.6K stars · TypeScript

  • Significant-Gravitas/AutoGPT

    AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

    187.7K stars · Python

  • f/prompts.chat

    f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

    172K stars · HTML