feat(shortcut): 新增 capability 命令组 + internal/capability(后端 API 能力探测) #396

Closed
wyxttn wants to merge 0 commits from jiangtx/gitlink-cli:pr-shortcut-capability into master
Contributor

背景

不同 GitLink 实例的后端 API 能力不一致,调用前无法预知某模块是否可用,调用失败时报错也不直观。本 PR 新增能力探测,让用户/Agent 在调用前自检。

改动内容

  • 新增 internal/capability 包:Registry 记录各域(label/notification/pm/wiki/pipeline/webhook/member/milestone/export/search/workflow)的可用状态(Available/Unavailable/Error/Unknown),带 24h 缓存(~/.config/gitlink-cli/capabilities.json),复用 internal/client 探测,支持 200/401/403/404 与 HTML 响应判定。
  • 新增 shortcuts/capability 命令组:
    • capability +check — 探测后端能力,结果缓存 24h
    • capability +list — 查看已缓存结果
  • shortcuts/register.go 仅普通注册(3 行),不改动其他模块的描述渲染

测试

  • internal/capability/capability_test.go:状态判定、探测 200/401/403/404、HTML 响应、repo 上下文等
  • shortcuts/capability/capability_test.go:结果行构建、状态辅助函数

文档

  • 帮助文档 doc/commands/capability.md、变更说明 doc/changes/capability-shortcut.md
## 背景 不同 GitLink 实例的后端 API 能力不一致,调用前无法预知某模块是否可用,调用失败时报错也不直观。本 PR 新增能力探测,让用户/Agent 在调用前自检。 ## 改动内容 - 新增 `internal/capability` 包:`Registry` 记录各域(label/notification/pm/wiki/pipeline/webhook/member/milestone/export/search/workflow)的可用状态(Available/Unavailable/Error/Unknown),带 24h 缓存(`~/.config/gitlink-cli/capabilities.json`),复用 `internal/client` 探测,支持 200/401/403/404 与 HTML 响应判定。 - 新增 `shortcuts/capability` 命令组: - `capability +check` — 探测后端能力,结果缓存 24h - `capability +list` — 查看已缓存结果 - `shortcuts/register.go` 仅普通注册(3 行),**不改动其他模块的描述渲染**。 ## 测试 - `internal/capability/capability_test.go`:状态判定、探测 200/401/403/404、HTML 响应、repo 上下文等 - `shortcuts/capability/capability_test.go`:结果行构建、状态辅助函数 ## 文档 - 帮助文档 `doc/commands/capability.md`、变更说明 `doc/changes/capability-shortcut.md`
wyxttn added 1 commit 2026-07-09 22:18:51 +08:00
eb5710bffb feat(shortcut): add capability command group + internal/capability (后端能力探测)
新增 capability 命令组 + internal/capability 包,探测 GitLink 后端各模块 API 是否就绪:

- capability +check  探测后端能力,结果缓存 24h
- capability +list   查看已缓存结果

新增 internal/capability 包:Registry 记录各域(label/notification/pm/wiki/pipeline/webhook/member/milestone/export/search/workflow)的可用状态,复用 internal/client 探测,支持 200/401/403/404 与 HTML 响应判定。
含完整单元测试、帮助文档、变更说明。register.go 仅普通注册(3行),不改其他模块渲染。
来源:GitLink 大赛 2026 子赛题一。
wbtiger closed this pull request 2026-07-14 22:55:56 +08:00
wbtiger reopened this pull request 2026-07-14 23:01:45 +08:00
wbtiger closed this pull request 2026-07-14 23:04:22 +08:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#396
No description provided.