Commit Graph

41 Commits

Author SHA1 Message Date
wbtiger 67169130d6 Merge PR #261: 添加 gitlink-cli auth checkin 命令,用于定时刷新认证会话,防止用户登录状态过期
# Conflicts:
#	cmd/auth/auth.go
#	cmd/auth/auth_test.go
#	shortcuts/register_test.go
#	shortcuts/template/template.go
#	shortcuts/template/template_test.go
2026-07-14 22:50:09 +08:00
wbtiger 55e0e1b32c Merge PR #234: feat(api): 增强单次调用模板变量与预演能力
# Conflicts:
#	cmd/api/api.go
#	cmd/api/api_test.go
#	doc/changes/api-single-request-templates.md
2026-07-14 22:49:57 +08:00
wbtiger ae5b27687f Merge PR #281: fix(api): 补齐单次请求模板变量与请求头支持
# Conflicts:
#	cmd/api/api.go
#	cmd/api/api_test.go
2026-07-14 22:49:56 +08:00
wbtiger a5f7ed46af Merge PR #354: feat(auth): 新增 auth token 子命令与 auth status --show-token(对标 g
# Conflicts:
#	internal/i18n/locales/en-US.json
#	internal/i18n/locales/zh-CN.json
2026-07-14 22:49:56 +08:00
wbtiger 3e8e634a61 Merge PR #392: feat(cmd): 新增 alias/browse/status 开发者体验命令
# Conflicts:
#	cmd/alias/alias.go
#	cmd/alias/alias_test.go
2026-07-14 22:49:56 +08:00
wbtiger fad550971f Merge PR #366: feat(api): add --paginate and unwrap GitLink list responses
# Conflicts:
#	cmd/api/api.go
2026-07-14 22:49:53 +08:00
wbtiger e16f302e3d Merge PR #420: fix(api): 单次调用支持 :owner/:repo 占位符替换(修复 issue #20)
# Conflicts:
#	cmd/api/api.go
2026-07-14 22:49:52 +08:00
wbtiger dc2c00a884 Merge pull request 'feat(alias): add alias command group with quote-aware expansion' (#371) from heke1228/gitlink-cli:feat/alias into master 2026-07-14 22:27:22 +08:00
wbtiger afc3b5773a Merge pull request 'feat(output): 全局 --query/-q 点分路径输出字段提取(零依赖,对标 gh --jq)' (#342) from Taoyouce/gitlink-cli:feat/output-query into master 2026-07-14 22:24:53 +08:00
wbtiger 7ef01a97c1 Merge pull request '新增 shell 自动补全命令' (#134) from Mengz/gitlink-cli:mengz/shell-completion into master 2026-07-14 22:23:07 +08:00
wbtiger 6148be40da fix(api): restore resolveAPIPath after MSYS2 merge conflict resolution
The merge of PR #406 (MSYS2 path fix) via --theirs accidentally
dropped the resolveAPIPath function added by PR #254. This commit
restores the :owner/:repo placeholder and --var template resolution
while keeping the MSYS2 path restoration as the first step.
2026-07-14 22:03:17 +08:00
wbtiger 7d706f4e4c Merge pull request #406: fix(api): 修复 Windows Git Bash 下 API 路径被 MSYS2 污染导致 404
# Conflicts:
#	cmd/api/api.go
2026-07-14 21:57:33 +08:00
wbtiger 0c272d7209 Merge pull request 'feat(cli): 根命令支持 --version 标志' (#340) from Taoyouce/gitlink-cli:feat/root-version-flag into master 2026-07-14 20:44:25 +08:00
maidamaliziasimnw a383b0a00b fix(api): 单次调用支持 :owner/:repo 与 {{owner}}/{{repo}} 占位符替换(issue #20)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-10 16:45:06 +00:00
chroe bf9ecc4ba2 docs(api): add MSYS2 path fix doc; extract restoreAPIPath for testability
- 新增命令帮助文档 doc/changes/api-msys2-path.md(问题/根因/修复/影响/测试)。
- 将 runAPI 内联的路径还原逻辑抽成纯函数 restoreAPIPath,便于单元测试;
  并修正一个边界缺陷:路径含多个已知前缀时(如 /api/v1/users)改为取
  最早出现的位置,避免误截到 /v1/。
- 新增表驱动 TestRestoreAPIPath 覆盖:正常路径不变、v1/v2/api 污染还原、
  无已知前缀保留、空路径。
2026-07-09 22:27:52 +08:00
chroe b0424aa6d8 fix(api): restore API path polluted by MSYS2/Git Bash on Windows
在 Windows Git Bash (MSYS2) 环境下,gitlink-cli api GET /v1/owner/repo
的路径参数会被 MSYS2 自动改写为类似
C:/Program Files/Git/v1/owner/repo 的 Windows 路径(MSYS2 把 /v1
当成 Unix 路径转换为 Git 安装目录),导致 API 调用 404。

修复:在 runAPI 中检测路径首部是否为盘符(^[A-Za-z]:/),
若是则按常见 API 前缀(/v1/ /v2/ /api/ /users/ /projects/)
定位并还原原始 API 路径。

影响所有 Windows Git Bash 用户,跨平台兼容性修复。
2026-07-09 21:41:29 +08:00
wyxfzgg 400c567384 feat(cmd): add alias/browse/status developer-experience commands
新增 3 个开发者体验命令:

- alias   管理命令别名(把长命令变短):alias +list / +set / +delete
- browse  在浏览器中打开 GitLink 页面(仓库/Issue/PR/Wiki 等资源)
- status  显示当前登录状态和上下文信息(owner/repo/format 等)

提升日常使用与脚本化体验:别名减少重复输入、browse 一键跳转网页、status 快速自检。
含单元测试、帮助文档 doc/commands/alias-browse-status.md。
注册:cmd/root.go 仅新增 3 行 import + 3 行 AddCommand,无其他改动。

来源:GitLink 大赛 2026 子赛题一。
2026-07-09 21:32:10 +08:00
林晨 (Leo Cheng) 1d81396bab
feat(alias): add alias command group with quote-aware expansion
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 13:49:43 +08:00
林晨 (Leo Cheng) 5511d492cb
feat(api): add --paginate and unwrap GitLink list responses in PaginateAll
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:43:33 +08:00
Taoyouce 6ef51c7d5d feat(auth): login 新增 --with-token 标准输入非交互登录(对标 gh) 2026-07-07 16:06:12 +00:00
Taoyouce b8e92895f4 feat(auth): 新增 auth token 子命令与 auth status --show-token(对标 gh auth token) 2026-07-07 15:33:39 +00:00
Mengz 5c16a4a70e feat: 新增 shell 自动补全命令 2026-07-07 14:52:28 +08:00
laurencewannamaker 4913cf5319 fix(output): 全局提取 flag 改名 --jq,避免与 api 子命令 --query(查询参数)语义冲突
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-05 23:26:07 +00:00
laurencewannamaker 497bd6a071 feat(output): 全局 --query/-q 点分路径输出字段提取(零依赖,对标 gh --jq)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-05 23:22:03 +00:00
laurencewannamaker f402dce051 feat(cli): 根命令支持 --version(复用 i18n version 文案)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-05 22:38:46 +00:00
Mengz ac211ac4e9 fix(api): 补齐单次请求模板变量与请求头支持 2026-06-25 16:49:58 +08:00
Mengz 98b3460db4 docs(api): 补齐单次模板调用帮助与中文示例 2026-06-24 17:19:36 +08:00
Mengz bf21056f04 feat(api): 增强单次调用模板变量与预演能力 2026-06-22 12:31:55 +08:00
weidongde 77b6db7311 feat(auth): 添加 checkin 命令用于认证保活
添加 `gitlink-cli auth checkin` 命令,定时刷新认证会话,防止登录过期。

- 默认刷新间隔:30 分钟(可通过 -t 参数配置)
- 调用 GetCurrentUser API 保持会话活跃
- 支持 Ctrl+C 优雅退出
- 完整支持中英文国际化
2026-06-16 15:16:48 +08:00
luwanzhou 81d30d6741 fix(api): resolve :owner/:repo and --var placeholders in single calls
gitlink-cli api <METHOD> <PATH> 单次调用此前直接发送原始路径,不替换
REST 风格的 :owner/:repo 占位符——导致该命令自身的 Example
(api POST /:owner/:repo/issues)以及依赖该写法的 Skill/文档无法使用。

- 新增 resolveAPIPath:先按 --var 渲染 {{var}} 模板(复用批处理模板引擎),
  再用 context.ResolveOwnerRepo(--owner/--repo → git remote,与所有 shortcut
  一致)替换 :owner/:repo,最后补全前导 /。
- :owner/:repo 正则用 \b 边界避免误伤 :owner_id;ReplaceAllLiteralString
  避免 owner/repo 中的 $ 被当作正则替换引用。
- 不含占位符且无 --var 的调用行为不变。
- 更新命令 Example;新增单元测试(占位符解析、单次 --var 渲染、缺失变量报错)。

修复 Issue: api 命令单次调用不替换 :owner/:repo 占位符。
2026-06-15 12:36:58 +08:00
wbtiger 723e698db4 Merge pull request '新增 Raw API 批处理执行器' (#124) from Mengz/gitlink-cli:mengz/api-batch-runner into master 2026-06-08 02:24:14 +08:00
wbtiger 03a9d7a942 Merge pull request '修复认证凭据 fallback 配置目录不一致' (#133) from Mengz/gitlink-cli:mengz/auth-config-dir-fallback into master 2026-06-08 02:23:06 +08:00
Mengz d6321e7af5 fix: 统一认证凭据 fallback 配置目录 2026-06-06 18:42:50 +08:00
Mengz dec10afaeb feat: 新增 CLI 自诊断命令 2026-06-06 18:11:45 +08:00
Mengz 35e50a1828 feat: 新增 Raw API 批处理执行器 2026-06-06 11:55:20 +08:00
whzy 37dfd2e2e2 feat(i18n): add CLI localization foundation 2026-06-01 17:33:10 +08:00
wbtiger 0170b5b063 test: add comprehensive test coverage across all packages (88.5% → 90.3%)
Add 18 new test files covering formatter, envelope, config, auth,
client, context, register, and all shortcut group packages.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 15:41:54 +08:00
wbtiger f7263cc466 chore: add golangci-lint config and fix lint issues
- Add .golangci.yml with 8 essential linters (errcheck, govet,
  ineffassign, staticcheck, unused, errorlint, gosec, misspell)
- Fix real bugs: errors.As, %w wrapping, nil map check, dead code,
  unnecessary conversion, unused parameters
- Add `make lint` target, include it in `make check` pipeline
- Update pre-commit hook to run lint step

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:37:45 +08:00
wbtiger 4631b81e5c style: fix gofmt alignment in root.go and register.go 2026-05-29 23:59:40 +08:00
wbtiger 898b7f59d1 feat: add milestone, compare, pr reopen shortcuts and api enhancements (#45)
- milestone shortcuts: list, create, view, update, delete, close, reopen
- compare shortcuts: view, files (compare branches/tags/commits)
- pr +reopen: reopen closed pull requests
- api: add --body-file and --body-stdin for reading JSON from file/stdin
- comprehensive tests for all new shortcuts

Co-authored-by: wangyue111 <wangyue111>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:44:39 +08:00
wbtiger e892370de8 init gitlink-cli 2026-04-17 10:01:30 +08:00