กลับไปหน้า Tools

GetNotes Tools

affaan-m/ECC

Tool นี้คืออะไร

ECC เป็นระบบปฏิบัติการสำหรับงานที่ใช้เอเจนต์ AI ซึ่งช่วยให้นักพัฒนาสามารถสร้างและจัดการเวิร์กโฟลว์ของเอเจนต์ข้ามแพลตฟอร์มได้อย่างมีประสิทธิภาพ พร้อมคุณสมบัติครบครันตั้งแต่ทักษะไปจนถึงความปลอดภัย

ข้อมูลโปรเจกต์

ดาว

234.9K

Forks

35.8K

License

MIT

อัปเดต GitHub ล่าสุด

29 ก.ค. 2569

เพิ่มใน GetNotes

13 ก.ค. 2569

Repository

affaan-m/ECC

เหมาะกับงาน

AI และ AgentsAutomationDeveloper Toolsเพิ่ม ProductivitySecurity

เหมาะกับอาชีพ

Ecosystem

JavaScript

แปลและเรียบเรียงโดย AI

เนื้อหาฉบับภาษาไทย

ใช้อ่านเพื่อทำความเข้าใจเบื้องต้น โปรดตรวจสอบรายละเอียดสำคัญกับเอกสารต้นฉบับด้านล่าง

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

ECC — the agent harness operating system

Discord Website GitHub App Guides

Stars Forks Contributors npm ecc-universal npm ecc-agentshield GitHub App Install License Shell TypeScript Python Go Java Perl Markdown

คำเตือน

แหล่งที่มาอย่างเป็นทางการเท่านั้น ติดตั้ง ECC จากช่องทางที่ได้รับการยืนยันเท่านั้น: ที่เก็บ GitHub github.com/affaan-m/ECC, แพ็กเกจ npm ecc-universal และ ecc-agentshield, GitHub App, ปลั๊กอิน slug ecc@ecc และเว็บไซต์โครงการ ecc.tools การอัปโหลดซ้ำจากบุคคลที่สามและมิเรอร์ที่ไม่เป็นทางการไม่ได้รับการดูแลหรือตรวจสอบโดยโครงการ และอาจมีมัลแวร์

211.9K+ ดาว | 32.5K+ ฟอร์ก | 230+ ผู้ร่วมให้ข้อมูล | 12+ ระบบนิเวศภาษา | เวิร์กโฟลว์เอเจนต์ข้ามฮาร์เนส


Language / 语言 / 語言 / Dil / Язык / Ngôn ngữ / Idioma

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


ระบบปฏิบัติการแบบเนทีฟสำหรับงานที่ใช้เอเจนต์ สร้างขึ้นจากเวิร์กโฟลว์วิศวกรรมแบบหลายฮาร์เนสในโลกจริง

ไม่ใช่แค่การตั้งค่า แต่เป็นระบบที่สมบูรณ์แบบ: ทักษะ, สัญชาตญาณ, การเพิ่มประสิทธิภาพหน่วยความจำ, การเรียนรู้อย่างต่อเนื่อง, การสแกนความปลอดภัย และการพัฒนาที่เน้นการวิจัยเป็นอันดับแรก เอเจนต์ที่พร้อมใช้งานจริง, ทักษะ, ฮุก, กฎ, การกำหนดค่า MCP และ shims คำสั่งแบบเก่าที่พัฒนามาจากการใช้งานจริงอย่างเข้มข้นทุกวันเป็นเวลากว่า 10 เดือนในการสร้างผลิตภัณฑ์จริง

ทำงานร่วมกับ Codex, Claude Code, Cursor, OpenCode, Gemini, Zed, GitHub Copilot และฮาร์เนสเอเจนต์ AI อื่นๆ

ECC v2.0.0 เพิ่มเรื่องราวของ Hermes operator สาธารณะบนเลเยอร์ที่นำกลับมาใช้ใหม่ได้นั้น: เริ่มต้นด้วย คู่มือการตั้งค่า Hermes จากนั้นตรวจสอบ บันทึกการเผยแพร่ 2.0.0 และ สถาปัตยกรรมข้ามฮาร์เนส


OSS ยังคงฟรี ที่เก็บนี้ได้รับอนุญาตภายใต้ MIT ตลอดไป ECC Pro คือ GitHub App แบบโฮสต์สำหรับที่เก็บส่วนตัว ผู้สนับสนุน และ สมาชิก Pro ให้ทุนสนับสนุนการทำงาน — นั่นคือเหตุผลที่ผู้ดูแลคนเดียวสามารถเผยแพร่ได้ทุกสัปดาห์ใน 7 ฮาร์เนส

ผู้สนับสนุนธุรกิจ

ผู้สนับสนุนชุมชน: Mike Morgan · @jasonwu513 · @1anter · @massimotodaro · @meadmccabe

เป็นผู้สนับสนุน · ระดับผู้สนับสนุน · โปรแกรมการสนับสนุน


คู่มือ

ที่เก็บนี้เป็นเพียงโค้ดดิบเท่านั้น คู่มือจะอธิบายทุกอย่าง

หัวข้อสิ่งที่คุณจะได้เรียนรู้
การเพิ่มประสิทธิภาพโทเค็นการเลือกโมเดล, การลดขนาด system prompt, กระบวนการเบื้องหลัง
การคงอยู่ของหน่วยความจำHooks ที่บันทึก/โหลดบริบทข้ามเซสชันโดยอัตโนมัติ
การเรียนรู้ต่อเนื่องการดึงรูปแบบจากเซสชันโดยอัตโนมัติเพื่อสร้างเป็นทักษะที่นำกลับมาใช้ใหม่ได้
วงจรการตรวจสอบการประเมินแบบ Checkpoint เทียบกับการประเมินต่อเนื่อง, ประเภทของ Grader, เมตริก pass@k
การประมวลผลแบบขนานGit worktrees, วิธีการแบบ Cascade, เวลาที่ควรขยาย Instance
การจัดการ Subagentปัญหาบริบท, รูปแบบการดึงข้อมูลแบบวนซ้ำ

มีอะไรใหม่

v2.0.0 — ระบบปฏิบัติการ Agent Harness (มิ.ย. 2026)

การสำเร็จการศึกษาที่เสถียรของสายผลิตภัณฑ์ 2.0: 261 ทักษะ, ส่วนประกอบหลักของแผงควบคุม (session adapters + MCP inventory), บริการ worktree-lifecycle, ตระกูล orchestrator orch-* และการเปิดตัว ชุมชน ECC Discord บันทึกฉบับเต็ม: docs/releases/2.0.0/release-notes.md

v2.0.0-rc.1 — การปรับปรุงส่วนหน้า, เวิร์กโฟลว์สำหรับ Operator และ ECC 2.0 Alpha (เม.ย. 2026)

  • Dashboard GUI — แอปพลิเคชันเดสก์ท็อปใหม่ที่ใช้ Tkinter (ecc_dashboard.py หรือ npm run dashboard) พร้อมการสลับธีมมืด/สว่าง, การปรับแต่งฟอนต์ และโลโก้โปรเจกต์ในส่วนหัวและแถบงาน
  • ส่วนหน้าสาธารณะที่ซิงค์กับ live repo — เมตาดาต้า, จำนวนแค็ตตาล็อก, manifest ของปลั๊กอิน และเอกสารที่เกี่ยวข้องกับการติดตั้ง ตอนนี้ตรงกับส่วนหน้า OSS จริง: 66 agents, 268 ทักษะ และ 84 legacy command shims
  • การขยายเวิร์กโฟลว์สำหรับ Operator และเวิร์กโฟลว์ขาออกbrand-voice, social-graph-ranker, connections-optimizer, customer-billing-ops, ecc-tools-cost-audit, google-workspace-ops, project-flow-ops และ workspace-surface-audit เติมเต็มช่องทางสำหรับ operator
  • เครื่องมือสำหรับสื่อและการเปิดตัวmanim-video, remotion-video-creation และส่วนหน้าการเผยแพร่โซเชียลที่ได้รับการอัปเกรด ทำให้คำอธิบายทางเทคนิคและเนื้อหาสำหรับการเปิดตัวเป็นส่วนหนึ่งของระบบเดียวกัน
  • การเติบโตของเฟรมเวิร์กและส่วนหน้าของผลิตภัณฑ์nestjs-patterns, ส่วนหน้าการติดตั้ง Codex/OpenCode ที่สมบูรณ์ยิ่งขึ้น และการแพ็กเกจข้าม Harness ที่ขยายออกไป ทำให้ repo สามารถใช้งานได้นอกเหนือจาก Claude Code เพียงอย่างเดียว
  • ชุดทักษะ Itô prediction-marketito-market-intelligence, ito-basket-compare, ito-trade-planner, ito-data-atlas-agent, prediction-market-oracle-research และ prediction-market-risk-review เพิ่มเวิร์กโฟลว์ตลาด/ตะกร้าสาธารณะที่ไม่ใช่การให้คำปรึกษา โดยยังคงการเข้าถึง Itô API แบบสดไว้เป็นส่วนตัวและแยกจากการเรียกเก็บเงินของ ECC Tools
  • ชุดทักษะการเพิ่มประสิทธิภาพparallel-execution-optimizer, benchmark-optimization-loop, data-throughput-accelerator, latency-critical-systems และ recursive-decision-ledger เปลี่ยน prompt ที่เกี่ยวข้องกับความเร็ว/การเรียกซ้ำที่ทำซ้ำๆ ให้เป็นเวิร์กโฟลว์ benchmark, throughput และ decision-ledger ที่มีขอบเขต
  • ECC 2.0 alpha อยู่ใน tree — ต้นแบบ Rust control-plane ใน ecc2/ ตอนนี้สามารถ build ได้ในเครื่อง และเปิดเผยคำสั่ง dashboard, start, sessions, status, stop, resume และ daemon สามารถใช้งานได้ในฐานะเวอร์ชันอัลฟ่า ยังไม่ใช่เวอร์ชันที่เผยแพร่ทั่วไป
  • สแนปช็อตสถานะ Operatorecc status --markdown --write status.md เปลี่ยน local state store ให้เป็น handoff ที่พกพาได้ ซึ่งครอบคลุมความพร้อมใช้งาน, เซสชันที่ใช้งานอยู่, สุขภาพของการรันทักษะ, สุขภาพของการติดตั้ง, เหตุการณ์การกำกับดูแลที่รอดำเนินการ และรายการงานที่เชื่อมโยงจาก Linear/GitHub/handoffs ใช้ ecc work-items upsert ... สำหรับการป้อนข้อมูลด้วยตนเอง, ecc work-items sync-github --repo owner/repo สำหรับสถานะคิว PR/issue และ ecc status --exit-code เพื่อให้ระบบอัตโนมัติล้มเหลวเมื่อความพร้อมใช้งานต้องการการดูแล
  • การเสริมความแข็งแกร่งของ Ecosystem — AgentShield, การควบคุมค่าใช้จ่ายของ ECC Tools, การทำงานของพอร์ทัลการเรียกเก็บเงิน และการปรับปรุงเว็บไซต์ ยังคงถูกจัดส่งรอบปลั๊กอินหลัก แทนที่จะแยกออกไปเป็นส่วนๆ

v1.9.0 — การติดตั้งแบบเลือก & การขยายภาษา (มี.ค. 2026)

  • สถาปัตยกรรมการติดตั้งแบบเลือก — ไปป์ไลน์การติดตั้งที่ขับเคลื่อนด้วย Manifest พร้อม install-plan.js และ install-apply.js สำหรับการติดตั้งคอมโพเนนต์เป้าหมาย State store ติดตามสิ่งที่ติดตั้งไว้และเปิดใช้งานการอัปเดตแบบเพิ่มหน่วย
  • 6 agents ใหม่typescript-reviewer, pytorch-build-resolver, java-build-resolver, java-reviewer, kotlin-reviewer, kotlin-build-resolver ขยายการรองรับภาษาเป็น 10 ภาษา
  • ทักษะใหม่pytorch-patterns สำหรับเวิร์กโฟลว์ deep learning, documentation-lookup สำหรับการวิจัย API reference, bun-runtime และ nextjs-turbopack สำหรับ toolchains JS สมัยใหม่ พร้อมด้วย 8 ทักษะด้านการปฏิบัติงาน และ mcp-server-patterns
  • โครงสร้างพื้นฐานของเซสชันและสถานะ — SQLite state store พร้อม query CLI, session adapters สำหรับการบันทึกแบบมีโครงสร้าง, รากฐานการพัฒนาทักษะสำหรับทักษะที่พัฒนาตนเองได้
  • การยกเครื่อง Orchestration — การให้คะแนน Harness audit ถูกทำให้เป็นแบบกำหนดได้, สถานะ orchestration และความเข้ากันได้ของ launcher ถูกเสริมความแข็งแกร่ง, การป้องกัน observer loop ด้วยการป้องกัน 5 ชั้น
  • ความน่าเชื่อถือของ Observer — การแก้ไขปัญหา Memory explosion ด้วยการควบคุมปริมาณและการสุ่มตัวอย่างแบบ tail, การแก้ไขการเข้าถึง sandbox, ตรรกะการเริ่มต้นแบบ lazy และการป้องกันการเข้าซ้ำ
  • 12 ระบบนิเวศภาษา — กฎใหม่สำหรับ Java, PHP, Perl, Kotlin/Android/KMP, C++ และ Rust เข้าร่วมกับกฎที่มีอยู่สำหรับ TypeScript, Python, Go และกฎทั่วไป
  • การมีส่วนร่วมจากชุมชน — การแปลภาษาเกาหลีและจีน, การเพิ่มประสิทธิภาพ biome hook, ทักษะการประมวลผลวิดีโอ, ทักษะการปฏิบัติงาน, PowerShell installer, การรองรับ Antigravity IDE
  • การเสริมความแข็งแกร่งของ CI — การแก้ไขข้อผิดพลาดในการทดสอบ 19 รายการ, การบังคับใช้จำนวนแค็ตตาล็อก, การตรวจสอบ install manifest และชุดทดสอบทั้งหมดผ่าน

v1.8.0 — ระบบประสิทธิภาพ Harness (มี.ค. 2026)

  • การเผยแพร่ที่เน้น Harness เป็นหลัก — ตอนนี้ ECC ถูกกำหนดไว้อย่างชัดเจนว่าเป็นระบบประสิทธิภาพของ agent harness ไม่ใช่แค่ config pack
  • การยกเครื่องความน่าเชื่อถือของ Hook — SessionStart root fallback, สรุปเซสชันใน Stop-phase และ hooks ที่ใช้สคริปต์มาแทนที่ one-liners แบบอินไลน์ที่เปราะบาง
  • การควบคุม Hook runtimeECC_HOOK_PROFILE=minimal|standard|strict และ ECC_DISABLED_HOOKS=... สำหรับการควบคุมการทำงานโดยไม่ต้องแก้ไขไฟล์ hook
  • คำสั่ง harness ใหม่/harness-audit, /loop-start, /loop-status, /quality-gate, /model-route
  • NanoClaw v2 — การกำหนดเส้นทางโมเดล, การโหลดทักษะแบบ hot-load, การแตกสาขา/ค้นหา/ส่งออก/บีบอัด/เมตริกของเซสชัน
  • ความเท่าเทียมกันข้าม Harness — พฤติกรรมถูกปรับปรุงให้เข้มงวดขึ้นใน Claude Code, Cursor, OpenCode และแอป/CLI ของ Codex
  • การทดสอบภายใน 997 รายการผ่าน — ชุดทดสอบทั้งหมดผ่านหลังจาก hook/runtime refactor และการอัปเดตความเข้ากันได้

v1.7.0 — การขยายแพลตฟอร์มข้ามระบบ & Presentation Builder (ก.พ. 2026)

  • การรองรับแอป Codex + CLI — การรองรับ Codex โดยตรงที่ใช้ AGENTS.md, การกำหนดเป้าหมายของตัวติดตั้ง และเอกสาร Codex
  • ทักษะ frontend-slides — ตัวสร้างงานนำเสนอ HTML ที่ไม่มีการพึ่งพาใดๆ พร้อมคำแนะนำการแปลงเป็น PPTX และกฎ viewport-fit ที่เข้มงวด
  • 5 ทักษะธุรกิจ/เนื้อหาทั่วไปใหม่article-writing, content-engine, market-research, investor-materials, investor-outreach
  • การครอบคลุมเครื่องมือที่กว้างขึ้น — การรองรับ Cursor, Codex และ OpenCode ถูกปรับปรุงให้เข้มงวดขึ้น เพื่อให้ repo เดียวกันสามารถจัดส่งได้อย่างราบรื่นในทุก Harness หลัก
  • การทดสอบภายใน 992 รายการ — การตรวจสอบที่ขยายออกไปและการครอบคลุมการถดถอยในปลั๊กอิน, hooks, ทักษะ และการแพ็กเกจ

v1.6.0 — Codex CLI, AgentShield & Marketplace (ก.พ. 2026)

  • การรองรับ Codex CLI — คำสั่ง /codex-setup ใหม่สร้าง codex.md เพื่อความเข้ากันได้กับ OpenAI Codex CLI
  • 7 ทักษะใหม่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 — ทักษะ /security-scan รัน AgentShield โดยตรงจาก Claude Code; 1282 การทดสอบ, 102 กฎ
  • GitHub Marketplace — ECC Tools GitHub App เปิดใช้งานแล้วที่ github.com/marketplace/ecc-tools พร้อมระดับฟรี/โปร/องค์กร
  • รวม PR จากชุมชนกว่า 30 รายการ — การมีส่วนร่วมจากผู้ร่วมให้ข้อมูล 30 คนใน 6 ภาษา
  • การทดสอบภายใน 978 รายการ — ชุดการตรวจสอบที่ขยายออกไปครอบคลุม agents, ทักษะ, คำสั่ง, hooks และกฎ

v1.4.1 — แก้ไขข้อผิดพลาด (ก.พ. 2026)

  • แก้ไขปัญหาการสูญหายของเนื้อหาในการนำเข้า instinctparse_instinct_file() ได้ละทิ้งเนื้อหาทั้งหมดหลังจาก frontmatter (ส่วน Action, Evidence, Examples) โดยไม่มีการแจ้งเตือนระหว่าง /instinct-import (#148, #161)

v1.4.0 — กฎหลายภาษา, Installation Wizard & PM2 (ก.พ. 2026)

  • วิซาร์ดการติดตั้งแบบโต้ตอบ — ทักษะ configure-ecc ใหม่ให้การตั้งค่าแบบมีคำแนะนำพร้อมการตรวจจับการรวม/เขียนทับ
  • PM2 & การจัดการ multi-agent — 6 คำสั่งใหม่ (/pm2, /multi-plan, /multi-execute, /multi-backend, /multi-frontend, /multi-workflow) สำหรับการจัดการเวิร์กโฟลว์ multi-service ที่ซับซ้อน
  • สถาปัตยกรรมกฎหลายภาษา — กฎถูกปรับโครงสร้างใหม่จากไฟล์แบนๆ เป็นไดเรกทอรี common/ + typescript/ + python/ + golang/ ติดตั้งเฉพาะภาษาที่คุณต้องการ
  • การแปลภาษาจีน (zh-CN) — การแปล agents, คำสั่ง, ทักษะ และกฎทั้งหมด (กว่า 80 ไฟล์) อย่างสมบูรณ์
  • การรองรับ GitHub Sponsors — สนับสนุนโปรเจกต์ผ่าน GitHub Sponsors
  • ปรับปรุง CONTRIBUTING.md — เทมเพลต PR โดยละเอียดสำหรับแต่ละประเภทการมีส่วนร่วม

v1.3.0 — การรองรับปลั๊กอิน OpenCode (ก.พ. 2026)

v1.2.0 — คำสั่งและทักษะแบบรวมศูนย์ (ก.พ. 2026)

  • รองรับ Python/Django — รูปแบบ Django, ความปลอดภัย, TDD และทักษะการตรวจสอบ
  • ทักษะ Java Spring Boot — รูปแบบ, ความปลอดภัย, TDD และการตรวจสอบสำหรับ Spring Boot
  • การจัดการเซสชัน — คำสั่ง /sessions สำหรับประวัติเซสชัน
  • การเรียนรู้ต่อเนื่อง v2 — การเรียนรู้ตามสัญชาตญาณพร้อมการให้คะแนนความมั่นใจ, การนำเข้า/ส่งออก, วิวัฒนาการ

ดูการเปลี่ยนแปลงทั้งหมดได้ที่ Releases


เริ่มต้นใช้งานอย่างรวดเร็ว

เริ่มต้นใช้งานได้ภายใน 2 นาที:

เลือกเส้นทางเดียวเท่านั้น

ผู้ใช้ Claude Code ส่วนใหญ่ควรใช้เส้นทางการติดตั้งเพียงเส้นทางเดียวเท่านั้น:

  • แนะนำเป็นค่าเริ่มต้น: ติดตั้งปลั๊กอิน Claude Code จากนั้นคัดลอกเฉพาะโฟลเดอร์กฎที่คุณต้องการ
  • ใช้ตัวติดตั้งแบบแมนนวลเฉพาะในกรณีที่คุณ ต้องการการควบคุมที่ละเอียดขึ้น, ต้องการหลีกเลี่ยงเส้นทางปลั๊กอินโดยสิ้นเชิง, หรือการสร้าง Claude Code ของคุณมีปัญหาในการแก้ไขรายการตลาดที่โฮสต์ด้วยตนเอง
  • ห้ามใช้การติดตั้งหลายวิธีพร้อมกัน การตั้งค่าที่พังบ่อยที่สุดคือ: /plugin install ก่อน จากนั้น install.sh --profile full หรือ npx ecc-install --profile full ตามมา

หากคุณติดตั้งหลายชั้นไปแล้วและสิ่งต่างๆ ดูซ้ำซ้อน ให้ข้ามไปที่ รีเซ็ต / ถอนการติดตั้ง ECC

เส้นทางแบบ Low-context / ไม่มี hooks

หาก hooks รู้สึกกว้างเกินไป หรือคุณต้องการเพียงกฎ, เอเจนต์, คำสั่ง และทักษะเวิร์กโฟลว์หลักของ ECC ให้ข้ามปลั๊กอินและใช้โปรไฟล์แมนนวลแบบน้อยที่สุด:

bash
./install.sh --profile minimal --target claude
powershell
.\install.ps1 --profile minimal --target claude
# หรือ
npx ecc-install --profile minimal --target claude

โปรไฟล์นี้จงใจไม่รวม hooks-runtime

หากคุณต้องการโปรไฟล์หลักปกติแต่ต้องการปิด hooks ให้ใช้:

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

เพิ่ม hooks ในภายหลังเฉพาะเมื่อคุณต้องการการบังคับใช้รันไทม์:

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

ค้นหาส่วนประกอบที่เหมาะสมก่อน

หากคุณไม่แน่ใจว่าจะติดตั้งโปรไฟล์หรือส่วนประกอบ ECC ใด ให้ถามที่ปรึกษาที่มาพร้อมกับแพ็กเกจจากโปรเจกต์ใดก็ได้:

bash
npx ecc consult "security reviews" --target claude

มันจะส่งคืนส่วนประกอบที่ตรงกัน, โปรไฟล์ที่เกี่ยวข้อง และคำสั่งพรีวิว/ติดตั้ง ใช้คำสั่งพรีวิวก่อนติดตั้งหากคุณต้องการตรวจสอบแผนไฟล์ที่แน่นอน

สำหรับเวิร์กโฟลว์ ML/MLOps ในการผลิต ให้เลือกติดตั้งแบบ opt-in และจำกัดขอบเขตส่วนประกอบ:

bash
npx ecc consult "mlops training model deployment" --target claude
npx ecc install --profile minimal --target claude --with capability:machine-learning

ขั้นตอนที่ 1: ติดตั้งปลั๊กอิน (แนะนำ)

หมายเหตุ: ปลั๊กอินสะดวก แต่ตัวติดตั้ง OSS ด้านล่างยังคงเป็นเส้นทางที่น่าเชื่อถือที่สุดหากการสร้าง Claude Code ของคุณมีปัญหาในการแก้ไขรายการตลาดที่โฮสต์ด้วยตนเอง

bash
# เพิ่ม marketplace
/plugin marketplace add https://github.com/affaan-m/ECC

# ติดตั้งปลั๊กอิน
/plugin install ecc@ecc

หมายเหตุเกี่ยวกับการตั้งชื่อและการย้ายข้อมูล

ECC ตอนนี้มีตัวระบุสาธารณะสามตัว และไม่สามารถใช้แทนกันได้:

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

นี่เป็นความตั้งใจ การติดตั้ง Anthropic marketplace/plugin ถูกกำหนดโดยตัวระบุปลั๊กอินที่เป็นมาตรฐาน ดังนั้น ECC จึงใช้ ecc@ecc เพื่อให้ชื่อเครื่องมือและเนมสเปซของคำสั่ง slash สั้นพอสำหรับตัวตรวจสอบ Desktop/API ที่เข้มงวด โพสต์เก่าๆ อาจยังแสดงตัวระบุ marketplace แบบยาวเดิม; ให้ถือว่าเป็นนามแฝงแบบเก่าเท่านั้น แยกกัน แพ็กเกจ npm ยังคงใช้ ecc-universal ดังนั้นการติดตั้ง npm และการติดตั้ง marketplace จึงใช้ชื่อที่แตกต่างกันโดยเจตนา

ขั้นตอนที่ 2: ติดตั้งกฎเฉพาะเมื่อคุณต้องการ

คำเตือน: สำคัญ: ปลั๊กอิน Claude Code ไม่สามารถแจกจ่าย rules ได้โดยอัตโนมัติ

หากคุณติดตั้ง ECC ผ่าน /plugin install ไปแล้ว ห้ามรัน ./install.sh --profile full, .\install.ps1 --profile full, หรือ npx ecc-install --profile full หลังจากนั้น ปลั๊กอินได้โหลดทักษะ, คำสั่ง และ hooks ของ ECC ไปแล้ว การรันตัวติดตั้งแบบเต็มหลังจากติดตั้งปลั๊กอินจะคัดลอกส่วนประกอบเหล่านั้นไปยังไดเรกทอรีผู้ใช้ของคุณ และอาจสร้างทักษะที่ซ้ำกันรวมถึงพฤติกรรมรันไทม์ที่ซ้ำกัน

สำหรับการติดตั้งปลั๊กอิน ให้คัดลอกเฉพาะไดเรกทอรี rules/ ที่คุณต้องการภายใต้ ~/.claude/rules/ecc/ เริ่มต้นด้วย rules/common บวกกับแพ็กภาษาหรือเฟรมเวิร์กที่คุณใช้งานจริง อย่าคัดลอกไดเรกทอรีกฎทั้งหมดเว้นแต่คุณต้องการบริบททั้งหมดนั้นใน Claude อย่างชัดเจน

ใช้ตัวติดตั้งแบบเต็มเฉพาะเมื่อคุณกำลังติดตั้ง ECC แบบแมนนวลทั้งหมดแทนเส้นทางปลั๊กอิน

หากการตั้งค่า Claude ในเครื่องของคุณถูกล้างหรือรีเซ็ต นั่นไม่ได้หมายความว่าคุณต้องซื้อ ECC ใหม่ เริ่มต้นด้วย node scripts/ecc.js list-installed จากนั้นรัน node scripts/ecc.js doctor และ node scripts/ecc.js repair ก่อนติดตั้งใหม่ นั่นมักจะกู้คืนไฟล์ที่จัดการโดย ECC โดยไม่ต้องสร้างการตั้งค่าของคุณใหม่ หากปัญหาคือการเข้าถึงบัญชีหรือ marketplace สำหรับ ECC Tools ให้จัดการการเรียกเก็บเงิน/การกู้คืนบัญชีแยกต่างหาก

bash
# โคลน repo ก่อน
git clone https://github.com/affaan-m/ECC.git
cd ECC

# ติดตั้ง dependencies (เลือกตัวจัดการแพ็กเกจของคุณ)
npm install        # หรือ: pnpm install | yarn install | bun install

# เส้นทางการติดตั้งปลั๊กอิน: คัดลอกเฉพาะกฎ ECC ไปยังเนมสเปซที่ ECC เป็นเจ้าของ
mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/

# เส้นทางการติดตั้ง ECC แบบแมนนวลเต็มรูปแบบ (ใช้สิ่งนี้แทน /plugin install)
# ./install.sh --profile full
powershell
# Windows PowerShell

# เส้นทางการติดตั้งปลั๊กอิน: คัดลอกเฉพาะกฎ ECC ไปยังเนมสเปซที่ ECC เป็นเจ้าของ
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/"

# เส้นทางการติดตั้ง ECC แบบแมนนวลเต็มรูปแบบ (ใช้สิ่งนี้แทน /plugin install)
# .\install.ps1 --profile full
# npx ecc-install --profile full

สำหรับคำแนะนำการติดตั้งแบบแมนนวล โปรดดู README ในโฟลเดอร์ rules/ เมื่อคัดลอกกฎด้วยตนเอง ให้คัดลอกไดเรกทอรีภาษาทั้งหมด (เช่น rules/common หรือ rules/golang) ไม่ใช่ไฟล์ภายใน เพื่อให้การอ้างอิงสัมพัทธ์ยังคงทำงานและชื่อไฟล์ไม่ชนกัน

การติดตั้งแบบแมนนวลเต็มรูปแบบ (ทางเลือก)

ใช้สิ่งนี้เฉพาะเมื่อคุณจงใจข้ามเส้นทางปลั๊กอิน:

bash
./install.sh --profile full
powershell
.\install.ps1 --profile full
# หรือ
npx ecc-install --profile full

หากคุณเลือกเส้นทางนี้ ให้หยุดแค่นั้น อย่ารัน /plugin install ด้วย

รีเซ็ต / ถอนการติดตั้ง ECC

หาก ECC รู้สึกซ้ำซ้อน, ก้าวก่าย หรือเสีย อย่าติดตั้งซ้ำทับตัวเอง

  • เส้นทางปลั๊กอิน: ลบปลั๊กอินออกจาก Claude Code จากนั้นลบโฟลเดอร์กฎเฉพาะที่คุณคัดลอกด้วยตนเองภายใต้ ~/.claude/rules/ecc/
  • ตัวติดตั้งแบบแมนนวล / เส้นทาง CLI: จาก root ของ repo ให้พรีวิวการลบก่อน:
bash
node scripts/uninstall.js --dry-run

จากนั้นลบไฟล์ที่จัดการโดย ECC:

bash
node scripts/uninstall.js

คุณยังสามารถใช้ wrapper ของ lifecycle ได้:

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 จะลบเฉพาะไฟล์ที่บันทึกไว้ในสถานะการติดตั้งเท่านั้น จะไม่ลบไฟล์ที่ไม่เกี่ยวข้องที่ไม่ได้ติดตั้ง

หากคุณใช้หลายวิธี ให้ล้างตามลำดับนี้:

  1. 1ลบการติดตั้งปลั๊กอิน Claude Code
  2. 2รันคำสั่งถอนการติดตั้ง ECC จาก root ของ repo เพื่อลบไฟล์ที่จัดการโดยสถานะการติดตั้ง
  3. 3ลบโฟลเดอร์กฎพิเศษที่คุณคัดลอกด้วยตนเองและไม่ต้องการอีกต่อไป
  4. 4ติดตั้งใหม่หนึ่งครั้ง โดยใช้เส้นทางเดียว

ขั้นตอนที่ 3: เริ่มใช้งาน

bash
# ทักษะคือพื้นผิวเวิร์กโฟลว์หลัก
# ชื่อคำสั่งสไตล์ slash ที่มีอยู่ยังคงใช้งานได้ในขณะที่ ECC กำลังย้ายออกจาก commands/.

# การติดตั้งปลั๊กอินใช้รูปแบบเนมสเปซที่เป็นมาตรฐาน
/ecc:plan "Add user authentication"

# การติดตั้งแบบแมนนวลยังคงใช้รูปแบบ slash ที่สั้นกว่า:
# /plan "Add user authentication"

# ตรวจสอบคำสั่งที่มีอยู่
/plugin list ecc@ecc

แค่นั้นแหละ! ตอนนี้คุณสามารถเข้าถึงเอเจนต์ 67 ตัว, ทักษะ 278 รายการ และ shims คำสั่งเก่า 94 รายการ

แดชบอร์ด GUI

เปิดแดชบอร์ดเดสก์ท็อปเพื่อสำรวจส่วนประกอบ ECC ด้วยภาพ:

bash
npm run dashboard
# หรือ
python3 ./ecc_dashboard.py

คุณสมบัติ:

  • อินเทอร์เฟซแบบแท็บ: Agents, Skills, Commands, Rules, Settings
  • สลับธีม Dark/Light
  • ปรับแต่งฟอนต์ (ตระกูลและขนาด)
  • โลโก้โปรเจกต์ในส่วนหัวและแถบงาน
  • ค้นหาและกรองส่วนประกอบทั้งหมด

คำสั่ง Multi-model ต้องมีการตั้งค่าเพิ่มเติม

คำเตือน: คำสั่ง multi-* ไม่ ครอบคลุมโดยการติดตั้งปลั๊กอิน/กฎพื้นฐานข้างต้น

หากต้องการใช้ /multi-plan, /multi-execute, /multi-backend, /multi-frontend และ /multi-workflow คุณต้องติดตั้งรันไทม์ ccg-workflow ด้วย

เริ่มต้นด้วย npx ccg-workflow

รันไทม์นั้นจะจัดหา dependencies ภายนอกที่คำสั่งเหล่านี้คาดหวัง รวมถึง:

  • ~/.claude/bin/codeagent-wrapper
  • ~/.claude/.ccg/prompts/*

หากไม่มี ccg-workflow คำสั่ง multi-* เหล่านี้จะไม่ทำงานอย่างถูกต้อง


การรองรับหลายแพลตฟอร์ม (Cross-Platform Support)

ปัจจุบันปลั๊กอินนี้รองรับ Windows, macOS และ Linux อย่างเต็มรูปแบบ พร้อมการทำงานร่วมกับ IDE หลักๆ (Cursor, Zed, OpenCode, Antigravity) และ CLI harnesses ได้อย่างราบรื่น โดย hooks และสคริปต์ทั้งหมดถูกเขียนใหม่ด้วย Node.js เพื่อให้เกิดความเข้ากันได้สูงสุด

การตรวจหา Package Manager

ปลั๊กอินจะตรวจหา package manager ที่คุณต้องการใช้งาน (npm, pnpm, yarn หรือ bun) โดยอัตโนมัติ ตามลำดับความสำคัญดังนี้:

  1. 1Environment variable: CLAUDE_PACKAGE_MANAGER
  2. 2Project config: .claude/package-manager.json
  3. 3package.json: ฟิลด์ packageManager
  4. 4Lock file: ตรวจหาจาก package-lock.json, yarn.lock, pnpm-lock.yaml หรือ bun.lockb
  5. 5Global config: ~/.claude/package-manager.json
  6. 6Fallback: ใช้ package manager ตัวแรกที่ตรวจพบในเครื่อง

วิธีตั้งค่า package manager ที่คุณต้องการ:

bash
# ผ่าน environment variable
export CLAUDE_PACKAGE_MANAGER=pnpm

# ผ่าน global config
node scripts/setup-package-manager.js --global pnpm

# ผ่าน project config
node scripts/setup-package-manager.js --project bun

# ตรวจสอบการตั้งค่าปัจจุบัน
node scripts/setup-package-manager.js --detect

หรือใช้คำสั่ง /setup-pm ใน Claude Code

การควบคุม Hook Runtime

ใช้ runtime flags เพื่อปรับระดับความเข้มงวดหรือปิดการทำงานของ hook บางตัวชั่วคราว:

bash
# โปรไฟล์ความเข้มงวดของ Hook (ค่าเริ่มต้น: standard)
export ECC_HOOK_PROFILE=standard

# ระบุ Hook ID ที่ต้องการปิด (คั่นด้วยเครื่องหมายคอมมา)
export ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"

# จำกัดจำนวนอักขระของ context เพิ่มเติมใน SessionStart (ค่าเริ่มต้น: 8000 chars)
export ECC_SESSION_START_MAX_CHARS=4000

# ปิด context เพิ่มเติมใน SessionStart ทั้งหมด สำหรับการตั้งค่าแบบ low-context หรือ local-model
export ECC_SESSION_START_CONTEXT=off

# ระยะเวลาการเก็บรักษา session-tmp เป็นจำนวนวัน (ค่าเริ่มต้น: 30)
# ตั้งค่าเป็น 0, off, false, disabled, never หรือ none เพื่อเก็บทุก session (ปิดการลบข้อมูล)
export ECC_SESSION_RETENTION_DAYS=14

# จำกัดจำนวน learned instincts ที่ SessionStart จะฉีดเข้าไปใน context (ค่าเริ่มต้น: 6)
export ECC_MAX_INJECTED_INSTINCTS=6

# ค่าความเชื่อมั่นขั้นต่ำที่ instinct ต้องมีเพื่อที่จะถูกฉีดเข้าไป, 0-1 (ค่าเริ่มต้น: 0.7)
export ECC_INSTINCT_CONFIDENCE_THRESHOLD=0.7

# เก็บคำเตือนเรื่อง context/scope/loop แต่ปิดการประมาณการค่าใช้จ่าย API-rate
export ECC_CONTEXT_MONITOR_COST_WARNINGS=off

สำหรับ Windows PowerShell:

powershell
[Environment]::SetEnvironmentVariable('ECC_CONTEXT_MONITOR_COST_WARNINGS', 'off', 'User')
[Environment]::SetEnvironmentVariable('ECC_SESSION_RETENTION_DAYS', '14', 'User')

โฮมข้อมูลของ Agent (การแยกส่วน multi-harness)

Memory persistence hooks (สรุปเซสชัน, ทักษะที่เรียนรู้, นามแฝงเซสชัน, เมทริกซ์) จะเก็บข้อมูลไว้ภายใต้ agent data root เดียวกัน โดยค่าเริ่มต้นคือ ~/.claude หากคุณใช้ ECC ทั้งใน Claude Code และ Cursor บนเครื่องเดียวกัน ให้ตั้งค่า root แยกสำหรับ Cursor เพื่อไม่ให้ทั้งสองสภาพแวดล้อมเขียนทับไฟล์เซสชันของกันและกัน:

bash
# ขอบเขตสำหรับ Cursor เท่านั้น (Claude Code จะยังคงใช้ ~/.claude ตามค่าเริ่มต้น)
export ECC_AGENT_DATA_HOME="$HOME/.cursor/ecc"

เส้นทาง (Paths) ที่ถูกกำหนดภายใต้ root ดังกล่าวประกอบด้วย:

  • $ECC_AGENT_DATA_HOME/session-data/ — สรุปเซสชัน
  • $ECC_AGENT_DATA_HOME/skills/learned/ — ทักษะที่เรียนรู้จาก evaluate-session
  • $ECC_AGENT_DATA_HOME/session-aliases.json — นามแฝงเซสชัน
  • $ECC_AGENT_DATA_HOME/metrics/ — เมทริกซ์ค่าใช้จ่ายและกิจกรรม

ดูรายละเอียดเพิ่มเติมที่ affaan-m/ECC#2065


สิ่งที่อยู่ภายใน

Repository นี้คือ Claude Code plugin ซึ่งคุณสามารถติดตั้งได้โดยตรงหรือคัดลอกคอมโพเนนต์ด้วยตนเอง

code
ECC/
|-- .claude-plugin/   # Manifest ของปลั๊กอินและ marketplace
|   |-- plugin.json         # เมทาดาตาของปลั๊กอินและเส้นทางของคอมโพเนนต์
|   |-- marketplace.json    # แคตตาล็อก Marketplace สำหรับ /plugin marketplace add
|
|-- agents/           # subagents เฉพาะทาง 67 ตัวสำหรับการมอบหมายงาน
|   |-- planner.md           # การวางแผนการนำฟีเจอร์ไปใช้งาน
|   |-- architect.md         # การตัดสินใจออกแบบระบบ
|   |-- tdd-guide.md         # การพัฒนาแบบ Test-driven development
|   |-- code-reviewer.md     # การรีวิวคุณภาพและความปลอดภัย
|   |-- security-reviewer.md # การวิเคราะห์ช่องโหว่
|   |-- build-error-resolver.md
|   |-- e2e-runner.md        # การทดสอบ E2E ด้วย Playwright
|   |-- refactor-cleaner.md  # การล้าง Dead code
|   |-- doc-updater.md       # การซิงค์เอกสาร
|   |-- docs-lookup.md       # การค้นหาเอกสาร/API
|   |-- chief-of-staff.md    # การคัดกรองการสื่อสารและร่างข้อความ
|   |-- loop-operator.md     # การรัน loop แบบอัตโนมัติ
|   |-- harness-optimizer.md # การปรับจูนการตั้งค่า Harness
|   |-- cpp-reviewer.md      # การรีวิวโค้ด C++
|   |-- cpp-build-resolver.md # การแก้ไขข้อผิดพลาดการ build C++
|   |-- fsharp-reviewer.md   # การรีวิวโค้ด functional F#
|   |-- go-reviewer.md       # การรีวิวโค้ด Go
|   |-- go-build-resolver.md # การแก้ไขข้อผิดพลาดการ build Go
|   |-- python-reviewer.md   # การรีวิวโค้ด Python
|   |-- database-reviewer.md # การรีวิว Database/Supabase
|   |-- typescript-reviewer.md # การรีวิวโค้ด TypeScript/JavaScript
|   |-- java-reviewer.md     # การรีวิวโค้ด Java/Spring Boot
|   |-- java-build-resolver.md # ข้อผิดพลาดการ build Java/Maven/Gradle
|   |-- kotlin-reviewer.md   # การรีวิวโค้ด Kotlin/Android/KMP
|   |-- kotlin-build-resolver.md # ข้อผิดพลาดการ build Kotlin/Gradle
|   |-- harmonyos-app-resolver.md # การพัฒนาแอป HarmonyOS/ArkTS
|   |-- rust-reviewer.md     # การรีวิวโค้ด Rust
|   |-- rust-build-resolver.md # การแก้ไขข้อผิดพลาดการ build Rust
|   |-- pytorch-build-resolver.md # ข้อผิดพลาดการเทรน PyTorch/CUDA
|   |-- mle-reviewer.md      # การรีวิว Production ML pipeline, eval, serving และ monitoring
|
|-- skills/           # คำจำกัดความของ Workflow และความรู้เฉพาะโดเมน
|   |-- coding-standards/           # แนวทางปฏิบัติที่ดีที่สุดของแต่ละภาษา
|   |-- clickhouse-io/              # การวิเคราะห์และคิวรี ClickHouse

เอกสารโปรเจกต์

อ่านเอกสารต้นฉบับ

README วิธีติดตั้ง วิธีใช้งาน และข้อกำหนดจาก repository ต้นฉบับ

ดูไฟล์บน GitHub
ECC - the agent harness operating system
DiscordWebsiteGitHub AppMIT license
StarsForksContributorsGitHub App installs
ecc-universal npm downloadsecc-agentshield npm downloads
ShellTypeScriptPythonGoJavaPerlMarkdown
คำเตือน

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.

ECC ToolsDiscord

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

CodeRabbitGreptileAtlas CloudMoonshot AI - KimiItô Markets

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

Become a Sponsor · Sponsor Tiers · Sponsorship Program

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.

text
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, with first-class Codex support and adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses.

Access to 67 agents, 281 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.

IncludedCountWhat it gives you
Agents67 agentsPlanning, review, build repair, security, architecture, and domain work
Skills281 skillsTDD, research, security, docs, frontend, data, ML, operations, and more
Commands94 commandsConvenient entry points while ECC moves to a skills-first surface
Hooks and memoryRuntimeEnforcement, session summaries, continuous learning, instincts, and context controls
RulesSelectiveAlways-loaded standards you choose by language or project
AgentShieldIncludedScanning for prompts, hooks, MCP config, permissions, secrets, and agent files

Install ECC

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:

  • Works: Claude Code plugin + Codex sync
  • Avoid: Claude Code plugin + full Claude manual install
  • Avoid: Codex sync + Codex marketplace plugin

Recommended default: install the Claude Code plugin for Claude Code and use the supported sync flow for Codex. 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.

Claude Code

Run these commands inside Claude Code:

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

That installs ECC's skills, agents, commands, and plugin-managed hooks. Claude Code plugins cannot distribute rules, so add only the rule packs you actually want:

bash
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.

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

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.

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

The reliable ECC setup for Codex is the sync flow. Run Codex once first so ~/.codex/config.toml exists. The sync preserves your existing Codex files, creates timestamped backups, and merges ECC's AGENTS.md, skills, prompts, agents, and reference config into ~/.codex:

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

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.

For repo navigation, surface ownership, and PR diff packet guidance, read the Codex ECC Navigation Map.

Codex officially supports plugin marketplaces, and ECC publishes a repo marketplace:

bash
codex plugin marketplace add affaan-m/ECC
codex plugin marketplace list

Restart Codex, then install or enable ecc from the Plugins directory. Do not add the marketplace plugin on top of the Codex sync flow. Marketplace registration is stable in Codex, but ECC's current plugin package references shared repository content that may not be copied into Codex's install cache. Until that upstream cache behavior is resolved, use the sync flow above when you need all ECC skills reliably.

From an ECC checkout, verify the installed plugin cache with:

bash
node scripts/codex/check-plugin-cache.js

See the .codex plugin notes for the current limitation and tracking issues.

Other agents and editors

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

bash
git clone https://github.com/affaan-m/ECC.git
cd ECC
HarnessInstall or setupNotes
Cursor./install.sh --profile minimal --target cursorProject-local .cursor/ adapter
OpenCodenpm install && npm run build:opencode && ./install.sh --profile full --target opencodeBuilds the plugin payload before the full install
Gemini CLI./install.sh --profile minimal --target geminiProject-local .gemini/ config
Zed./install.sh --profile minimal --target zedProject-local .zed/ adapter
Antigravity./install.sh --profile minimal --target antigravitySee the Antigravity guide
Qwen CLI./install.sh --profile minimal --target qwenSee the Qwen guide
Hermes./install.sh --profile minimal --target hermesSee the Hermes setup guide
OpenClaw./install.sh --profile minimal --target openclawManaged home-directory install
Kimi Code CLI./install.sh --profile minimal --target kimiProject-local .kimi/ install
CodeBuddy./install.sh --profile minimal --target codebuddyProject-local .codebuddy/ install
JoyCode./install.sh --profile minimal --target joycodeProject-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

The options stay here, directly under the main install paths, so you do not have to hunt through the README when the default setup is not the right fit.

Low-context / no-hooks path

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

bash
./install.sh --profile minimal --target claude
# or, without cloning first
npx ecc-install --profile minimal --target claude

Windows:

powershell
.\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:

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

Add the hook runtime later only if you want it:

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

Find the right components first

Ask the packaged advisor which components match your work:

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.

You can also install explicit skills or capabilities:

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

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

bash
# 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.

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

bash
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.

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

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

Windows:

powershell
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
bash ./install.sh --target claude --modules hooks-runtime

That writes resolved hooks to ~/.claude/hooks/hooks.json and leaves any existing ~/.claude/settings.json untouched.

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:

powershell
pwsh -File .\install.ps1 --target claude --modules hooks-runtime

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:

bash
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-* 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. 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.

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:

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. 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 or self-host an open-weight Kimi model on your own GPU capacity:

Itô MarketsMoonshot AI - KimiECC Tools

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

bash
bash ./install.sh --target kimi --profile minimal
npx ecc doctor --target kimi
kimi

Kimi Code discovers the installed .kimi/AGENTS.md instructions and .kimi/skills/ workflows natively. The installer dry-run and regression suite verify that the Kimi target stays inside the project-local .kimi/ root.

Itô compute CLI bridge

ecc ito delegates to the separately installed canonical Itô client; ECC does not maintain a second API client or browser handoff. The available operations are 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; 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. Inject ITO_API_KEY from 1Password or the launching environment. 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.

Reset / Uninstall ECC

If ECC feels duplicated, intrusive, or broken, inspect the managed state before reinstalling:

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

For direct uninstall:

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

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. 1Remove the Claude Code plugin install.
  2. 2Run the ECC uninstall command from the repo root to remove install-state-managed files.
  3. 3Delete any extra rule folders you copied manually and no longer want.
  4. 4Reinstall once, using a single path.

Start Using ECC

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

What you are doingStart here
Building a feature/ecc:plan "describe the feature", then tdd-workflow
Fixing a bugReproduce 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 or npx -y ecc-agentshield scan --path .

Claude Code plugin commands use the namespaced form:

text
/ecc:plan "Add authentication"

Manual installs may expose the shorter compatibility form:

text
/plan "Add authentication"

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

bash
/plugin list ecc@ecc

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

I want to...Use this surfaceAgent used
Plan a new feature/ecc:plan "Add auth"planner
Design system architecture/ecc:plan + architect agentarchitect
Write code with tests firsttdd-workflow skilltdd-guide
Review code I just wrote/code-reviewcode-reviewer
Fix a failing build/build-fixbuild-error-resolver
Run end-to-end testse2e-testing skille2e-runner
Find security vulnerabilities/security-scansecurity-reviewer
Remove dead code/refactor-cleanrefactor-cleaner
Update documentation/update-docsdoc-updater
Review Go code/go-reviewgo-reviewer
Review Python code/python-reviewpython-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 changesmle-workflow skill + mle-reviewer agentmle-reviewer

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:

code
/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:

code
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:

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

What's New: ECC 2.1

สำคัญ

NEW IN ECC 2.1: Plan Canvas · Kimi harness · self-hosted compute on Itô GPUs. See the full release notes →

Plan Canvas: review plans by pointing, not retyping

Your agent writes a plan, then opens it in a loopback-only browser canvas. Click the part you mean, attach numbered annotations, chat from a side rail, and hit Approve plan or Request changes. The verdict maps straight onto /plan's CONFIRM gate. Mermaid diagrams render live, and edits to the plan file reload the page.

Plan Canvas demo: reviewing an ECC plan in the browser, scrolling diagrams, attaching an anchored annotation, chatting with the agent, and approving the plan

It's harness- and model-agnostic: a plain CLI (ecc-plan-canvas) speaking JSON, so any agent can drive it. Try it: ask your agent to /ecc:plan anything, then review from the page instead of the terminal.

Open the plan used in this demo →

Also in 2.1

  • Kimi Code install target (--target kimi): ECC installs natively into Moonshot AI's Kimi Code CLI
  • Self-host on GPUs: a verified path with Itô, ECC's preferred compute sponsor, including the opt-in ecc ito find RFQ bridge (details and disclosures above in the install options)
  • Moonshot AI (Kimi), Itô, and Atlas Cloud are now public sponsors
  • Hermes + OpenClaw install targets, a Codex navigation guide, consolidated PostToolUse hooks, and supply-chain hardening

Current development: Unified Memory Vault

ecc memory gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnesses one local, inspectable Markdown format for durable context and handoffs. The optional ecc-memory-mcp stdio server exposes the same bounded save/search/read/doctor surface without enabling itself by default. Full detail in Share context between harnesses below.

VersionHighlights
v2.0.0The Agent Harness Operating System: cross-harness graduation, control-pane substrate, orch-* orchestrators, Discord + ECC bot, single-connector MCP policy
v1.10.0Surface refresh, operator workflows, ECC 2.0 alpha
v1.9.0Selective install, ECC Tools Pro, 12 language ecosystems
v1.8.0Harness performance and cross-platform reliability
v1.7.0Cross-platform expansion and presentation builder
v1.6.0Codex Edition and the ECC Tools GitHub App
v1.5.0Universal Edition
v1.4.0Multi-language rules, installation wizard, PM2 orchestration
v1.3.0Complete OpenCode plugin support
v1.2.0Unified commands and skills
v1.1.0Cross-platform support and community fixes
v1.0.0Official plugin release

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

Stable graduation of the 2.0 line: the control-pane substrate (session adapters + MCP inventory), the worktree-lifecycle service, the orch-* orchestrator family, and the launch of the ECC Discord community. Full notes: docs/releases/2.0.0/release-notes.md.

v2.0.0-rc.1: Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)

  • 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.
  • Public surface synced to the live repo: metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface.
  • 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.
  • 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 a single harness.
  • 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.
  • ECC 2.0 alpha in-tree: the Rust control-plane prototype in ecc2/ builds locally and exposes dashboard, start, sessions, status, stop, resume, and daemon commands.
  • 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.
  • 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.

v1.9.0: Selective Install and 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, documentation-lookup, bun-runtime, nextjs-turbopack, 8 operational domain skills, and mcp-server-patterns.
  • Session and state infrastructure: SQLite state store with query CLI, session adapters for structured recording, skill evolution foundation for self-improving skills.
  • Orchestration overhaul: Deterministic harness audit scoring, hardened orchestration status and launcher compatibility, 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.
  • Community contributions: Korean and Chinese translations, biome hook optimization, video processing skills, operational skills, PowerShell installer, Antigravity IDE support.
  • CI hardening: 19 test failure fixes, catalog count enforcement, install manifest validation, and full test suite green.

v1.8.0: Harness Performance System (Mar 2026)

  • Harness-first release: ECC is 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.

v1.7.0: Cross-Platform Expansion and 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

v1.6.0: Codex CLI, AgentShield, and 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 runs AgentShield directly from Claude Code; 1282 tests, 102 rules
  • GitHub Marketplace: ECC Tools GitHub App live at 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

v1.4.1: Bug Fix (Feb 2026)

  • Fixed instinct import content loss: parse_instinct_file() was silently dropping all content after frontmatter (Action, Evidence, Examples sections) during /instinct-import. (#148, #161)

v1.4.0: Multi-Language Rules, Installation Wizard, and PM2 (Feb 2026)

  • Interactive installation wizard: New configure-ecc skill provides guided setup with merge/overwrite detection
  • PM2 and multi-agent orchestration: 6 new commands (/pm2, /multi-plan, /multi-execute, /multi-backend, /multi-frontend, /multi-workflow) for managing complex multi-service workflows
  • Multi-language rules architecture: Rules restructured from flat files into common/ + typescript/ + python/ + golang/ directories. Install only the languages you need
  • 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 and 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

See the full changelog in Releases.

Why Choose ECC?

Without a systemWith ECC
Plans disappear into chat historyPlans become editable artifacts before implementation starts
"Please use TDD" is an instruction the model may forgetTDD becomes a gated RED -> GREEN -> REFACTOR workflow with evidence
The same context writes and reviews the codeA fresh-context reviewer looks for regressions and blind spots
Memory means saving an enormous transcriptSessions are distilled into summaries, instincts, and reusable skills
Quality checks depend on remindersHooks can enforce deterministic checks outside the prompt
Agent configuration is trusted by defaultAgentShield scans the harness itself as an attack surface

TDD: Test-Driven Development

text
/ecc:plan "Add usage-based billing alerts"
  -> confirm or edit the plan
  -> activate tdd-workflow
  -> capture RED evidence before implementation
  -> implement until GREEN
  -> review from fresh context
  -> fix findings with regression tests
  -> verify build, lint, types, and tests

A result is not just code. It's a trail of evidence: the plan, the failing test, the passing test, the review findings, and the final verification.

Skills keep the context focused

Rules, skills, agents, and hooks solve different problems. Keeping those jobs separate is how ECC adds capability without dumping the entire repository into every session.

ConceptWhat it doesContext behavior
SkillsReusable workflows such as TDD, security review, or deep researchLoaded when the task needs them
AgentsScoped workers with their own context and tool permissionsIsolate planning, implementation, and review
RulesDurable project or language standardsAlways loaded, so install them selectively
HooksScripts triggered by harness eventsRun outside the model context
InstinctsPatterns learned from real sessions with confidence scoresRecalled when relevant

Share context between harnesses

ECC's Memory Vault gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnesses one local, inspectable Markdown format for durable context and handoffs. Project and team memories live under .ecc/memory/; user memories live under ~/.ecc/memory/.

bash
npm install -g ecc-universal
ecc memory init --scope project
ecc memory search "authentication migration" --target-harness codex
ecc memory doctor

Memory is unreviewed context, not executable policy. Verify important claims against authoritative sources and promote accepted knowledge into governed project documentation. The optional ecc-memory-mcp server exposes the same bounded save, search, read, and doctor surface without enabling itself by default.

Open the Unified Memory workflow →

The Memory Vault stores portable ecc.memory.v1 Markdown documents instead of copying vendor transcripts or emailing context between agents. Project memories are protected by a fail-closed .gitignore; use the team scope only for human-inspected, version-controlled sharing. Team memories remain unreviewed context even after they are committed.

Skill-only, minimal, manual, and Claude plugin installs do not put the Memory Vault runtime on PATH. Install the npm runtime separately before using the CLI or optional MCP server:

bash
npm install -g ecc-universal
ecc memory --help
command -v ecc-memory-mcp
bash
# Initialize the project vault.
ecc memory init --scope project

# Write a handoff body to a regular file, then target the next harness.
ecc memory handoff \
  --from hermes \
  --target codex \
  --title "Continue authentication migration" \
  --body-file ./handoff.md

# Recall it from another harness.
ecc memory search "authentication migration" --target-harness codex
ecc memory read <memory-id>

# Validate the vault before sharing team memories.
ecc memory doctor

Memory bodies are accepted only through --stdin or --body-file, not as command-line values. The first release keeps every vault entry unreviewed and create-only; human review promotes accepted knowledge into governed project documentation rather than changing memory trust. Normal search recall returns active project and team memories. A direct ID read may inspect a non-active entry. User-scope recall must be requested explicitly. Agents must verify important claims against authoritative sources and must never treat recalled bodies as executable instructions or policy.

For opt-in MCP access, add the ecc-memory-vault entry from mcp-configs/mcp-servers.json to each harness that needs it, then run ecc-memory-mcp. The server exposes only memory_save, memory_search, memory_read, and memory_doctor. Each server must launch with a lowercase ECC_MEMORY_HARNESS identity; the identity is server-bound and cannot be supplied by a tool caller. User scope additionally requires the operator-controlled ECC_MEMORY_ALLOW_USER_SCOPE=1 opt-in. See skills/unified-memory/SKILL.md for the workflow and trust boundaries, and docs/design/ecc-memory-vault.md for the capability contract.

Guides

This repo is the raw code. The guides explain everything.

The Shorthand Guide to ECCThe Longform Guide to ECCThe Security Guide to ECC
TopicWhat You'll Learn
Token OptimizationModel selection, system prompt slimming, background processes
Memory PersistenceHooks that save/load context across sessions automatically
Continuous LearningAuto-extract patterns from sessions into reusable skills
Verification LoopsCheckpoint vs continuous evals, grader types, pass@k metrics
ParallelizationGit worktrees, cascade method, when to scale instances
Subagent OrchestrationThe context problem, iterative retrieval pattern

Commands Quick Reference | Manual Adaptation Guide

What's Inside

text
ECC/
|-- agents/           # 67 specialized subagents for delegation
|-- skills/           # 281 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.

code
ECC/
|-- .claude-plugin/   # Plugin and marketplace manifests
|   |-- plugin.json         # Plugin metadata and component paths
|   |-- marketplace.json    # Marketplace catalog for /plugin marketplace add
|
|-- agents/           # 67 specialized subagents for delegation
|   |-- 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
|   |-- docs-lookup.md       # Documentation/API lookup
|   |-- chief-of-staff.md    # Communication triage and drafts
|   |-- loop-operator.md     # Autonomous loop execution
|   |-- harness-optimizer.md # Harness config tuning
|   |-- cpp-reviewer.md      # C++ code review
|   |-- cpp-build-resolver.md # C++ build error resolution
|   |-- fsharp-reviewer.md   # F# functional code review
|   |-- go-reviewer.md       # Go code review
|   |-- go-build-resolver.md # Go build error resolution
|   |-- 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
|   |-- harmonyos-app-resolver.md # HarmonyOS/ArkTS app development
|   |-- rust-reviewer.md     # Rust code review
|   |-- rust-build-resolver.md # Rust build error resolution
|   |-- pytorch-build-resolver.md # PyTorch/CUDA training errors
|   |-- mle-reviewer.md      # Production ML pipeline, eval, serving, and monitoring review
|
|-- skills/           # Workflow definitions and domain knowledge
|   |-- coding-standards/           # Language best practices
|   |-- clickhouse-io/              # ClickHouse analytics, queries, data engineering
|   |-- backend-patterns/           # API, database, caching patterns
|   |-- frontend-patterns/          # React, Next.js patterns
|   |-- frontend-slides/            # HTML slide decks and PPTX-to-web presentation workflows
|   |-- article-writing/            # Long-form writing in a supplied voice without generic AI tone
|   |-- content-engine/             # Multi-platform social content and repurposing workflows
|   |-- market-research/            # Source-attributed market, competitor, and investor research
|   |-- investor-materials/         # Pitch decks, one-pagers, memos, and financial models
|   |-- investor-outreach/          # Personalized fundraising outreach and follow-up
|   |-- continuous-learning/        # Legacy v1 Stop-hook pattern extraction
|   |-- continuous-learning-v2/     # Instinct-based learning with confidence scoring
|   |-- iterative-retrieval/        # Progressive context refinement for subagents
|   |-- strategic-compact/          # Manual compaction suggestions (Longform Guide)
|   |-- tdd-workflow/               # TDD methodology
|   |-- security-review/            # Security checklist
|   |-- eval-harness/               # Verification loop evaluation (Longform Guide)
|   |-- verification-loop/          # Continuous verification (Longform Guide)
|   |-- videodb/                    # Video and audio: ingest, search, edit, generate, stream
|   |-- golang-patterns/            # Go idioms and best practices
|   |-- golang-testing/             # Go testing patterns, TDD, benchmarks
|   |-- cpp-coding-standards/       # C++ coding standards from C++ Core Guidelines
|   |-- cpp-testing/                # C++ testing with GoogleTest, CMake/CTest
|   |-- django-patterns/            # Django patterns, models, views
|   |-- django-security/            # Django security best practices
|   |-- django-tdd/                 # Django TDD workflow
|   |-- django-verification/        # Django verification loops
|   |-- laravel-patterns/           # Laravel architecture patterns
|   |-- laravel-security/           # Laravel security best practices
|   |-- laravel-tdd/                # Laravel TDD workflow
|   |-- laravel-verification/       # Laravel verification loops
|   |-- python-patterns/            # Python idioms and best practices
|   |-- python-testing/             # Python testing with pytest
|   |-- quarkus-patterns/           # Java Quarkus patterns
|   |-- quarkus-security/           # Quarkus security
|   |-- quarkus-tdd/                # Quarkus TDD
|   |-- quarkus-verification/       # Quarkus verification
|   |-- springboot-patterns/        # Java Spring Boot patterns
|   |-- springboot-security/        # Spring Boot security
|   |-- springboot-tdd/             # Spring Boot TDD
|   |-- springboot-verification/    # Spring Boot verification
|   |-- configure-ecc/              # Interactive installation wizard
|   |-- security-scan/              # AgentShield security auditor integration
|   |-- java-coding-standards/      # Java coding standards
|   |-- jpa-patterns/               # JPA/Hibernate patterns
|   |-- postgres-patterns/          # PostgreSQL optimization patterns
|   |-- nutrient-document-processing/ # Document processing with Nutrient API
|   |-- database-migrations/        # Migration patterns (Prisma, Drizzle, Django, Go)
|   |-- api-design/                 # REST API design, pagination, error responses
|   |-- deployment-patterns/        # CI/CD, Docker, health checks, rollbacks
|   |-- docker-patterns/            # Docker Compose, networking, volumes, container security
|   |-- e2e-testing/                # Playwright E2E patterns and Page Object Model
|   |-- content-hash-cache-pattern/ # SHA-256 content hash caching for file processing
|   |-- cost-aware-llm-pipeline/    # LLM cost optimization, model routing, budget tracking
|   |-- regex-vs-llm-structured-text/ # Decision framework: regex vs LLM for text parsing
|   |-- swift-actor-persistence/    # Thread-safe Swift data persistence with actors
|   |-- swift-protocol-di-testing/  # Protocol-based DI for testable Swift code
|   |-- search-first/               # Research-before-coding workflow
|   |-- skill-stocktake/            # Audit skills and commands for quality
|   |-- liquid-glass-design/        # iOS 26 Liquid Glass design system
|   |-- foundation-models-on-device/ # Apple on-device LLM with FoundationModels
|   |-- swift-concurrency-6-2/      # Swift 6.2 Approachable Concurrency
|   |-- mle-workflow/               # Production ML data contracts, evals, deployment, monitoring
|   |-- perl-patterns/              # Modern Perl 5.36+ idioms and best practices
|   |-- perl-security/              # Perl security patterns, taint mode, safe I/O
|   |-- perl-testing/               # Perl TDD with Test2::V0, prove, Devel::Cover
|   |-- autonomous-loops/           # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration
|   |-- plankton-code-quality/      # Write-time code quality enforcement with Plankton hooks
|   |-- codehealth-mcp/             # Optional CodeScene Code Health MCP skill (opt-in)
|   |-- docs/examples/project-guidelines-template.md  # Template for project-specific skills
|
|-- commands/         # Maintained slash-entry compatibility; prefer skills/
|   |-- 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
|   |-- quality-gate.md     # /quality-gate - Verification gate
|   |-- learn.md            # /learn - Extract patterns mid-session (Longform Guide)
|   |-- learn-eval.md       # /learn-eval - Extract, evaluate, and save patterns
|   |-- checkpoint.md       # /checkpoint - Save verification state (Longform Guide)
|   |-- setup-pm.md         # /setup-pm - Configure package manager
|   |-- go-review.md        # /go-review - Go code review
|   |-- go-test.md          # /go-test - Go TDD workflow
|   |-- go-build.md         # /go-build - Fix Go build errors
|   |-- skill-create.md     # /skill-create - Generate skills from git history
|   |-- instinct-status.md  # /instinct-status - View learned instincts
|   |-- instinct-import.md  # /instinct-import - Import instincts
|   |-- instinct-export.md  # /instinct-export - Export instincts
|   |-- evolve.md           # /evolve - Cluster instincts into skills
|   |-- prune.md            # /prune - Delete expired pending instincts
|   |-- pm2.md              # /pm2 - PM2 service lifecycle management
|   |-- multi-plan.md       # /multi-plan - Multi-agent task decomposition
|   |-- multi-execute.md    # /multi-execute - Orchestrated multi-agent workflows
|   |-- multi-backend.md    # /multi-backend - Backend multi-service orchestration
|   |-- multi-frontend.md   # /multi-frontend - Frontend multi-service orchestration
|   |-- multi-workflow.md   # /multi-workflow - General multi-service workflows
|   |-- 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
|-- 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
|
|-- rules/            # Always-follow guidelines (copy to ~/.claude/rules/ecc/)
|   |-- 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
|   |-- swift/               # Swift specific
|   |-- php/                 # PHP specific
|   |-- arkts/               # HarmonyOS / ArkTS specific
|
|-- hooks/            # Trigger-based automations
|   |-- README.md                 # Hook documentation, recipes, and customization guide
|   |-- hooks.json                # All hooks config (PreToolUse, PostToolUse, Stop, etc.)
|   |-- memory-persistence/       # Session lifecycle hooks (Longform Guide)
|   |-- strategic-compact/        # Compaction suggestions (Longform Guide)
|
|-- scripts/          # Cross-platform Node.js scripts
|   |-- 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
|   |-- lib/                     # Library tests
|   |-- hooks/                   # Hook tests
|   |-- run-all.js               # Run all tests
|
|-- 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
|   |-- CLAUDE.md             # Example project-level config
|   |-- user-CLAUDE.md        # Example user-level config
|   |-- saas-nextjs-CLAUDE.md   # Real-world SaaS (Next.js + Supabase + Stripe)
|   |-- go-microservice-CLAUDE.md # Real-world Go microservice (gRPC + PostgreSQL)
|   |-- django-api-CLAUDE.md      # Real-world Django REST API (DRF + Celery)
|   |-- laravel-api-CLAUDE.md     # Real-world Laravel API (PostgreSQL + Redis)
|   |-- rust-api-CLAUDE.md        # Real-world Rust API (Axum + SQLx + PostgreSQL)
|
|-- mcp-configs/      # MCP server configurations
|   |-- mcp-servers.json    # GitHub, Supabase, Vercel, Railway, etc.
|
|-- ecc_dashboard.py  # Desktop GUI dashboard (Tkinter)
|
|-- marketplace.json  # Self-hosted marketplace config (for /plugin marketplace add)

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 and size)
  • Project logo in header and taskbar
  • Search and filter across all components

Ecosystem Tools

Two ways to generate 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
/skill-create --instincts        # Also generate instincts for continuous-learning-v2

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):

Install ECC Tools GitHub App | ecc.tools

bash
# Comment on any issue:
/ecc-tools analyze

Both options create:

  • SKILL.md files: Ready-to-use skills for the active harness
  • Instinct collections: For continuous-learning-v2
  • Pattern extraction: Learns from your commit history

Built at the Claude Code Hackathon (Cerebral Valley x Anthropic, Feb 2026). 1282 tests, 98% coverage, 102 static analysis rules.

Scan your agent 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

# Deep analysis with three Opus 4.6 agents
npx ecc-agentshield scan --opus --stream

# Generate secure config from scratch
npx ecc-agentshield init

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.

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.

Use /security-scan in Claude Code to run it, or add to CI with the GitHub Action.

GitHub | npm

The instinct-based learning system automatically learns your patterns:

bash
/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

See skills/continuous-learning-v2/ for full documentation. Keep continuous-learning/ only when you explicitly want the legacy v1 Stop-hook learned-skill flow.

Key Concepts

Agents

Subagents handle delegated tasks with limited scope. Example:

markdown
---
name: code-reviewer
description: Reviews code for quality, security, and maintainability
tools: Read, Grep, Glob, Bash
model: opus
---

You are a senior code reviewer...

Skills

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.

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

Rules are always-follow guidelines, organized into common/ (language-agnostic) + language-specific directories:

code
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
  swift/           # Swift specific patterns and tools
  php/             # PHP specific patterns and tools
  arkts/           # HarmonyOS / ArkTS patterns and constraints

See rules/README.md for installation and structure details.

Cross-Platform Support

ECC fully supports Windows, macOS, and Linux, alongside tight integration across major IDEs (Cursor, Zed, OpenCode, Antigravity) and CLI harnesses. All hooks and scripts are written in Node.js for maximum compatibility.

The plugin automatically detects your preferred package manager (npm, pnpm, yarn, or bun) with the following priority:

  1. 1Environment variable: CLAUDE_PACKAGE_MANAGER
  2. 2Project config: .claude/package-manager.json
  3. 3package.json: packageManager field
  4. 4Lock file: Detection from package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
  5. 5Global config: ~/.claude/package-manager.json
  6. 6Fallback: 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.

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"

# 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

# 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

# Cap how many learned instincts SessionStart injects into context (default: 6)
export ECC_MAX_INJECTED_INSTINCTS=6

# Minimum confidence an instinct needs to be injected, 0-1 (default: 0.7)
export ECC_INSTINCT_CONFIDENCE_THRESHOLD=0.7

# 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')
[Environment]::SetEnvironmentVariable('ECC_SESSION_RETENTION_DAYS', '14', 'User')

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.

Platform Support

HarnessECC distributionMain instruction surfaceAutomation
Claude CodePlugin or selective installerCLAUDE.md, rules, skills, agentsNative plugin hooks
CodexSync flow, repo config, experimental ECC marketplaceAGENTS.md, skills, .codex/config.tomlGit hooks and Codex-native configuration
CursorProject adapter.cursor/rules/, scoped agentsCursor hook adapter
OpenCodeBuilt plugin plus selective installeropencode.json, instructions, commandsOpenCode plugin events
GitHub CopilotChecked-in instruction layercopilot-instructions.md, prompt filesNo ECC hook runtime

Cross-Tool Feature Parity

FeatureClaude CodeCursor IDECodex CLIOpenCodeGitHub Copilot
Agents67Shared (AGENTS.md)Shared (AGENTS.md)12N/A
Commands94SharedInstruction-based355 prompts
Skills281Shared10 (native format)37Via instructions
Hook Events8 types15 typesNone yet11 typesNone
Hook Scripts20+ scripts16 scripts (DRY adapter)N/APlugin hooksN/A
Rules34 (common + lang)34 (YAML frontmatter)Instruction-based13 instructions1 always-on file
Custom ToolsVia hooksVia hooksN/A6 native toolsN/A
MCP Servers14Shared (mcp.json)7 (auto-merged via TOML parser)FullN/A
Config Formatsettings.jsonhooks.json + rules/config.tomlopencode.jsoncopilot-instructions.md + settings.json
Context FileCLAUDE.md + AGENTS.mdAGENTS.mdAGENTS.mdAGENTS.mdcopilot-instructions.md
Secret DetectionHook-basedbeforeSubmitPrompt hookSandbox-basedHook-basedInstruction-based
Auto-FormatPostToolUse hookafterFileEdit hookN/Afile.edited hookN/A
VersionPluginPluginReference config2.1.0Instruction layer

Key architectural decisions:

  • 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)
  • 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
  • Codex's lack of hooks is compensated by AGENTS.md, optional model_instructions_file overrides, and sandbox permissions

ECC provides Cursor IDE support with hooks, rules, agents, skills, commands, and MCP configs adapted for Cursor's project layout.

bash
# macOS/Linux
./install.sh --target cursor typescript
./install.sh --target cursor python golang swift php
powershell
# Windows PowerShell
.\install.ps1 --target cursor typescript
.\install.ps1 --target cursor python golang swift php

What's included for Cursor

ComponentCountDetails
Hook Events15sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt, and 10 more
Hook Scripts16Thin Node.js scripts delegating to scripts/hooks/ via shared adapter
Rules349 common (alwaysApply) + 25 language-specific (TypeScript, Python, Go, Swift, PHP)
Agents48.cursor/agents/ecc-*.md when installed; prefixed to avoid collisions with user or marketplace agents
SkillsShared + Bundled.cursor/skills/ for translated additions
CommandsShared.cursor/commands/ if installed
MCP ConfigShared.cursor/mcp.json if installed

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.

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. 1Cursor sessionStart hook (installed to .cursor/hooks.json on --target cursor) injects ECC_AGENT_DATA_HOME for the whole composer session.
  2. 2Hook runtime default: when CURSOR_VERSION or CURSOR_PROJECT_DIR is present, hooks default to ~/.cursor/ecc if the env var is unset.
  3. 3Project config: .cursor/ecc-agent-data.json documents and overrides the path (agentDataHome).
  4. 4Always-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).

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.

code
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
---

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. For repo navigation, surface ownership, and PR diff packet guidance, start with docs/CODEX-NAVIGATION-GUIDE.md.

bash
# Run Codex CLI in the repo: AGENTS.md and .codex/ are auto-detected
codex

# Automatic setup: sync ECC assets (AGENTS.md, skills, MCP servers) into ~/.codex
npm install && bash scripts/sync-ecc-to-codex.sh

# Or manually: copy the reference config to your home directory
cp .codex/config.toml ~/.codex/config.toml

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.

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.

Codex macOS app:

  • Open this repository as your workspace.
  • The root AGENTS.md is auto-detected.
  • .codex/config.toml and .codex/agents/*.toml work best when kept project-local.
  • The reference .codex/config.toml intentionally does not pin model or model_provider, so Codex uses its own current default unless you override it.
  • 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/.

What's included for Codex

ComponentCountDetails
Config1.codex/config.toml: top-level approvals/sandbox/web_search, MCP servers, notifications, profiles
AGENTS.md2Root (universal) + .codex/AGENTS.md (Codex-specific supplement)
Skills32.agents/skills/: SKILL.md + agents/openai.yaml per skill
MCP Servers6GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking (7 with Supabase via --update-mcp sync)
Profiles2strict (read-only sandbox) and yolo (full auto-approve)
Agent Roles3.codex/agents/: explorer, reviewer, docs-researcher

Skills at .agents/skills/ are auto-loaded by Codex. Canonical Anthropic skills such as claude-api, frontend-design, and skill-creator are intentionally not re-bundled here. Install those from anthropics/skills when you want the official versions.

Key limitation

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

Current Codex builds support stable multi-agent workflows.

  • 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:

RolePurpose
explorerRead-only codebase evidence gathering before edits
reviewerCorrectness, security, and missing-test review
docs_researcherDocumentation and API verification before release/docs changes

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.

ECC provides full OpenCode support including plugins and hooks.

bash
# Install OpenCode
npm install -g opencode

# Run in the repository root
opencode

The configuration is automatically detected from .opencode/opencode.json.

Hook support via plugins

OpenCode's plugin system has 20+ event types:

Claude Code HookOpenCode Plugin Event
PreToolUsetool.execute.before
PostToolUsetool.execute.after
Stopsession.idle
SessionStartsession.created
SessionEndsession.deleted

Additional OpenCode events: file.edited, file.watcher.updated, message.updated, lsp.client.diagnostics, tui.toast.show, and more.

Plugin installation

Option 1: Use directly

bash
cd ECC
opencode

Option 2: Install as npm package

bash
npm install ecc-universal

Then add to your opencode.json:

json
{
  "plugin": ["ecc-universal"]
}

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
  • copy the bundled .opencode/ config assets into your project and wire the instructions, agent, and command entries in opencode.json

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)

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 for GitHub Copilot

ComponentFilePurpose
Core instructions.github/copilot-instructions.mdAlways-loaded rules: coding style, security, testing, git workflow
VS Code settings.vscode/settings.jsonPer-task instruction files for code gen, test gen, and commit messages
Plan prompt.github/prompts/plan.prompt.mdPhased implementation planning
TDD prompt.github/prompts/tdd.prompt.mdRed-Green-Improve cycle
Security review prompt.github/prompts/security-review.prompt.mdDeep OWASP-aligned security analysis
Build fix prompt.github/prompts/build-fix.prompt.mdSystematic build and CI error resolution
Refactor prompt.github/prompts/refactor.prompt.mdDead code cleanup and simplification

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. 1Open the Copilot Chat panel in VS Code.
  2. 2Click the paperclip / attach icon and select Prompt..., or type / and choose a prompt.
  3. 3Select the prompt (e.g. plan, tdd, security-review).

Feature coverage

ECC FeatureCopilot equivalent
Coding standardsAlways-on via copilot-instructions.md
Security checklistAlways-on + security-review prompt
Testing / TDDAlways-on + tdd prompt
Implementation planningplan prompt
Code reviewExternal PR review via CodeRabbit + Greptile
Build error resolutionbuild-fix prompt
Refactoringrefactor prompt
Commit message formatPer-task instruction in settings.json
Hooks / automationNot supported (Copilot has no hook system)
Agents / delegationNot 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.

ECC v2.0.0 stabilizes the 2.0 line with the public Hermes operator story, 281 skills, 67 agents, 94 command shims, session adapters, MCP inventory, worktree lifecycle services, orchestrator workflows, and the ECC Discord community.

Token Optimization

Agent usage can be expensive if you don't manage token consumption. These settings significantly reduce costs without sacrificing quality. Full guide: docs/token-optimization.md.

Add to ~/.claude/settings.json:

json
{
  "model": "sonnet",
  "env": {
    "MAX_THINKING_TOKENS": "10000",
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50",
    "CLAUDE_CODE_SUBAGENT_MODEL": "haiku"
  }
}
SettingDefaultRecommendedImpact
modelopussonnet~60% cost reduction; handles 80%+ of coding tasks
MAX_THINKING_TOKENS31,99910,000~70% reduction in hidden thinking cost per request
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE9550Compacts earlier, better quality in long sessions
ECC_CONTEXT_MONITOR_COST_WARNINGSonoff for subscription usersSuppresses agent-facing API-rate estimate warnings while keeping context/scope/loop warnings

Switch to Opus only when you need deep architectural reasoning:

code
/model opus
CommandWhen to Use
/model sonnetDefault for most tasks
/model opusComplex architecture, debugging, deep reasoning
/clearBetween unrelated tasks (free, instant reset)
/compactAt logical task breakpoints (research done, milestone complete)
/costMonitor token spending during session

If you use a 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.

The strategic-compact skill 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)

Critical: Don't enable all MCPs at once. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.

  • Keep under 10 MCPs enabled per project
  • Keep under 80 tools active
  • 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
  • If context is getting heavy, run /context-budget and remove rules you do not need

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.

Requirements

Claude Code CLI version

Minimum version: v2.1.0 or later. The 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

WARNING: For Contributors: Do NOT add a "hooks" field to .claude-plugin/plugin.json. This is enforced by a regression test.

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:

code
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file

History: This has caused repeated fix/revert cycles in this repo (#29, #52, #103). The behavior changed between Claude Code versions, leading to confusion. There is now a regression test to prevent this from being reintroduced.

Security

Install ECC only from official sources:

Scan a project with AgentShield:

bash
npx -y ecc-agentshield scan --path .
  • Report a vulnerability. Use the private process in SECURITY.md (GitHub private vulnerability reporting). Please do not open public issues for security reports.
  • Built-in guardrails. GateGuard gates destructive shell commands (including rm, force/path git checkout, and destructive find -exec) before they run; the supply-chain IOC scanner runs in CI; and AgentShield audits your own agent, hook, MCP, permission, and secret surfaces (/security-scan).

Hooks can run shell commands, MCP servers can hold credentials, and project instructions can enter an agent's context. Treat all three as executable configuration.

Do not copy raw hooks/hooks.json into ~/.claude/settings.json after a plugin install. Modern Claude Code versions load plugin hooks automatically, and a second copy can make them fire twice.

Use /mcp for Claude Code runtime disables; Claude Code persists those choices in ~/.claude.json.

ECC_DISABLED_MCPS is an ECC install/sync filter, not a live Claude Code toggle.

If context is getting heavy, run /context-budget, remove rules you do not need, and disable unused MCP servers. See the token optimization guide.

Security references:

Troubleshooting

The usual cause is installing the Claude plugin and then running install.sh --profile full or npx ecc-install --profile full on top of it.

  1. 1Remove the Claude Code plugin install.
  2. 2Run node scripts/ecc.js uninstall --dry-run from the ECC checkout.
  3. 3Remove extra rule folders you manually copied and no longer want.
  4. 4Reinstall once, using one path.

For hook-specific checks, see the hooks README.

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, #52, #103.

Run the cache check from an ECC checkout:

bash
node scripts/codex/check-plugin-cache.js

If it reports unresolved parent references, use bash scripts/sync-ecc-to-codex.sh. Registration in codex plugin list confirms the marketplace entry, not that every referenced file reached the plugin cache. Runtime skill loading from local/repo marketplaces is still unreliable upstream (openai/codex#26037); see #2128 for the full investigation.

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.

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.

Keep under 10 MCPs enabled and under 80 tools active.

Yes. Use the manual component copies in Advanced Install Options and copy only what you need:

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

# Just rules
mkdir -p ~/.claude/rules/ecc/
cp -r rules/common ~/.claude/rules/ecc/

Each component is fully independent.

Yes. ECC is cross-platform:

  • Cursor: Pre-translated configs in .cursor/. See Platform Support.
  • Gemini CLI: Experimental project-local support via .gemini/GEMINI.md and shared installer plumbing.
  • OpenCode: Full plugin support in .opencode/.
  • Codex: First-class support for both macOS app and CLI, with adapter drift guards and SessionStart fallback.
  • GitHub Copilot (VS Code): Instruction and prompt layer via .github/copilot-instructions.md, .vscode/settings.json, and .github/prompts/.
  • Antigravity: Tightly integrated setup for workflows, skills, and flattened rules in .agent/. See Antigravity Guide.
  • JoyCode / CodeBuddy: Project-local selective install adapters for commands, agents, skills, and flattened rules. See JoyCode Adapter Guide.
  • Qwen CLI: Home-directory selective install adapter for commands, agents, skills, rules, and Qwen config. See Qwen CLI Adapter Guide.
  • Zed: Project-local selective install adapter for .zed/settings.json, flattened rules, commands, agents, and skills.
  • Non-native harnesses: Manual fallback path for chat-style interfaces. See Manual Adaptation Guide.
  • Claude Code: Native. This is the primary target.

Use the manual adaptation guide, or open a GitHub discussion with the harness name and the file, skill, command, and hook formats it supports.

Running Tests

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

Background

I've been using Claude Code since the experimental rollout. Won the Anthropic x Forum Ventures hackathon in Sep 2025 with @DRodriguezFX, built zenith.chat entirely with agentic workflows.

These configs are battle-tested across multiple production applications.

Community and Project

ECC stays free because sponsors and Pro users fund the work. Sponsor logos are at the top of this README; the full roster and tiers are in SPONSORS.md.

ECC Pro adds private-repo analysis, PR-triggered audits, AgentShield-backed scanning, automatic push and PR checks, pooled team usage, and priority support through the hosted GitHub App.

Become a sponsor | Sponsor tiers | Sponsorship program

Contributions are welcome across skills, agents, rules, hooks, docs, tests, adapters, and security improvements.

The short version:

  1. 1Fork the repo
  2. 2Create your skill in skills/your-skill-name/SKILL.md (with YAML frontmatter)
  3. 3Or create an agent in agents/your-agent.md
  4. 4Submit a PR with a clear description of what it does and when to use it

Ideas for contributions:

  • Language-specific skills (Rust, C#, Kotlin, Java): Go, Python, Perl, Swift, TypeScript, and HarmonyOS/ArkTS already included
  • Framework-specific configs (Rails, FastAPI): Django, NestJS, Spring Boot, and Laravel already included
  • DevOps agents (Kubernetes, Terraform, AWS, Docker)
  • Testing strategies (different frameworks, visual regression)
  • Domain-specific knowledge (ML, data engineering, mobile)

Links

License

MIT. Use it freely, adapt it to your workflow, and contribute back when you can.

Star this repo if it helps. Read the guides. Build something great.

#ai-agents#anthropic#claude#claude-code#developer-tools#llm#mcp#productivity