SuperAPI AI 工具集

dev-tooling

编程与开发

查看项目

更新于 10-19 16:19

技能介绍

该技能用于让项目按技术栈达到统一的开发工具链标准,无论由谁、何时搭建。它通过检测项目技术栈,与一份推荐工具目录比对,报告或补齐差距。目录代表偏好,具体工具、版本、配置及理由放在 references/ 下按层划分的文件中,便于扩展新栈而不改动工作流程。

用途

确保项目具备一致的工具链:linter、类型检查器、重复代码与死代码检测、CSS 度量等,并让这些工具在本地与 CI 中稳定运行。

主要能力

  • 模式:
    • Check:只报告现状(已具备、缺失、部分、冲突),并给出计划动作,不做变更。用户未明确说明或要求检查、审计、列出缺失时使用。
    • Init:先检查,再应用计划并验证。用户要求设置、初始化、安装或使项目达标时使用。
    • 脚手架之后:若技能由创建项目触发而非工具链请求,先完成脚手架,再运行检查模式,并用一行提示是否初始化;用户同意前不安装任何东西。
  • 检测:运行 python3 scripts/detect.py <project-dir>,输出事实:层;各 JavaScript 包及其包管理器、TypeScript 文件、目录工具及版本;Composer 工具及是否直接或间接引入;CSS 按所属包分组;环境与 DDEV 是否运行;现有配置及框架脚手架生成的配置;工具现有运行方式(GrumPHP、gulp、钩子、CI);影响配置文件名的 gitignore 规则;机器二进制。不靠文件名猜测技术栈;脚本遗漏则修脚本。
  • 加载目录:按检测到的层依次加载且仅加载:universal.md 始终;javascript.md 对应 javascript/typescript;css.md 对应 css;php.md 对应 php,再按情况加载 drupal.md 或 laravel.md(框架文件替换对应 PHP 条目);python.md 对应 python;agent.md 始终最后加载。
  • 状态表:每个适用目录条目一行,列包括 Tool、Where、Tier、Scope、Status、Action。Status 为 present(已安装并配置)、partial(已安装未配置或仅部分层配置)、outdated(低于目录要求版本)、missing(缺失)、conflicting(已有既定替代方案)。Where 为按包工具的清单目录或 machine/agent。证据顺序:清单(composer.json、package.json)、锁文件、安装目录(vendor/、node_modules/);通过元包间接引入计为 present。依赖未安装或环境停止时在报告顶部说明,状态基于清单与锁文件,验证待安装后进行。另列“also in use”:项目运行但目录未覆盖的工具,仅一行,不评估。
  • 应用(仅 init):按 Tier 处理:always 安装并配置;usually 若无既定替代则安装,否则报告;ask 绝不自动安装,列出理由,用户同意才做。机器级安装(全局二进制、用户级 MCP 注册)先一行说明再执行。DDEV 停止时先 ddev start 再安装;检查模式不启动。
  • 验证:对每个触及工具按目录验证步骤实际运行,首次运行发现的问题以计数报告;修复问题属单独任务。
  • 报告:最终表含运行后各状态、验证结果、仍开放的询问、未解决项(如目录标记 unsettled)。未要求不提交。

使用方式

用户请求检查或未明确时进入检查模式;请求设置/安装时进入初始化模式。检测脚本输出事实,按层加载目录,构建状态表,检查模式打印表格、带一行理由的询问及“also in use”后停止;初始化模式按层应用、验证并报告。扩展目录时为 references/ 新增文件并在 scripts/detect.py 加检测块,每个工具条目说明 Tier、Scope、Present when、Install/Config/Wire-up、Verify、Conflicts、最低版本(如适用),并记录偏好理由。

适用场景

适用于需要统一或审计项目开发工具链、在新建项目后补齐标准工具、将工具接入现有流水线与 CI 的场景。

限制与规则

  • 不删除或替换项目已有工具;替代仅作为 ask 报告,不自行迁移。
  • 已有工具的大版本升级为 ask。
  • 强制检查优于书面规则;约定重要时优先 lint 规则、类型检查或失败测试。
  • 统一检查命令:尽量复用现有编排器(如 GrumPHP 或检查脚本),否则提议在根 package.json 或 Composer scripts 中新增检查脚本;提交钩子与 AGENTS.md 提示作为 ask。
  • 有 CI 时,新增或发现但未在 CI 运行的工具,提议 CI 步骤作为 ask。
  • 新增包或脚本前检查现有编排器,不创建并行脚本。
  • 按检测脚本指定的包管理器在各清单目录安装;工作区成员通过根安装。
  • DDEV 项目中 Composer、PHP、Node 命令通过 ddev 运行;机器级工具与 agent 侧服务器在主机运行。
  • 工具版本匹配已安装框架与运行时,不追最新;仅开发依赖;配置合并而非覆盖;命名前检查 gitignore;不修改框架再生成文件;不调阈值凑通过;使用目录包名而非固定版本。