SuperAPI AI 工具集

run-apichief

部署与运维

查看项目

更新于 10-15 21:12

技能介绍

ApiChief 是 EF Core 仓库(eng/Tools/ApiChief/README.md)中的工具,用于检查或刷新 src/ 下项目的公共 API 基线。它可作用于已编译程序集,也可作用于先前生成的基线 JSON 文件。建议使用仓库自带的 .dotnet SDK 和签入的构建脚本。

主要命令:emit baseline(生成 JSON 基线,-o <file>);emit summary(生成可读摘要,-o <file>, -x);emit review(生成 API 评审文件,-o <dir>, -n);emit delta(生成对比现有基线的增量或 markdown diff 评审文件,<baseline-path>, -o <file-or-dir>, --diff);check breaking(与基线比较,存在破坏性变更则失败,<baseline-path>)。用户仅要求“运行 ApiChief”时默认执行 emit baseline。

使用流程:先确定目标项目,仓库基线路径为 src/<ProjectName>/<ProjectName>.baseline.json;若只需更新基线,运行 EFCore.ApiBaseline.Tests 测试即可。准备环境:Windows 执行 .\restore.cmd、. .\activate.ps1、dotnet build .\eng\Tools\ApiChief\ApiChief.csproj --nologo --verbosity q;Bash 使用 ./restore.sh、. ./activate.sh 对应命令。确保目标程序集已构建(如 .\build.cmd -c Debug 或单独构建项目),默认使用 artifacts/bin 下最高的 net* TFM,避免 netstandard* 和 net4*。通过 dotnet msbuild 获取 ApiChief 的 TargetPath 与程序集名称,再用 & $dotnet $apiChief $assemblyPath 执行相应命令。emit delta 也可传入 .json 文件作为当前输入。

基线生成后需保留原文件 BOM 与末尾换行,回退仅涉及 Name 字段的版本差异,检查并延续已删除的 // instruction 注释,注释引用 GitHub issue 时需确认其是否仍开启。报告时列出处理的项目、所用 TFM、输出路径;check breaking 说明通过或失败;emit delta 与 --diff 的退出码 0 表示有变更、2 表示无变更、-1 表示错误。推荐 emit delta --diff,因其生成可发布的 ```diff fenced markdown,按类型拆分为多个 .md 文件。