Commit Graph

83 Commits

Author SHA1 Message Date
wbtiger 7ae27f76a5 Merge pull request 'feat(ci): add repository CI control shortcuts' (#317) from ohanabi/gitlink-cli:feat/ci-control-shortcuts into master 2026-07-14 22:26:08 +08:00
wbtiger d40deaaf23 Merge pull request '新增仓库转移快捷命令' (#119) from Mengz/gitlink-cli:mengz/repo-transfer-shortcuts into master 2026-07-14 22:25:42 +08:00
wbtiger eec754a9b8 Merge pull request 'feat(org): add organization team shortcuts' (#322) from ohanabi/gitlink-cli:feat/org-team-shortcuts into master 2026-07-14 22:25:27 +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 3d3aa39973 Merge pull request 'feat(pr): add pr +status showing pull requests relevant to you' (#369) from heke1228/gitlink-cli:feat/pr-status into master 2026-07-14 22:24:45 +08:00
wbtiger ccac57046a Merge pull request '完善仓库 README 快捷命令' (#122) from Mengz/gitlink-cli:mengz/repo-readme-file-support into master 2026-07-14 22:24:27 +08:00
wbtiger 4431d90e8b Merge pull request 'feat(search): 新增 search +recommend 推荐项目快捷命令' (#250) from luwanzhou/gitlink-cli:feat/search-recommend into master 2026-07-14 22:24:20 +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 c5f0a02192 Merge pull request 'feat(issue): add +comments, +comment-edit, +comment-delete' (#384) from Taoyouce/gitlink-cli:feat/issue-comment-crud into master 2026-07-14 22:22:48 +08:00
wbtiger 16a14b5571 Merge pull request 'feat(pr): add +comments, +comment-edit, +comment-delete' (#385) from Taoyouce/gitlink-cli:feat/pr-comment-crud into master 2026-07-14 22:22:45 +08:00
wbtiger a2f8e1a01a Merge pull request #283: feat(pr): 在列表输出中显示 PR 编号
# Conflicts:
#	shortcuts/pr/pr.go
#	shortcuts/pr/pr_test.go
2026-07-14 21:57:59 +08:00
wbtiger 1e7b646587 Merge pull request #386: feat(branch): add +all and +set-default
# Conflicts:
#	shortcuts/branch/branch_test.go
2026-07-14 21:57:59 +08:00
wbtiger a019141a8c Merge pull request #355: feat(repo): 新增 repo +clone
# Conflicts:
#	internal/i18n/locales/en-US.json
#	internal/i18n/locales/zh-CN.json
#	shortcuts/repo/repo_test.go
2026-07-14 21:57:50 +08:00
wbtiger c35c33e491 Merge pull request #381: feat(repo): add +forks and +top-counts
# Conflicts:
#	README.md
#	shortcuts/repo/repo_test.go
2026-07-14 21:57:50 +08:00
wbtiger 0771d4658f Merge pull request #382: feat(repo): add +activity for project trends
# Conflicts:
#	internal/i18n/locales/en-US.json
#	internal/i18n/locales/zh-CN.json
#	shortcuts/repo/repo_test.go
2026-07-14 21:57:50 +08:00
wbtiger 10f82c10a2 Merge pull request #378: feat(repo): add +blame for file attribution
# Conflicts:
#	README.md
#	shortcuts/repo/repo.go
#	shortcuts/repo/repo_test.go
2026-07-14 21:57:49 +08:00
wbtiger 05af86b431 Merge pull request #379: feat(repo): manage project topics
# Conflicts:
#	shortcuts/repo/repo.go
#	shortcuts/repo/repo_test.go
2026-07-14 21:57:49 +08:00
wbtiger a0668a3c96 Merge pull request #304: fix(i18n): restore locale validation on Windows
# Conflicts:
#	internal/i18n/locales/en-US.json
#	internal/i18n/locales/zh-CN.json
2026-07-14 21:57:40 +08:00
wbtiger 4e6cc86343 Merge pull request #412: feat(issue): 新增 issue +delete 单议题删除
# Conflicts:
#	shortcuts/issue/issue_test.go
2026-07-14 21:57:26 +08:00
wbtiger 3264c53bcc Merge pull request 'fix(output): deterministic --format table ordering and show error status code' (#258) from luwanzhou/gitlink-cli:fix/output-table-determinism into master 2026-07-14 20:43:51 +08:00
wbtiger b44eaa220e Merge pull request 'fix(output): --format table 支持资源包裹列表响应(此前 list 命令表格从不生效)' (#343) from Taoyouce/gitlink-cli:feat/table-list-rendering into master 2026-07-14 20:43:38 +08:00
wbtiger 40e2c610a5 Merge pull request 'feat(pr): 新增 pr +checkout 本地检出 PR 分支(对标 gh pr checkout)' (#356) from Taoyouce/gitlink-cli:feat/pr-checkout into master 2026-07-14 20:43:34 +08:00
wbtiger b45ff6af88 Merge pull request 'feat(issue): add issue +reopen to reopen a closed issue' (#362) from heke1228/gitlink-cli:feat/issue-reopen into master 2026-07-14 20:40:58 +08:00
wbtiger 4b435b0bf9 Merge pull request 'fix(i18n): add missing cmd.ignore.short group description key' (#364) from heke1228/gitlink-cli:fix/ignore-i18n-key into master 2026-07-14 20:40:53 +08:00
wbtiger 2c64b80f4c Merge pull request 'feat(repo): add repo +rename to rename the current repository' (#368) from heke1228/gitlink-cli:feat/repo-rename into master 2026-07-14 20:40:49 +08:00
wbtiger cc12bc7932 Merge pull request 'feat(pr): 全部 pr 子命令统一支持 --number(--id 保留为兼容别名)' (#341) from Taoyouce/gitlink-cli:feat/pr-number-alias into master 2026-07-14 20:37:21 +08:00
wbtiger df36a9aa40 Merge pull request 'feat(branch): add +all and keyword filtering for +list' (#377) from Taoyouce/gitlink-cli:feat/branch-all-and-filter into master 2026-07-14 20:36:46 +08:00
wbtiger 94940a8e56 Merge pull request 'feat(repo): add +git-tree and +blob for low-level git objects' (#388) from Taoyouce/gitlink-cli:feat/repo-git-objects into master 2026-07-14 20:36:37 +08:00
maidamaliziasimnw 0772d35187 fix(i18n): 命令组简介补齐 i18n——修复 ignore 组显示原始键名 cmd.ignore.short,9 个组硬编码英文改为翻译键
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-10 18:14:38 +00:00
Taoyouce a36e9c92c3 feat(issue): add issue +delete with --yes confirmation
Single-issue deletion via DELETE /api/v1/:owner/:repo/issues/:number.
The existing +batch-delete requires repo manager permissions and global
database IDs; +delete works for the issue author using the web issue
number. Destructive, so it refuses to run without --yes.

Includes en/zh i18n keys, README examples, and unit tests.
Production-verified on gitlink.org.cn (create -> delete -> 404 view).
2026-07-10 11:39:12 +00:00
1os21ka23r9navae6mrro 605829335a feat(repo): add +git-tree and +blob for low-level git objects
Wraps GET /v1/:owner/:repo/git/trees/:sha and /git/blobs/:sha,
which had no CLI coverage:

- repo +git-tree -s <sha|ref> [--recursive]: paged tree entries
- repo +blob -s <sha> [--decode]: blob object; --decode prints the
  base64 content as plain text for piping

Production-verified on gitlink.org.cn (tree listing by ref, blob
fetched by SHA and decoded byte-for-byte). 2 unit tests, README
examples, bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:59:27 +00:00
1os21ka23r9navae6mrro f0e72d8a6c feat(branch): add +all and +set-default
- branch +all: full branch-name list via GET /branches/all
  (AllListService), no paging — handy for scripting and completion.
- branch +set-default: switch the repository default branch via
  PATCH /branches/update_default_branch (manager permission),
  which the CLI previously had no way to do.

Production-verified on gitlink.org.cn (full name list returned;
default branch update status 0). 2 unit tests, README examples,
bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:45:30 +00:00
1os21ka23r9navae6mrro cf42b86f65 feat(pr): add +comments, +comment-edit, +comment-delete
Completes the pull-journal comment lifecycle. The CLI could only
create PR comments (via the linked issue's journals); the dedicated
v1 pull journals endpoints also support list/update/destroy:

- pr +comments -i <num>: list a PR's journals
- pr +comment-edit -i <num> -c <journal-id> -b <text> [-s state]
- pr +comment-delete -i <num> -c <journal-id>

The server's UpdateService hard-requires state in
opened|resolved|disabled (omitting it fails with
'State不包含于列表中'), so +comment-edit always sends state,
defaulting to opened, with client-side validation of the enum.
--comment-id is integer-validated.

Production-verified full lifecycle on gitlink.org.cn:
create -> list -> edit (note updated) -> delete. 3 unit tests,
README examples, bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:43:26 +00:00
1os21ka23r9navae6mrro 443b135f47 feat(issue): add +comments, +comment-edit, +comment-delete
Completes the journal (comment) lifecycle for issues. The CLI could
only create comments; the v1 journals endpoints also support listing,
updating, and deleting:

- issue +comments -n <num>: list journals with the server's filters
  (--keyword, --category comment|operate, paging)
- issue +comment-edit -n <num> -c <journal-id> -b <text>
- issue +comment-delete -n <num> -c <journal-id>

--comment-id is integer-validated before any API call.

Production-verified full lifecycle on gitlink.org.cn: create ->
list (count reflects it) -> edit -> delete. 3 unit tests, README
examples, bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:39:25 +00:00
1os21ka23r9navae6mrro 7570a7c866 feat(repo): add +activity for the project trends feed
Wraps GET /:owner/:repo/activity (ProjectTrendsController#index) with
the server's documented filters:

- --type: Issue | PullRequest | Version
- --status: create | close | journal
- --time: only events from the past N days (integer-validated)

Production-verified on gitlink.org.cn (filtered Issue/close feed
returns trends plus aggregate counts). Unit test covers query shape
and the --time guard; README example and bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:30:20 +00:00
1os21ka23r9navae6mrro b19d45fc6f feat(repo): add +forks and +top-counts
- repo +forks: list users who forked the repository (GET /forks,
  same community time-range flags as +watchers/+stargazers)
- repo +top-counts: repository top-line counts (tags, branches,
  commits, releases, size) via GET /top_counts

Production-verified on gitlink.org.cn (77 forks on a large repo;
counts payload matches web overview). 2 unit tests, README examples,
and bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:24:59 +00:00
1os21ka23r9navae6mrro ca974f111e feat(repo): manage project topics (+topics, +topic-add, +topic-remove)
Wraps the v1 project_topics API:

- repo +topics: searchable, paginated topic list (-k keyword)
- repo +topic-add -n <name>: attach a topic; project_id auto-resolved
  from --owner/--repo (or passed via --project-id)
- repo +topic-remove -t <topic-id>: detach a topic (integer-validated)

Production-verified add/remove round-trip on gitlink.org.cn. 3 unit
tests, README examples, and bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:10:09 +00:00
1os21ka23r9navae6mrro 88df73b92d feat(repo): add +blame for line-by-line file attribution
Wraps GET /api/v1/:owner/:repo/blame (params: filepath, sha) as
repo +blame -p <path> [--ref <ref>], defaulting ref to master.

Production-verified on gitlink.org.cn (875-line file returned 274
blame parts with commit/author metadata). 2 unit tests, README
example, and bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:06:45 +00:00
1os21ka23r9navae6mrro 2e92db38d7 feat(branch): add +all and keyword filtering for +list
- branch +list -k/--keyword: filter branches by name keyword (passed
  through to the v1 branches index)
- branch +all: list all branch names via /branches/all, no pagination

Production-verified on gitlink.org.cn (keyword narrows to matching
branches; /all returns the full set). 2 new unit tests, README
examples, and en-US/zh-CN i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:03:05 +00:00
林晨 (Leo Cheng) ceb34d2104
feat(pr): add pr +status showing pull requests relevant to you
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 13:49:42 +08:00
林晨 (Leo Cheng) 41d2f5bbb0
feat(repo): add repo +rename to rename the current repository
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 13:49:41 +08:00
林晨 (Leo Cheng) 8f5cc1637d
feat(issue): add issue +reopen to reopen a closed issue
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:11:47 +08:00
林晨 (Leo Cheng) 17ec98f198
fix(i18n): add missing cmd.ignore.short group description key
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:11:33 +08:00
Taoyouce 73a7947e22 feat(pr): 新增 +checkout 本地检出 PR 分支(对标 gh pr checkout) 2026-07-07 16:16:35 +00:00
Taoyouce b9cc72d81a feat(repo): 新增 +clone 使用 git 克隆仓库(对标 gh repo clone) 2026-07-07 16:10:19 +00:00
Mengz 5c16a4a70e feat: 新增 shell 自动补全命令 2026-07-07 14:52:28 +08:00
laurencewannamaker 95a8a37876 fix(output): --format table 支持资源包裹列表响应(此前 list 命令表格从不生效)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-05 23:29:15 +00: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 b88c90ffd5 feat(pr): 全部 pr 子命令支持 --number(与 issue 命令组语义一致,--id 保留为兼容别名)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-05 22:50:17 +00:00