Everything Claude Code Plankton代码质量:写入时代码质量强制的AI实现
Everything Claude Code(ECC)是一个全面的Claude代码配置集合,包含代理、技能、钩子、命令、规则和MCP等组件。其中,Plankton代码质量技能作为ECC的重要组成部分,通过创新的AI驱动方式,在代码编写阶段就强制执行严格的质量标准,为开发者提供了一个强大而智能的代码质量保障工具。## Plankton代码质量:AI驱动的编写时代码质量守卫Plankton是一
Everything Claude Code Plankton代码质量:写入时代码质量强制的AI实现
Everything Claude Code(ECC)是一个全面的Claude代码配置集合,包含代理、技能、钩子、命令、规则和MCP等组件。其中,Plankton代码质量技能作为ECC的重要组成部分,通过创新的AI驱动方式,在代码编写阶段就强制执行严格的质量标准,为开发者提供了一个强大而智能的代码质量保障工具。
Plankton代码质量:AI驱动的编写时代码质量守卫
Plankton是一个由@alxfazio开发的编写时代码质量强制执行系统,它与Claude Code深度集成,通过PostToolUse钩子在每次文件编辑时自动运行格式化程序和代码检查器,然后生成Claude子进程来修复主智能体未捕获的代码质量问题。这种实时、自动化的质量控制方式,彻底改变了传统代码质量保障的模式。
三阶段架构:无缝集成的质量控制流程
Plankton采用创新的三阶段架构,确保代码质量在编写过程中得到全面保障:
-
自动格式化阶段(静默处理):运行各种格式化工具(如ruff format、biome、shfmt等),静默修复40-50%的代码格式问题,无需主智能体干预。
-
违规收集阶段(结构化JSON输出):运行代码检查器,收集无法自动修复的违规,并以结构化JSON格式返回详细信息(包括行号、列号、错误代码、消息和检查器名称)。
-
委托修复与验证阶段:根据违规复杂度生成Claude子进程进行修复,并重新运行前两阶段验证修复效果。
智能模型路由:精准匹配修复能力与问题复杂度
Plankton的一大创新是根据违规复杂度自动路由到不同能力层级的Claude模型:
- Haiku模型:处理简单的格式化、导入和样式问题(如E/W/F代码),超时时间120秒。
- Sonnet模型:处理复杂度分析和重构问题(如C901、PLR代码),超时时间300秒。
- Opus模型:处理类型系统和深度推理问题(如unresolved-attribute),超时时间600秒。
这种分层模型路由策略,既保证了修复质量,又优化了资源使用,实现了效率与效果的平衡。
防御性设计:防止规则博弈的配置保护机制
LLM有时会尝试修改代码检查器配置(如.ruff.toml或biome.json)来绕过规则,而非真正修复代码问题。Plankton通过三层防御机制阻止这种行为:
- PreToolUse钩子:
protect_linter_configs.sh在编辑发生前阻止对所有检查器配置的修改。 - Stop钩子:
stop_config_guardian.sh在会话结束时通过git diff检测配置更改。 - 受保护文件列表:明确保护关键配置文件,如
.ruff.toml、biome.json、.shellcheckrc等。
这种防御性设计确保了代码质量标准的严格执行,防止了"规则博弈"现象的出现。
包管理器强制执行:标准化开发环境
Plankton还通过PreToolUse钩子在Bash环境中强制执行现代包管理器的使用:
- 阻止使用
pip、pip3、poetry、pipenv等Python包管理器,强制使用uv。 - 阻止使用
npm、yarn、pnpm等JavaScript包管理器,强制使用bun。 - 仅允许特定例外命令,如
npm audit、npm view、npm publish。
这种标准化措施有助于减少环境不一致带来的问题,提高开发效率和代码质量。
快速开始:Plankton的安装与配置
要在你的项目中使用Plankton代码质量技能,只需按照以下简单步骤操作:
# 克隆Plankton仓库到你的项目或共享位置
git clone https://gitcode.com/GitHub_Trending/ev/everything-claude-code
cd everything-claude-code
# 安装核心依赖
brew install jaq ruff uv
# 安装Python检查器
uv sync --all-extras
# 启动Claude Code,钩子将自动激活
claude
无需额外的安装命令或插件配置,当你运行Claude Code时,.claude/settings.json中的钩子会自动在Plankton目录中被拾取并应用。
多语言支持:全面覆盖现代开发需求
Plankton支持多种编程语言,为各类项目提供全面的代码质量保障:
| 语言 | 必需工具 | 可选工具 |
|---|---|---|
| Python | ruff, uv |
ty(类型), vulture(死代码), bandit(安全) |
| TypeScript/JS | biome |
oxlint, semgrep, knip(死导出) |
| Shell | shellcheck, shfmt |
— |
| YAML | yamllint |
— |
| Markdown | markdownlint-cli2 |
— |
| Dockerfile | hadolint (>= 2.12.0) |
— |
| TOML | taplo |
— |
| JSON | jaq |
— |
这种广泛的语言支持使Plankton成为多语言项目的理想选择,确保在整个开发过程中保持一致的代码质量标准。
与ECC的协同工作:构建完整的开发质量生态
Plankton与Everything Claude Code(ECC)的其他组件形成了互补而非重叠的关系,共同构建了一个完整的开发质量生态系统:
| 关注点 | ECC | Plankton |
|---|---|---|
| 代码质量强制执行 | PostToolUse钩子 (Prettier, tsc) | PostToolUse钩子 (20+检查器 + 子进程修复) |
| 安全扫描 | AgentShield, security-reviewer代理 | Bandit (Python), Semgrep (TypeScript) |
| 配置保护 | — | PreToolUse阻止 + Stop钩子检测 |
| 包管理器 | 检测 + 设置 | 强制执行(阻止遗留包管理器) |
| CI集成 | — | 用于git的pre-commit钩子 |
| 模型路由 | 手动 (/model opus) |
自动(违规复杂度 → 层级) |
推荐的最佳实践是将ECC作为插件安装,添加Plankton钩子实现编写时质量强制执行,使用AgentShield进行安全审计,并在PR之前使用ECC的verification-loop作为最后一道关卡。
高级配置:定制Plankton以适应项目需求
Plankton的.claude/hooks/config.json文件提供了丰富的配置选项,可以根据项目需求进行定制:
{
"languages": {
"python": true,
"shell": true,
"yaml": true,
"json": true,
"toml": true,
"dockerfile": true,
"markdown": true,
"typescript": {
"enabled": true,
"js_runtime": "auto",
"biome_nursery": "warn",
"semgrep": true
}
},
"phases": {
"auto_format": true,
"subprocess_delegation": true
},
"subprocess": {
"tiers": {
"haiku": { "timeout": 120, "max_turns": 10 },
"sonnet": { "timeout": 300, "max_turns": 10 },
"opus": { "timeout": 600, "max_turns": 15 }
},
"volume_threshold": 5
}
}
关键配置选项包括:
- 禁用不使用的语言以加速钩子运行
volume_threshold:超过此数量的违规自动升级到更高模型层级subprocess_delegation: false:完全跳过第3阶段,仅报告违规
此外,还可以通过环境变量临时覆盖配置,如HOOK_SKIP_SUBPROCESS=1跳过第3阶段,HOOK_DEBUG_MODEL=1记录模型选择决策等。
ECC v1.8中的Plankton增强:更强大的质量保障
ECC v1.8版本为Plankton带来了多项增强功能,进一步提升了代码质量保障能力:
可复制的钩子配置文件
通过环境变量设置严格的质量行为:
export ECC_HOOK_PROFILE=strict
export ECC_QUALITY_GATE_FIX=true
export ECC_QUALITY_GATE_STRICT=true
语言关卡表
为不同语言定义了首选工具链:
- TypeScript/JavaScript:首选Biome,Prettier作为后备
- Python:Ruff格式/检查
- Go:gofmt
配置篡改防护
在质量强制执行期间,标记对关键配置文件的更改,如biome.json、.eslintrc*、prettier.config*等。如果配置被更改以抑制违规,则要求在合并前进行明确审查。
CI集成模式
在CI中使用与本地钩子相同的命令,包括运行格式化程序检查、lint/类型检查、严格模式下快速失败和发布修复摘要。
健康指标跟踪
引入了多项健康指标跟踪功能,包括被关卡标记的编辑、平均修复时间、按类别重复违规和因关卡失败导致的合并阻塞等。
结语:AI驱动的代码质量新时代
Plankton代码质量技能代表了代码质量保障的未来方向——将AI深度集成到开发流程中,在编写阶段就主动预防和修复质量问题。通过三阶段架构、智能模型路由和防御性设计,Plankton为开发者提供了一个强大而灵活的代码质量保障工具。
无论是小型项目还是大型企业应用,Plankton都能显著提升代码质量、减少技术债务,并提高开发效率。作为Everything Claude Code生态系统的重要组成部分,Plankton正在引领AI驱动的代码质量新时代,为开发者赋能,让他们能够更专注于创造性工作,而不是繁琐的代码质量检查。
要开始使用Plankton,只需克隆ECC仓库并按照快速开始指南操作。体验AI驱动的代码质量保障,感受开发效率的飞跃。
更多推荐





所有评论(0)