ECC Conventions 是一个由 affaan-m/ECC 生成的 Claude 技能,用于向 Claude 传授 ECC 项目的开发模式与约定。根据资料,它于 2026-03-20 从仓库生成,主要目的是让 AI 在参与该仓库工作时遵循既有规范。
用途与激活时机 当需要对仓库进行修改、按既有模式添加新功能、编写符合项目约定的测试,或以正确的消息格式创建提交时,应激活该技能。
技术栈与项目结构 主语言为 JavaScript。架构采用混合式模块组织(hybrid module organization),项目结构为单包(Single Package)。测试位置与源码分离。资料列出的配置文件包括 .github/workflows 下的 ci.yml、maintenance.yml、monthly-metrics.yml、release.yml、reusable-release.yml、reusable-test.yml、reusable-validate.yml,以及 .opencode/package.json、.opencode/tsconfig.json、.prettierrc、eslint.config.js、package.json。
提交约定 基于对 500 次提交的分析,项目采用 Conventional Commits 风格,使用 fix、test、feat、docs 等前缀。消息平均长度约 65 个字符,要求首行简洁且具描述性,使用祈使语气(如 “Add feature” 而非 “Added feature”)。资料给出的提交示例包括:feat(rules): add C# language support;chore(deps-dev): bump flatted (#675);fix: auto-detect ECC root from plugin cache when CLAUDE_PLUGIN_ROOT is unset (#547) (#691);docs: add Antigravity setup and usage guide (#552);merge: PR #529 — feat(skills): add documentation-lookup、bun-runtime、nextjs-turbopack;feat(agents): add rust-reviewer;Revert "Add Kiro IDE support (.kiro/) (#548)";Add Kiro IDE support (.kiro/) (#548);feat: add block-no-verify hook for Claude Code and Cursor (#649)。
代码风格 命名约定方面:文件 camelCase、函数 camelCase、类 PascalCase、常量 SCREAMING_SNAKE_CASE。导入风格为相对导入(示例:import { Button } from '../components/Button';import { useAuth } from './hooks/useAuth'),导出风格为混合风格(Mixed Style)。错误处理采用 try-catch 块,资料给出标准模式示例:在 try 中执行 await riskyOperation() 并返回结果,在 catch 中 console.error('Operation failed:', error) 后 throw new Error('User-friendly message')。
测试 资料称未检测到具体测试框架,建议沿用仓库既有测试模式。文件模式为 *.test.js。测试类型包括单元测试(隔离测试单个函数与组件)和集成测试(测试多组件/服务之间的交互)。项目已配置覆盖率报告,目标是 80% 以上。
常见工作流 资料根据提交模式检测出多个工作流,并给出频率、步骤与涉及文件。包括:数据库迁移(约每月 2 次,创建迁移文件、更新 schema 定义、生成/更新类型,涉及 /schema.、migrations/);功能开发(约每月 22 次,实现功能、补充测试、更新文档,涉及 manifests/、schemas/、/.test.、/api/);新增语言规则(约每月 2 次,在 rules/{language}/ 下创建目录并添加 coding-style.md、hooks.md、patterns.md、security.md、testing.md);新增技能(约每月 4 次,在 skills/{skill-name}/ 下创建目录并添加 SKILL.md,可选加入 scripts/ 下的脚本);新增智能体(约每月 2 次,在 agents/{agent-name}.md 创建文件并在 AGENTS.md 注册,可选更新 README.md 与 docs/COMMAND-AGENT-MAP.md);新增工作流入口(约每月 1 次,优先在 skills/{skill-name}/SKILL.md 创建规范工作流,仅在兼容旧斜杠命令时才添加 commands/{command-name}.md 垫片);同步目录计数(约每月 3 次,同步 AGENTS.md 与 README.md 中的 agents、skills、commands 数量);添加跨工具技能副本(约每月 2 次,复制或适配 SKILL.md 到 .agents/skills/{skill}/SKILL.md 和/或 .cursor/skills/{skill}/SKILL.md,可选添加 openai.yaml 或配置);新增或更新钩子(约每月 1 次,在 hooks/ 或 scripts/hooks/ 添加或更新钩子脚本,在 hooks/hooks.json 或类似配置注册,可选在 tests/hooks/ 添加测试);处理评审反馈(约每月 4 次,编辑 SKILL.md、agent 或 command 文件以回应评审意见并迭代)。
最佳实践 建议使用 Conventional Commits 格式、遵循 *.test.js 命名、文件名使用 camelCase、优先混合导出;不建议写含糊的提交消息、不为新功能跳过测试、未经讨论偏离既有模式。
限制 资料说明该技能由 ECC Tools 自动生成,需由团队按需审查和自定义。资料未提供安装命令、价格、支持的平台范围或独立运行方式,这些内容暂未提供。