SuperAPI AI 工具集

commit

部署与运维

查看项目

更新于 10-15 22:14

技能介绍

用途:commit 是 Arc 技能之一,用于提交、推送并发布改动。当变更跨越多个领域时,它会智能拆分为多个原子提交,保证每次提交单一目的。

主要能力:先运行 git status --porcelain、git diff --stat、git log 查看仓库状态,并按 rules/git.md 与 references/diff-review-checklist.md 审查差异,捕捉竞态、信任边界、数据安全、过期引用、测试缺口、死代码等问题;识别调试日志、密钥或凭据、游离文件并阻止其入库,不删除用户工作,也不提交疑似密钥。

提交策略:同一领域或紧密耦合的改动合并为一次提交;跨包、跨应用、配置与源码、无关功能则拆分。常见分组如 packages/<name>/、apps/<name>/、app/、components/、lib/**,组件与其 *.stories.tsx、源码与其 *.test.ts 同组,根配置文件归为配置。提交信息使用约定格式 type(scope): description,类型含 feat、fix、refactor、chore、docs、test、style、perf、ci,要求祈使语气、首行不超过 72 字符。

使用方式:/arc:commit 表示仅提交;/arc:commit push 与 /arc:commit publish 表示提交、推送并发布。推送用 git push,无上游时用 git push -u origin $(git branch --show-current)。发布前先确认包名、版本,用 npm view <package-name>@<version> version 检查是否已发布,脚本存在时运行 <pm> test/build/typecheck,再从包目录执行 npm publish,作用域公开包在合适时用 npm publish --access public。规范顺序为提交→推送→发布→打标签。

限制:发布需用户明确请求;绝不发布私有包、绝不在推送前发布、绝不强制推送或删除注册表版本;推送失败只报告,不自行 force push;预提交钩子失败应修复根因,而非用 --no-verify、as any、@ts-ignore、eslint-disable 等方式掩盖;版本号提升由 /arc:release 负责,本技能不碰。运行依赖完整 Arc 包,Arc 路径从插件根解析。若缺少用户决策,采取保守路径并报告。