mcpField
B
build-optimize

build-optimize

github.com/paulnsorensen开发093 次安装3 周前更新
代码仓库

关于 build-optimize

build-optimize 是用于测量和优化本地构建与测试命令的技能,涵盖 Cargo、pytest、npm、pnpm、Go 和 just。它要求先批准测量计划,并提供可比的前后证据,同时保留检查项和失败行为。

主要功能

  1. 01测量本地命令耗时
  2. 02覆盖 Cargo、pytest、npm、pnpm、Go 和 just
  3. 03测量前要求批准计划
  4. 04比较规范化的前后证据
  5. 05保留检查项、产物和失败行为
  6. 06分别报告冷、热缓存结果

适用场景

  1. 01建立本地构建耗时基线
  2. 02评估已批准的构建优化
  3. 03报告计时比较受阻的情况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paulnsorensen/git-gouda --skill build-optimize

安装后在 Claude Code 中输入/build-optimize确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
go.md
js-ts.md
methodology.md
python.md
rust.md

详细介绍

本地构建优化

修改前先测量本地实际耗时。保留检查项、产物和失败行为。

此技能涵盖本地 cargo、pytest、npm、pnpm、go 和 just 命令。 GitHub Actions 工作流计时或变更请使用 /ci-optimize。

规范

铁律: 提出具体编辑方案前,先测量经批准的运行计划。

危险信号——发现以下情况时请停止:

  1. 编辑移除检查项或产物、改变工作负载,或隐藏失败。
  2. 缓存操作、样本数量、预热次数或隔离方式与经批准的计划不同。
  3. 冷、热样本组被合并,或受阻的辅助工具对比被当作性能提升结论。
似是而非的说法其错误之处必须采取的操作
“热启动运行更快,所以每次构建都更快。”热启动运行跳过了冷缓存工作。分别报告每个样本组。
“并行测试更快。”并行工作进程需要测试隔离。先证明隔离成立,再制定计划。
“辅助工具缺失,所以原始计时数据已经足够。”原始计时数据无法通过对比关卡。保留原始证据,并报告对比受阻。

参考资料

定义运行计划前,先阅读方法说明。 定义运行计划前,先阅读对应生态系统的参考资料。 采集本地计时数据前,先阅读同级的 local.md。 构建规范化输入前,先阅读同级的 schemas.md。

工作流

  1. 阅读仓库说明。确定权威的本地命令。
  2. 制定运行计划,明确确切命令、预热次数和样本数量、缓存操作、隔离方式、输出路径和成本。
  3. 获取对运行计划的明确批准。
  4. 使用经批准的缓存样本组测量基线。
  5. 报告基线证据。
  6. 提出受影响的文件、收益假设、风险、验证方法以及任何既定回滚方案。
  7. 更改受跟踪的源代码前,等待对编辑计划的明确批准。
  8. 通过仓库现有的编辑流程应用经批准的更改。
  9. 按照相同方案重新测量。验证所有检查项、产物和失败行为。
  10. 报告完成后停止;若缺少必要输入,也应停止。

命令

根据实际加载的 SKILL.md 所在目录解析 CI_OPTIMIZE_HELPER。 追加 ../ci-optimize/scripts/ci_optimize.py 前,先解析符号链接。 切勿根据使用该技能的仓库当前目录推导辅助工具路径。 辅助工具不会执行命令、编辑源代码、安装依赖或提交更改。

从使用该技能的仓库工作目录运行命令:

python3 "$CI_OPTIMIZE_HELPER" from-hyperfine --input BEFORE-RAW.json --command 'COMMAND' --revision REVISION --environment ENV --cache-state STATE --workload-label LABEL --output BEFORE.json
python3 "$CI_OPTIMIZE_HELPER" from-hyperfine --input AFTER-RAW.json --command 'COMMAND' --revision REVISION --environment ENV --cache-state STATE --workload-label LABEL --output AFTER.json
python3 "$CI_OPTIMIZE_HELPER" compare --before BEFORE.json --after AFTER.json --minimum-samples N --output COMPARISON.json

对经批准的各个缓存样本组分别运行此序列,并使用不同的输出路径。 仅在替换现有的明确指定输出文件时使用 --force。 同级辅助工具缺失时,保留原始证据。 辅助工具缺失时,报告对比受阻。 不要安装辅助工具,也不要豁免对比关卡。

证据与报告

阅读 COMPARISON.json。要求 comparability: true。 报告状态、命令边界、符合条件和排除的样本数量、中位数和范围、差值、检查项、产物、限制、下一步批准事项以及证据路径。 保留每个被排除的样本及其原因。 在确认事项中记录经批准的上下文差异。 确认事项不能豁免工作负载或验证不匹配,也不能证明覆盖范围等效。 描述观察结果,不要承诺具体数值收益。报告不超过 200 个字。 不要重命名无关关卡、添加自动修复检查项或更改 CI 工作流。

评论

支持 Markdown