SuperAPI AI 工具集

aif-build-automation

编程与开发

查看项目

更新于 10-16 09:20

技能介绍

用途

aif-build-automation 用于为任意项目生成或增强构建自动化文件。支持的构建自动化工具包括 Makefile、Taskfile.yml、Justfile 和 Magefile.go。

主要能力

该技能提供两种模式:

  • Generate(生成)——项目中不存在构建文件时,使用最佳实践模板从零创建。
  • Enhance(增强)——项目已存在构建文件时,分析缺口、添加缺失目标、修复反模式,并保留现有工作成果。

技能会先读取项目上下文(.ai-factory/DESCRIPTION.md),并在存在时强制读取项目专属规则文件 .ai-factory/skill-context/aif-build-automation/SKILL.md。该文件由 /aif-evolve 根据补丁、代码库约定与技术栈分析积累,视为项目级覆盖规则:与技能通用规则冲突时以项目级规则优先;无冲突时两者同时适用。技能明确要求生成的所有产物都必须通过项目级规则的校验,违反即视为缺陷并需在呈现给用户前修正。

使用方式

流程如下:

  • 第 0 步:加载项目上下文,读取 .ai-factory/DESCRIPTION.md,并强制读取 skill-context 规则(文件存在时)。
  • 第 1 步:检测现有构建文件并确定模式。通过 Glob 扫描 Makefile、makefile、GNUmakefile、Taskfile.yml、Taskfile.yaml、taskfile.yml、justfile、Justfile、.justfile、magefile.go、magefiles/*.go。若存在文件则为 enhance 模式,并从检测结果自动确定目标工具;若存在多个构建文件且 $ARGUMENTS 未指定,会询问用户改进哪一个。若不存在文件则为 generate 模式,并根据 $ARGUMENTS 解析工具(makefile/make→Makefile,taskfile/task→Taskfile.yml,justfile/just→justfile,mage/magefile→magefile.go);参数为空或不匹配时,交互式询问用户选择工具。
  • 第 2 步:分析项目。检测主语言(go.mod→Go,package.json→Node.js/JavaScript/TypeScript,pyproject.toml/setup.py/setup.cfg→Python,Cargo.toml→Rust,composer.json→PHP,Gemfile→Ruby,JVM 的 Gradle 或 pom.xml→Java/Kotlin,.csproj/.sln→C#/.NET);检测包管理器与构建入口(bun.lockb、pnpm-lock.yaml、yarn.lock、package-lock.json、poetry.lock、uv.lock、Pipfile.lock、gradle wrapper、maven wrapper 等);检测框架(Node.js、Python、PHP、Go、Rust、Ruby、JVM 各自对应框架);深度扫描 Docker;检测 CI/CD;检测数据库与迁移工具;检测测试框架;检测代码检查与格式化工具;检测 monorepo。最终形成 PROJECT_PROFILE 对象。
  • 第 3 步:读取所选工具对应的最佳实践参考与跨领域关注点。
  • 第 4 步:根据语言与目标工具选择并读取最接近的模板。
  • 第 5 步(资料中描述为后续步骤):生成或增强构建文件,并移除仓库未接入的模板条目(如 JVM 模板中未被使用的目录项)。

适用场景

适用于需要为项目引入或改进构建自动化配置的开发场景,覆盖 Go、Node.js、Python、PHP、Rust、Ruby、Java/Kotlin(JVM)以及 C#/.NET 等语言,支持 Makefile、Taskfile、Just、Mage 四种构建工具,并考虑 Docker、CI、数据库迁移、测试、代码检查与 monorepo 等工程因素。

限制

资料未提供该技能的收费、价格、平台兼容性或实际使用效果等信息。JVM 项目中若同时存在 Gradle 与 pom.xml,技能会设置 java_build.mixed_maven_gradle: true 并追加警告,构建配方默认遵循 Gradle,由用户确认权威构建。