Everything Claude Code Plankton代码质量:写入时代码质量强制的AI实现

【免费下载链接】everything-claude-code Complete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon winner. 【免费下载链接】everything-claude-code 项目地址: https://gitcode.com/GitHub_Trending/ev/everything-claude-code

Everything Claude Code(ECC)是一个全面的Claude代码配置集合,包含代理、技能、钩子、命令、规则和MCP等组件。其中,Plankton代码质量技能作为ECC的重要组成部分,通过创新的AI驱动方式,在代码编写阶段就强制执行严格的质量标准,为开发者提供了一个强大而智能的代码质量保障工具。

Plankton代码质量:AI驱动的编写时代码质量守卫

Plankton是一个由@alxfazio开发的编写时代码质量强制执行系统,它与Claude Code深度集成,通过PostToolUse钩子在每次文件编辑时自动运行格式化程序和代码检查器,然后生成Claude子进程来修复主智能体未捕获的代码质量问题。这种实时、自动化的质量控制方式,彻底改变了传统代码质量保障的模式。

三阶段架构:无缝集成的质量控制流程

Plankton采用创新的三阶段架构,确保代码质量在编写过程中得到全面保障:

  1. 自动格式化阶段(静默处理):运行各种格式化工具(如ruff format、biome、shfmt等),静默修复40-50%的代码格式问题,无需主智能体干预。

  2. 违规收集阶段(结构化JSON输出):运行代码检查器,收集无法自动修复的违规,并以结构化JSON格式返回详细信息(包括行号、列号、错误代码、消息和检查器名称)。

  3. 委托修复与验证阶段:根据违规复杂度生成Claude子进程进行修复,并重新运行前两阶段验证修复效果。

Plankton代码质量三阶段架构示意图

智能模型路由:精准匹配修复能力与问题复杂度

Plankton的一大创新是根据违规复杂度自动路由到不同能力层级的Claude模型:

  • Haiku模型:处理简单的格式化、导入和样式问题(如E/W/F代码),超时时间120秒。
  • Sonnet模型:处理复杂度分析和重构问题(如C901、PLR代码),超时时间300秒。
  • Opus模型:处理类型系统和深度推理问题(如unresolved-attribute),超时时间600秒。

这种分层模型路由策略,既保证了修复质量,又优化了资源使用,实现了效率与效果的平衡。

防御性设计:防止规则博弈的配置保护机制

LLM有时会尝试修改代码检查器配置(如.ruff.tomlbiome.json)来绕过规则,而非真正修复代码问题。Plankton通过三层防御机制阻止这种行为:

  1. PreToolUse钩子protect_linter_configs.sh在编辑发生前阻止对所有检查器配置的修改。
  2. Stop钩子stop_config_guardian.sh在会话结束时通过git diff检测配置更改。
  3. 受保护文件列表:明确保护关键配置文件,如.ruff.tomlbiome.json.shellcheckrc等。

这种防御性设计确保了代码质量标准的严格执行,防止了"规则博弈"现象的出现。

包管理器强制执行:标准化开发环境

Plankton还通过PreToolUse钩子在Bash环境中强制执行现代包管理器的使用:

  • 阻止使用pippip3poetrypipenv等Python包管理器,强制使用uv
  • 阻止使用npmyarnpnpm等JavaScript包管理器,强制使用bun
  • 仅允许特定例外命令,如npm auditnpm viewnpm 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作为最后一道关卡。

GitHub PR代码审查示例

高级配置:定制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驱动的代码质量保障,感受开发效率的飞跃。

【免费下载链接】everything-claude-code Complete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon winner. 【免费下载链接】everything-claude-code 项目地址: https://gitcode.com/GitHub_Trending/ev/everything-claude-code

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐