← 返回全部文章

Everything Claude Code:把AI编程升级成工程

ECC 把规则、技能、专用 Agent、Hook、验证和安全检查装进同一套 AI 编程工作流。详细讲清 Claude Code 安装、日常用法,以及 Codex、Cursor、OpenCode 等工具的适配边界。

很多人使用 AI 编程,还停留在“发一句需求,复制一段代码,报错后继续追问”。模型能力很强,工作过程却没有计划、测试、审查和安全边界。换一个项目,之前踩过的坑又从头再来。

ECC,全名 Everything Claude Code,处理的正是这层问题。它把规则、技能、专用 Agent 、 Hook 、 MCP 、会话记忆和质量检查整理成一套可复用的 AI 编程工作系统。

弄懂这套体系,确实会领先大多数只会临时写提示词的人。领先的地方很具体:知道什么信息该长期保存,什么任务该交给专用 Agent,什么时候写测试,怎样限制工具权限,最后用什么证据判断任务已经完成。

先说清楚“黑客松获胜者”

ECC 由 Affaan Mustafa 创建并主导维护。项目 README 自述,他与 David Rodriguez 使用 Claude Code 构建 Zenith,并赢得了 2025 年 9 月的 Anthropic × Forum Ventures 黑客松。

获奖项目是 Zenith 。 ECC 仓库创建于 2026 年 1 月,时间更晚。当前可访问资料里没有找到 Anthropic 或 Forum Ventures 发布的完整获奖名单,因此更准确的说法是:ECC 来自一位自述曾赢得 Anthropic 合作黑客松的开发者,不能写成 ECC 本身获得了 Anthropic 冠军或官方认证。

截至核验时,ECC 已有约 22.9 万 Star,版本为 2.0.0,采用 MIT License 。仓库当前列出:

  • 67 个专用 Agent;
  • 278 个 Skills;
  • 94 个兼容旧工作流的命令入口;
  • Rules 、 Hooks 、 MCP 配置和跨工具适配;
  • Claude Code 、 Codex 、 Cursor 、 OpenCode 、 Gemini 、 Zed 、 Copilot 等支持层。

数量会继续变化,重要的是这些目录各自解决什么问题。

ECC 到底是什么

ECC 早期更像一套 Claude Code 配置集合。 2.0 版本开始把自己定义成 Agent Harness Operating System,也就是 AI 编程工具的工作系统。

仓库的参考架构分成五层:

第一层:操作入口

包括 CLI 、插件、 TUI 、状态栏、发布检查和 PR 检查。人从这里发起任务、看进度、审批计划。

第二层:工具适配

Claude Code 、 Codex 、 Cursor 、 OpenCode 、 Gemini 和 Zed 的配置格式、 Hook 能力、会话目录各不相同。 ECC 为这些工具准备适配文件,尽量复用同一批规则和技能。

第三层:任务运行

这一层管理 Git Worktree 、终端窗格、会话、待办、检查项、合并冲突、任务队列和交接记录。复杂任务可以分给多个 Agent,各自在隔离分支工作。

第四层:观察与评估

ECC 会保存 JSONL 轨迹、状态快照、风险记录和评估结果。工作流可以根据失败案例改进,但新的经验要经过验证后才能升级成长期规则。

第五层:安全与治理

包括 AgentShield 、安全策略、权限检查、 SARIF 、发布门禁和企业报告。 AI 能执行 Shell 、读取文件、调用 MCP 后,权限和输入污染都要纳入检查。

五种配置,别再混着用

Rules:长期遵守的规矩

Rules 会持续进入工具上下文,适合放团队长期约束:编码风格、测试要求、安全检查、 Git 流程、语言和框架规范。

常用目录包括:

rules/common
rules/typescript
rules/python
rules/golang
rules/swift
rules/php
rules/arkts

common 放通用规则,再按项目选择一套语言规则即可。把所有语言和框架规则全部塞进去,会占用上下文,还可能出现互相冲突的要求。

Skills:可重复调用的做事方法

Skill 是当前的主工作入口。它把一个任务的触发条件、步骤、工具、检查项和失败处理写进 SKILL.md

ECC 内置的高频 Skill 包括:

  • tdd-workflow:先写失败测试,再实现和重构;
  • verification-loop:构建、测试、 Lint 、类型检查和安全检查;
  • security-review:按安全清单审查改动;
  • strategic-compact:在合适的节点压缩上下文;
  • search-first:动手前先检索现有实现和文档;
  • plan-canvas:把执行计划放到可视化界面里审阅。

Agents:把任务交给专门角色

Agent 拿到有限的任务和工具,不需要让主会话独自完成所有工作。常用角色有 planner 、 architect 、 code-reviewer 、 security-reviewer 、 build-error-resolver 、 e2e-runner 、 database-reviewer 和多种语言审查角色。

合理的分工是:planner 先拆任务,主 Agent 负责实现,code-reviewer 检查改动,security-reviewer 处理高风险部分。每个 Agent 都会消耗独立上下文和 Token,简单任务不适合开一整队。

Hooks:在事件发生时自动检查

Hook 可以在读文件、执行 Shell 、编辑代码、结束会话等节点触发。常见用途包括:

  • 在提示词中发现疑似密钥时报警;
  • 编辑 TypeScript 后自动格式化并运行类型检查;
  • 阻止危险 Shell 命令;
  • 保存会话摘要和待办;
  • 在上下文快满时提醒压缩。

Hook 会直接影响日常操作。刚开始使用 ECC 时,如果觉得全局 Hook 太重,优先选择无 Hook 的 minimal 配置。

Commands:旧工作流的兼容入口

ECC 正在把主流程迁移到 Skills,commands/ 主要承担旧斜杠命令的兼容。新工作流优先找 Skill,旧教程中的 /tdd/eval 等短命令可能已经进入 legacy-command-shims/

同样适用其他 AI,但能力不会完全一致

ECC 最有价值的部分并不依赖某一个模型:

  • AGENTS.md 定义项目协作方式;
  • SKILL.md 保存可复用流程;
  • Rules 保存编码、安全和测试约束;
  • Plan 、 TDD 、 Review 、 Verify 的顺序可以迁移;
  • MCP 、沙箱和权限配置都属于 Harness 层能力。

跨工具迁移时,能力会打折或换一种实现。

Claude Code 是 ECC 的主要目标,插件、 Skills 、 Agents 和 Hooks 支持最完整。

Codex 能读取 AGENTS.md、 Skills 和多 Agent 角色,当前缺少 Claude 风格的 Hook 对等能力,主要依靠指令、沙箱和审批设置约束执行。仓库也提醒,Codex 插件市场路径仍不稳定,推荐使用同步脚本。

Cursor 有专用 Rules 、 Agents 和 Hook 适配器。 OpenCode 有自己的插件与事件系统。 Gemini 目前属于实验性项目级支持。 GitHub Copilot 可以读取仓库指令和 Prompt 文件,但没有同等的 Hook 系统和子 Agent API 。

所以“同样适用其他 AI”指方法、规则和部分配置可以迁移,不能理解成每个平台都拥有 67 个 Agent 、完整 Hook 和同样的自动化效果。

使用教程:先备份,再选一条安装路线

ECC 安装最常见的问题是叠加两种路线:先装插件,又运行 full 安装器,结果同一个 Skill 或 Hook 被加载两次。

第一步:检查环境

Claude Code 插件要求:

Claude Code CLI 2.1.0 或更高
Node.js 18 或更高
Git

检查版本:

claude --version
node --version
git --version

第二步:备份现有配置

macOS 或 Linux:

cp -a ~/.claude ~/.claude.backup.$(date +%Y%m%d-%H%M%S)

Windows PowerShell:

$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
Copy-Item -Recurse -Force "$HOME\.claude" "$HOME\.claude.backup.$stamp"

如果目录还不存在,可以跳过备份。

第三步:推荐路线,安装 Claude Code 插件

在 Claude Code 里执行:

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

插件会加载 Skills 、 Agents 、 Commands 和 Hooks 。 Claude Code 插件目前不能自动分发 Rules,所以语言规则需要单独复制。

先克隆仓库:

git clone https://github.com/affaan-m/ECC.git
cd ECC
npm install

复制通用规则,再选当前项目使用的语言。以 TypeScript 为例:

mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/

Python 项目把第二条改成:

cp -R rules/python ~/.claude/rules/ecc/

规则也可以放在当前项目里,只影响这个仓库:

mkdir -p .claude/rules/ecc
cp -R rules/common .claude/rules/ecc/
cp -R rules/typescript .claude/rules/ecc/

装完后检查:

/plugin list ecc@ecc

插件路线到这里就结束了。不要继续执行 install.sh --profile full

第四步:跑通第一个开发任务

先选一个小功能,例如“给登录接口增加失败次数限制”。

  1. 让 planner 生成计划:
/ecc:plan "给登录接口增加失败次数限制"
  1. 检查计划涉及的文件、测试和风险,再批准执行。
  2. 调用 tdd-workflow Skill,先写能复现需求的失败测试。
  3. 完成最小实现后运行:
/code-review
/test-coverage
/security-scan
  1. 最后执行项目自己的构建、测试和 Lint 命令。

ECC 的价值要在这条链路里看:计划有文件清单,测试能复现需求,审查能指出风险,安全扫描有报告,最终构建通过。只安装几十个配置文件,不会自动提高代码质量。

Plan Canvas:先审计划,再让 Agent 动手

Plan Canvas 把 Agent 生成的计划放进浏览器界面。可以选中文字加批注、继续对话、要求修改,也可以批准计划后进入执行。

它适合改动范围大的任务,例如数据库迁移、认证重构或跨服务接口调整。人仍然掌握范围和审批权,Agent 负责整理文件、依赖、阶段与验证步骤。

不想装 Hook:使用 minimal 路线

如果只想要 Rules 、 Agents 、 Commands 和核心 Skills,可以跳过插件,使用最小手动配置。先预览:

git clone https://github.com/affaan-m/ECC.git
cd ECC
./install.sh --profile minimal --target claude --dry-run

确认文件计划后安装:

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

Windows PowerShell:

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

也可以用 npm 包入口:

npx ecc-install --profile minimal --target claude --dry-run
npx ecc-install --profile minimal --target claude

minimal 明确排除 hooks-runtime。需要 Hook 时再单独添加:

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

这条路线和插件路线二选一。

先问 ECC 装什么

仓库提供了组件顾问。安全审查场景可以先查询:

npx ecc consult "security reviews" --target claude

机器学习项目:

npx ecc consult "mlops training model deployment" --target claude

查看所有配置档:

node scripts/ecc.js catalog profiles

当前有 minimalcoredevelopersecurityresearchfull 等 Profile 。新手从 minimal 或插件路线起步,比一上来装 full 更容易排错。

Codex 、 Cursor 和 OpenCode 怎么装

Codex

推荐先预览同步:

npm install
bash scripts/sync-ecc-to-codex.sh --dry-run

确认后执行:

bash scripts/sync-ecc-to-codex.sh

脚本会以 add-only 方式合并 MCP,不删除已有服务器。 Codex 插件市场目前仍有上游加载问题,手动同步更稳。

Cursor

TypeScript 项目:

./install.sh --target cursor typescript --dry-run
./install.sh --target cursor typescript

Python 项目:

./install.sh --target cursor python --dry-run
./install.sh --target cursor python

同时使用 Cursor 和 Claude Code 时,建议把 Cursor 会话数据放到独立目录:

export ECC_AGENT_DATA_HOME="$HOME/.cursor/ecc"

OpenCode

直接体验完整仓库配置:

npm install -g opencode
cd ECC
opencode

npm 插件只启用发布包中的事件和工具:

npm install ecc-universal

它不会自动把完整命令、 Agent 和指令目录复制进项目。需要完整配置时,使用仓库里的 .opencode/ 资产或 ECC 安装器。

其他工具

ECC 安装器还列出 geminiqwenzedhermeskimiopenclaw 等目标。统一先用 --dry-run 查看会写入哪些路径:

./install.sh --profile minimal --target gemini --dry-run

Token 和上下文怎么控制

不要一次启用全部 MCP 。每个 MCP 的工具描述都会占用上下文。 ECC 给出的建议是单项目启用少于 10 个 MCP 、活跃工具少于 80 个,并用 /mcp 关闭暂时用不到的服务。

会话起始注入默认最多 8000 字符。小上下文模型或本地模型可以调低:

export ECC_SESSION_START_MAX_CHARS=4000

完全关闭会话起始附加上下文:

export ECC_SESSION_START_CONTEXT=off

无关任务之间用 /clear,研究结束、准备进入实现时再用 /compact。实现到一半压缩,很容易丢掉变量名、文件路径和未完成状态。

仓库还提供 mgrep 基准,展示在一组 50 项任务中减少 Token 的结果。这是特定测试条件下的仓库基准,不能当成所有项目的固定节省比例。

安全配置别照单全收

Agent 可以读仓库、执行 Shell 、调用 MCP,也可能把网页、 Issue 、邮件或文档中的恶意指令带入上下文。 Prompt Injection 进入 Agent 后,工具权限决定了影响范围。

使用 ECC 前建议做三件事:

  • 检查 Hook 脚本和 MCP 包来源;
  • 不把 API Key 、 Token 和 .env 提交到仓库;
  • 高风险命令、发布、删除、数据库迁移保留人工确认。

可以用 AgentShield 扫描配置:

npx ecc-agentshield scan

自动修复安全项前先审查差异:

npx ecc-agentshield scan --fix

任何第三方配置集合都可能过时或与本地环境冲突。 MIT License 允许自由使用和修改,不提供运行效果与安全保证。

出现重复或损坏,先修复再重装

检查已安装资产:

node scripts/ecc.js list-installed
node scripts/ecc.js doctor

预览修复:

node scripts/ecc.js repair --dry-run

手动安装路线要卸载时,先预览:

node scripts/uninstall.js --dry-run

确认后执行:

node scripts/uninstall.js

插件路线先从 Claude Code 移除插件,再删除手动复制到 ~/.claude/rules/ecc/ 的规则。 ECC 只会删除安装状态里记录的受管文件,不会主动清理无关文件。

学会哪几件事,才算用懂 ECC

第一,能区分 Rules 、 Skills 、 Agents 、 Hooks 和 MCP,知道它们分别消耗什么上下文、触发什么权限。

第二,能按项目选择配置。常驻 common 加一套语言规则,需要时再装框架 Skill 和 MCP 。

第三,能跑通“计划、测试、审查、安全、验证”的开发链路,并为每一步留下可检查的结果。

第四,能把 AGENTS.md、 Skills 和项目规则迁移到 Codex 、 Cursor 或 OpenCode,同时接受各工具在 Hook 、子 Agent 和审批接口上的差异。

做到这些,AI 编程就不再靠临时灵感。项目规模变大、会话变长、工具换掉以后,工作方法仍然能继续使用。

来源:https://github.com/affaan-m/ECC/