gitlink-cli/shortcuts/_template/README.md

34 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Shortcut 开发模板shortcuts/_template
对应起步资源包「Shortcut 开发模板」:新增一个 CLI 命令组的标准模板与脚手架。
目录以 `_` 开头Go 工具链自动忽略,**不影响构建**;复制改名后即成为真实命令组。
## 使用方法5 步,详见 [doc/dev-guide.md](../../doc/dev-guide.md)
```bash
# 1. 复制模板为你的命令组(例如 gadget
cp -r shortcuts/_template shortcuts/gadget
mv shortcuts/gadget/template.go shortcuts/gadget/gadget.go
mv shortcuts/gadget/template_test.go shortcuts/gadget/gadget_test.go
# 把包名 template 全部改为 gadget按需实现子命令
```
2.`shortcuts/register.go` 注册import 你的包,并在 `groups` 列表加一行
`{Name: "gadget", Short: tr.T("cmd.gadget.short"), Shortcuts: gadget.Shortcuts()}`
3.`internal/i18n/locales/en-US.json``zh-CN.json` 中按字母序添加 `cmd.gadget.short` 等文案键
4.`httptest` 单测(模板已含可直接改写的样例)并在两份 README 补使用示例
5.`doc/changes/` 新增一篇变更说明,`make check` 全绿后提 PR
## 模板内容
- `template.go`:一个最小命令组——`+list`GET 带查询参数与分页)、`+create`POST 必填 flag、`+delete`DELETE`--yes` 确认保护),覆盖读/写/删三种典型形态与本仓库全部惯例ResolveOwnerRepo、CallAPIWithQuery、ctx.Output 信封)
- `template_test.go`:基于 `net/http/httptest` 的单测样例(断言请求方法、路径、查询参数、请求体;不访问真实网络)
## 惯例清单(评审常看的点)
- 子命令一律 `+verb` 形式;写操作必须有 `--yes` 或等价确认保护
- 所有网络调用经 `shortcuts/common` 助手,禁止在命令组内直接 `http.Get`
- 输出统一走 `ctx.Output(env)` 信封(`{ok, data}`),自动兼容 `--format json/table/yaml``--jq`
- 文案不硬编码,走 i18n 键(中英两份 locale 同步添加)
- 涉及平台 API 行为的改动PR 描述中附生产实测复现步骤