SuperAPI AI 工具集

sem

通用与其它

查看项目

更新于 10-16 06:22

技能介绍

用途:sem(Semantic Version Control)在语义层面分析代码变更,帮助区分真正的行为修改与纯外观、风格改动,并识别受影响的实体,用于审查 diff 和撰写准确的提交说明。

主要能力:输出用符号标记变更类型——~ 表示外观改动(格式、空白、风格),对应 style: 或 format: 提交类型;∆ 表示行为修改,对应 feat:、fix:、refactor:;+ 表示新增函数、类或类型,对应 feat:;- 表示删除实体,对应 refactor:、chore:。

使用方式:常用命令包括 sem diff HEAD~1(查看最近一次提交的语义 diff)、sem diff --commit <hash>(查看指定 git 提交的变更)、sem impact parseDate(查看依赖某变更函数的实体)、sem impact parseDate --tests(查看受实体变更影响的测试)。

与 Jujutsu 配合:使用 jj 时需先把 change ID 转为 git 提交哈希,例如 jj log -r <change-id> -T 'commit_id' --no-graph,再用该哈希执行 sem diff --commit <hash>,并可用 jj show、jj diff --name-only -r <change-id> 核对提交,最后用 jj desc -r <change-id> -m "<type>(<scope>): <description>" 写提交说明。

适用场景:撰写提交说明前先运行 sem diff HEAD~1 确认真实变更范围;面对涉及大量文件但语义改动很少的 diff 时聚焦真正的行为变化;在改动前用 sem impact 了解下游影响。

限制:资料未提供安装方式、支持的语言、平台、收费与价格等信息,暂未提供。