SuperAPI AI 工具集

pkspec-maintenance

通用与其它

查看项目

更新于 10-16 09:33

技能介绍

用途:该技能面向 github.com/mizchi/pkspec 的维护工作,重点覆盖发布就绪评估、版本号升级、GitHub Actions/Nix 发布检查,以及适配器 DSL 与适配器覆盖率相关工作。资料指出,应以仓库内契约为准(SPEC.pkl、examples、Pkl 测试、Go 测试、GitHub Actions 构成发布门禁),而非临时判断。

发布就绪:先执行检查清单中的命令,例如 git status --short --branch、go run ./cmd/pkspec spec --next SPEC.pkl examples/*/Test.pkl、spec --orphans、gh issue list、gh run list。spec --next 需报告无未完成的实现工作;未关闭 issue 不自动视为阻塞,若仅有原生适配器 shim 工作,通常按未来增强处理,除非用户另有说明。随后运行本地发布门禁,包括 pkf run release-check、pkl test、spec --check --strict 以及 node --test 的 Playwright 覆盖率测试。

版本升级:补丁版本需同步更新 flake.nix 的 version、Taskfile.pkl 的 releaseVersion、action.yml 中版本输入文档的示例版本、README 的安装/action/tag 示例,并用 rg 确认旧版本号无残留,再提交。

打标签与发布:使用 pkfire 而非手写标签命令,运行 pkf run tag --version=X.Y.Z;该命令会重跑 release-check、确认工作树干净、创建附注标签 vX.Y.Z 并推送 main 与标签,之后 Release 工作流在 Linux/macOS 上校验 Nix 并发布。可用 gh run list/watch、gh release view/list 观察。发布进行中主 Action 工作流可能安装上一个 latest,只要任务成功,该注释不算失败。

适配器与覆盖率:适配器定义存放在 Pkl 数据中(pkl/Adapter.pkl、pkl/adapters/*.pkl),运行时通过 pkspec adapter -f Adapter.pkl;smoke 夹具位于 examples/adapter-protocol-smoke。pkspec-adapter-vitest 等原生命令属于未来 shim 工作,不应把实验性 shim 悄悄提升为核心。覆盖率预设实验位于 experiments/adapter-coverage-presets/,实验 Playwright shim 的夹具测试无需安装 Playwright。

限制与注意:pkl-go 依赖外部 pkl CLI,通用 Go CI 不会安装它,因此适配器集成测试在缺少 pkl 时需跳过;Nix 包检查通过 nativeCheckInputs 引入 pklNative,两侧都需保留。资料未提供收费、定价或性能指标等信息。