Commit Graph

52 Commits

Author SHA1 Message Date
wbtiger b8589dc93c Merge PR #103: feat: 新建 pm 模块,添加 6 条项目管理命令
# Conflicts:
#	cmd/alias/alias.go
#	cmd/alias/alias_test.go
#	cmd/browse/browse.go
#	cmd/browse/browse_test.go
#	cmd/root.go
#	internal/client/client.go
#	internal/client/client_test.go
#	shortcuts/notification/notification.go
#	shortcuts/pm/pm.go
#	shortcuts/pm/pm_test.go
#	shortcuts/pr/pr.go
#	shortcuts/register.go
#	shortcuts/repo/repo_test.go
#	shortcuts/user/user.go
#	shortcuts/wiki/wiki.go
#	shortcuts/wiki/wiki_test.go
#	skills/gitlink-ci/SKILL.md
#	skills/gitlink-code-review/SKILL.md
#	skills/gitlink-commit-quality/SKILL.md
#	skills/gitlink-compliance/SKILL.md
#	skills/gitlink-contributor-insight/EXAMPLES.md
#	skills/gitlink-contributor-insight/SKILL.md
#	skills/gitlink-contributor-insight/examples/jiangtx-gitlink-cli.md
#	skills/gitlink-insight/SKILL.md
#	skills/gitlink-issue-triage/SKILL.md
#	skills/gitlink-notification-digest/EXAMPLES.md
#	skills/gitlink-notification-digest/SKILL.md
#	skills/gitlink-org/SKILL.md
#	skills/gitlink-repo/SKILL.md
#	skills/gitlink-shared/SKILL.md
#	skills/gitlink-user/SKILL.md
#	skills/gitlink-workflow/SKILL.md
2026-07-14 22:50:21 +08:00
wbtiger b2d9c504eb Merge PR #338: feat(list): issue/pr/branch/release +list 新增 --all 自动翻页(翻页助手
# Conflicts:
#	cmd/api/api.go
#	internal/client/pagination.go
#	internal/i18n/locales/en-US.json
#	internal/i18n/locales/zh-CN.json
#	shortcuts/branch/branch.go
#	shortcuts/commit/commit.go
#	shortcuts/commit/commit_test.go
#	shortcuts/issue/issue.go
#	shortcuts/label/label.go
#	shortcuts/member/member.go
#	shortcuts/member/member_test.go
#	shortcuts/milestone/milestone.go
#	shortcuts/pr/pr.go
#	shortcuts/tag/tag.go
#	shortcuts/tag/tag_test.go
#	shortcuts/webhook/webhook.go
2026-07-14 22:50:19 +08:00
wbtiger 4fbc6dea4d Merge PR #349: feat: 新增Wiki/Label/Notification命令 + 批量处理命令+Snippet/自然语言do创新
# Conflicts:
#	cmd/root.go
#	doc/changes/label-shortcut.md
#	doc/changes/notification-shortcut.md
#	internal/output/formatter.go
#	shortcuts/common/types.go
#	shortcuts/issue/batch.go
#	shortcuts/issue/issue.go
#	shortcuts/label/label.go
#	shortcuts/label/label_test.go
#	shortcuts/notification/notification.go
#	shortcuts/notification/notification_test.go
#	shortcuts/register.go
#	shortcuts/snippet/snippet.go
#	shortcuts/wiki/wiki.go
#	shortcuts/wiki/wiki_test.go
#	skills/README.md
#	skills/gitlink-issue-triage/SKILL.md
#	skills/gitlink-onboarding/SKILL.md
#	skills/gitlink-onboarding/examples/onboarding-workflow.md
2026-07-14 22:50:18 +08:00
wbtiger ca17974d1f Merge PR #408: 提交pr
# Conflicts:
#	.gitignore
#	.golangci.yml
#	Makefile
#	cmd/root.go
#	internal/client/client.go
#	shortcuts/_template/template.go
#	shortcuts/branch/branch_test.go
#	shortcuts/ci/ci.go
#	shortcuts/ci/ci_test.go
#	shortcuts/common/types.go
#	shortcuts/file/file.go
#	shortcuts/file/file_test.go
#	shortcuts/issue/batch.go
#	shortcuts/issue/batch_test.go
#	shortcuts/issue/issue_test.go
#	shortcuts/label/label.go
#	shortcuts/label/label_test.go
#	shortcuts/member/member.go
#	shortcuts/member/member_test.go
#	shortcuts/milestone/milestone.go
#	shortcuts/milestone/milestone_test.go
#	shortcuts/org/org.go
#	shortcuts/org/org_test.go
#	shortcuts/pm/pm.go
#	shortcuts/pm/pm_test.go
#	shortcuts/pr/pr.go
#	shortcuts/pr/pr_test.go
#	shortcuts/register.go
#	shortcuts/register_test.go
#	shortcuts/release/release_test.go
#	shortcuts/search/search.go
#	shortcuts/search/search_test.go
#	shortcuts/user/user.go
#	shortcuts/user/user_test.go
#	shortcuts/wiki/wiki.go
#	shortcuts/wiki/wiki_test.go
#	skills/README.md
#	skills/gitlink-ci/SKILL.md
#	skills/gitlink-file/SKILL.md
#	skills/gitlink-issue/SKILL.md
#	skills/gitlink-label/SKILL.md
#	skills/gitlink-member/SKILL.md
#	skills/gitlink-org/SKILL.md
#	skills/gitlink-pm/SKILL.md
#	skills/gitlink-pr/SKILL.md
#	skills/gitlink-research-insight/SKILL.md
#	skills/gitlink-research-progress/SKILL.md
#	skills/gitlink-user/SKILL.md
#	skills/gitlink-wiki/SKILL.md
2026-07-14 22:50:17 +08:00
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
Surponess b1db102e9d 修改仓库内容 2026-07-10 10:55:03 +08: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
Taoyouce 8c92076c52 feat(api): api 命令新增 --paginate 自动翻页合并(对标 gh api --paginate) 2026-07-07 14:33:19 +00:00
Mengz 5c16a4a70e feat: 新增 shell 自动补全命令 2026-07-07 14:52:28 +08:00
15972095207 811f4a8f4a feat: do命令增强(模块名列全部命令+简短版/完全版示例+50+关键词匹配) 2026-07-06 16:09:22 +08:00
15972095207 72d9ba0b9b do命令增强(显示参数说明+完整示例) 2026-07-06 10:26:13 +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
15972095207 c85a2d6e09 任务一二创新(snippet命令+彩色化+批量label+自然语言+4个创新Skill) 2026-07-04 11:05:00 +08: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
wyxfzgg 9474c1f432 test: 补充 alias/browse/status 单元测试
- 新增 cmd/alias/alias_test.go: 8 个测试(加载/保存/覆盖/删除/无效YAML/子命令结构)
- 新增 cmd/browse/browse_test.go: 5 个测试(命令结构/参数校验/示例内容)
- 新增 cmd/status/status_test.go: 5 个测试(命令结构/token来源判断)

关联 Issue: #14
2026-06-03 12:39:48 +08:00
wyxfzgg a28a8eae8a feat: 新增 alias/browse/status 三个开发者体验命令
- 新增 cmd/alias/alias.go: 管理命令别名 (+list/+set/+delete)
- 新增 cmd/browse/browse.go: 在浏览器中打开 GitLink 页面(跨平台)
- 新增 cmd/status/status.go: 显示登录状态和上下文信息
- 修改 cmd/root.go: 注册三个新命令

关联 Issue: #14
2026-06-03 11:50:33 +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