5.6 KiB
子赛题一 · 变更说明文档(命令功能与参数详解)
一、总览
子赛题一将 gitlink-cli 从零散命令补全为 25 个 shortcut 命令域 / 160+ 动词,全部可注册可用(gitlink-cli <域> --help 验证)。
| 类别 | 内容 |
|---|---|
| 新增命令域(8) | wiki、webhook、pm、file、milestone、label、member、snippet |
| 新增批量子系统 | issue batch 族(create/update/close/open/assign/label/delete,CSV 驱动) |
| 增强已有域 | search(+issues 多筛选)、release(+download 流式下载)、pr(+diff 两步 +reviews)、repo(+tree +contributors)、ci、pipeline、user 等 |
| 框架/质量 | register.go 注册全域、i18n(zh-CN/en-US)、错误消息中文化、文件描述符泄漏修复等 6 类 |
二、新增命令域详解
wiki — Wiki 页面与目录全生命周期管理(对照 GitLink 页面功能一对一实现)
| 动词 | 功能 |
|---|---|
+list |
列出 Wiki 页面 |
+view |
查看页面内容 |
+create |
创建页面(可指定目录) |
+update |
更新页面 |
+delete |
删除页面并清理侧栏 |
+mkdir |
建目录 |
+rmdir |
删目录 |
+rename |
重命名页面 |
+renamedir |
重命名目录 |
常用参数:+create -n 页面名 -c 内容 -d 目录 -m 提交信息` · `+list` · `+view -n 名` · 需 `--owner/--repo
webhook — 仓库 Webhook CRUD + 投递历史 + 测试投递
| 动词 | 功能 |
|---|---|
+list |
列出 Webhook |
+view |
查看详情 |
+create |
创建 Webhook |
+update |
更新(GET-then-PUT 保留未指定字段) |
+delete |
删除 |
+history |
投递任务列表 |
+test |
触发测试投递 |
常用参数:+create --url <回调> --events push,pull_request` · `+test --id <id>` · `+history --id <id>
pm — 项目管理:看板 / Sprint / 周报 / 标签 / 流水线 / 动作
| 动词 | 功能 |
|---|---|
+boards |
看板列表 |
+sprints |
Sprint 议题 |
+weekly |
周报 |
+tags |
PM 标签 |
+pipelines |
PM 流水线 |
+actions |
动作运行记录 |
常用参数:+boards` · `+sprints` · `+weekly
file — 仓库文件读写(base64 自动编解码 / 自动取 SHA)
| 动词 | 功能 |
|---|---|
+browse |
浏览目录树/文件详情 |
+get |
读文件内容(自动解码 base64) |
+create |
创建文件 |
+update |
更新文件 |
+delete |
删除文件 |
常用参数:+create -p 路径 -c 内容 -m 信息 -b 分支` · `+get -p LICENSE` · `+browse -p 目录
milestone — 里程碑 CRUD + 关联 Issue 视图
| 动词 | 功能 |
|---|---|
+list |
列出里程碑 |
+view |
详情+关联 Issue |
+create |
创建 |
+close |
关闭 |
+delete |
删除 |
常用参数:+create --name <名>` · `+view --id <id>
label — Issue 标签管理
| 动词 | 功能 |
|---|---|
+list |
列出 |
+create |
创建 |
+update |
更新(PATCH 部分更新) |
+delete |
删除 |
常用参数:+create --name <名> --color <色>` · `+update --id <id>
member — 项目成员管理
| 动词 | 功能 |
|---|---|
+list |
列出成员 |
+add |
添加成员 |
+remove |
移除成员 |
常用参数:+add --user <登录名> --role <角色>` · `+list
snippet — 本地代码片段管理(纯本地、不调 API、免登录)
| 动词 | 功能 |
|---|---|
+create |
创建(支持 stdin) |
+list |
列出(按标签/语言过滤) |
+view |
查看详情 |
+search |
全文检索 |
+update |
更新字段 |
+delete |
删除 |
+export |
导出到文件 |
常用参数:+create -t 标题 -l 语言 -g 标签 -c 内容` · `+search --query 关键词` · `+view --id <id>` · `+export --id <id> -o 文件
issue batch — 批量操作引擎(wauxing,~2100 行 + 公共引擎)
| 动词 | 功能 |
|---|---|
+batch-create |
CSV 批量创建 |
+batch-update |
CSV/ID 批量更新 |
+batch-close |
批量关闭 |
+batch-open |
批量重开 |
+batch-assign |
批量指派(uniform/CSV) |
+batch-label |
批量标签 增/删/设 |
+batch-delete |
批量删除(谨慎) |
公共引擎:ResolveIssueNumbers/ResolveUserID/ResolveLabelID/ReadCSV/RunBatch;全部支持 --dry-run 预览、--confirm 执行、--from <csv>、--max、--delay。
三、增强的已有域
| 域 | 增强 | 关键参数 |
|---|---|---|
| search | +issues(10 筛选)、+repos、+users |
-k 关键词 -c 分类(all/opened/closed) -a 负责人 --作者 -m 里程碑 -t 标签 --sort-by --sort-dir -l 条数 -p 页码 |
| release | +download(突破 JSON-only,HTTP 流式下载二进制) |
-i/--id ReleaseID -o/--output 目录(先取 assets 再下载) |
| pr | +diff(两步:版本列表→diff 详情)、+reviews/+review、+check-merge |
+diff -i PR号 -f 过滤文件 --stat |
| repo | +tree、+contributors、+code-stats、+stargazers 等 |
+tree -p 目录 -r ref |
| ci / pipeline / user | 补 +builds +logs +restart +stop / 流水线全生命周期 / 统计类 |
见 --help |
四、代码质量改进(6 类)
文件描述符泄漏修复(release.go 循环内 defer)· RequireArg 错误不再被忽略(10 处)· 错误消息中文化(23 处)· 补分页参数(webhook/label)· 输出统一为 ctx.OutputData() · 错误链 %v→%w。
五、测试
全仓 65 个 *_test.go 测试文件,覆盖 shortcuts/cmd/internal 各模块;issue batch 引擎含 637 行测试(单元 + 集成)。go test ./... 全绿。