SuperAPI AI 工具集

php-quality-tooling

编程与开发

查看项目

更新于 10-26 16:23

技能介绍

用途

php-quality-tooling 用于在非 Laravel 的 PHP 项目中配置代码质量工具链,并完成 CI 接入。它覆盖三个互补工具:PHPStan 负责静态分析(类型安全、死代码),Rector 负责自动化升级与重构,PHP-CS-Fixer 负责按编码标准格式化。三者职责不重叠,应全部运行。

该技能明确不适用于 Laravel 项目——Laravel 使用 Pint(PHP-CS-Fixer 的轻量封装)和 Larastan,由 laravel-expert 负责;也不用于测试框架搭建(php-testing)或语言语法问题(php-language-modern)。

主要能力

  • 提供新项目与遗留代码库的决策指南:新项目建议 PHPStan 从第 8-9 级起步、PHP-CS-Fixer 使用 @PER-CS 或 @PER-CS3x0、Rector 使用 withPhpSets() 加 deadCode/codeQuality 预备集;遗留项目建议从可通过的级别开始、生成 baseline、每个 PR 提升一级,Rector 使用 withPhpLevel(n)/withTypeCoverageLevel(n) 逐级推进。
  • 提供可复制模板:完整的 phpstan.neon(严格模式 + baseline)、rector.php(升级 + 质量)、.php-cs-fixer.dist.php(@PER-CS3x0)以及 composer scripts 与 GitHub Actions 流水线。
  • 提供参考文档:PHPStan 级别与 baseline、Rector 集合与升级、PHP-CS-Fixer 规则集。

使用方式

安装命令:

composer require --dev phpstan/phpstan rector/rector friendsofphp/php-cs-fixer

快速检查命令:

vendor/bin/php-cs-fixer check # 风格门禁(不写入) vendor/bin/phpstan analyse # 类型分析 vendor/bin/rector process --dry-run # 预览重构

技能描述中规定了一套代理工作流:在任何实现之前并行启动三个代理(explore-codebase 检测现有配置与 composer.json 中的 PHP 版本、research-expert 通过 Context7/Exa 核实最新文档、mcp__context7__query-docs 检查当前配置 API),实现后运行 sniper 进行验证。

关键规则

  • 每个仓库只选一种风格工具:PHP-CS-Fixer 或 Pint,不可同时使用。
  • Rector 先运行 --dry-run,审查 diff 后再应用;裸运行前先提交。
  • 采用高 PHPStan 级别加 baseline 记录债务,而不是降低级别。
  • CI 中风格检查先于分析:Fixer check → PHPStan → 测试,格式差异应快速失败。
  • 在 composer.json 中以 --dev 固定工具版本,次要版本升级可能新增规则并破坏 CI。

适用场景

适用于非 Laravel 的 PHP 项目,包括全新项目和遗留代码库,需要搭建静态分析、自动重构与代码风格统一,并接入 CI 流水线。

限制

不适用于 Laravel 项目(应使用 Pint/Larastan)、测试框架搭建或语言语法问题。资料未提供具体收费、价格、平台支持范围或效果保证等信息。