Commit Graph

148 Commits

Author SHA1 Message Date
wbtiger 5bea480990 Merge pull request 'feat(repo): 增加 repo +file 读取仓库任意文件能力' (#302) from Mengz/gitlink-cli:mengz/repo-file-shortcut into master 2026-07-14 22:25:35 +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 67397c2bd4 Merge pull request 'feat(label): add label +clone to copy labels from another repository' (#367) from heke1228/gitlink-cli:feat/label-clone into master 2026-07-14 22:24:49 +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 dd3783d998 Merge pull request 'fix(repo): +tree 未指定 --ref 时遵循仓库默认分支(修复 main 默认分支仓库 404)' (#337) from Taoyouce/gitlink-cli:fix/repo-tree-default-branch into master 2026-07-14 22:24:10 +08:00
wbtiger a3bddb552c Merge pull request 'fix(workflow): use status/category list filters in health and report fetchers' (#360) from heke1228/gitlink-cli:fix/workflow-health-list-filter into master 2026-07-14 22:22:51 +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 bced605f81 Merge pull request 'fix(ci): CI 固定 Go 1.22 低于 go.mod 要求的 1.26.1,改用 go-version-file 跟随 go.mod' (#419) from Taoyouce/gitlink-cli:fix/ci-go-version into master 2026-07-14 22:22:41 +08:00
wbtiger cc1b055e3f Merge pull request #213: feat(repo): add mirror sync shortcut
# Conflicts:
#	shortcuts/register.go
#	shortcuts/register_test.go
2026-07-14 21:58:06 +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 8a60844342 Merge pull request #284: feat(pr): 支持按编号搜索 PR
# Conflicts:
#	shortcuts/pr/pr.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 4e6cc86343 Merge pull request #412: feat(issue): 新增 issue +delete 单议题删除
# Conflicts:
#	shortcuts/issue/issue_test.go
2026-07-14 21:57:26 +08:00
wbtiger 3e64f86816 Merge pull request 'feat(commit): add commit inspection shortcuts' (#206) from wangyue111/gitlink-cli:feat/commit-inspect-shortcuts into master 2026-07-14 20:44:29 +08:00
wbtiger 35743c8ae6 Merge pull request 'feat(wiki): --project-id 可选化,省略时自动从仓库详情解析(免手工查询平台内部 ID)' (#372) from Taoyouce/gitlink-cli:feat/wiki-project-id-autoresolve into master 2026-07-14 20:44:21 +08:00
wbtiger 80d6c87142 Merge pull request 'feat(templates): 新增 shortcuts/_template 与 skills/_template 开发脚手架(补齐起步资源包缺失项)' (#417) from Taoyouce/gitlink-cli:feat/starter-templates into master 2026-07-14 20:44:16 +08:00
wbtiger e448f383ee Merge pull request 'feat(member): add application shortcuts' (#267) from wangyue111/gitlink-cli:feat/member-application-shortcuts into master 2026-07-14 20:43:47 +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 2d8ff0d227 Merge pull request 'fix(label): paginate label lookup in +update to avoid clobbering fields' (#363) from heke1228/gitlink-cli:fix/label-update-pagination into master 2026-07-14 20:43:30 +08:00
wbtiger 177f9082d8 Merge pull request 'feat(issue): 新增 batch-reopen / batch-comment 批量操作' (#407) from chroe/gitlink-cli:feat/issue-batch-reopen-comment into master 2026-07-14 20:43:19 +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 9e3bc3f66b Merge pull request 'fix(issue): preserve metadata during batch close' (#145) from dtwdtw/gitlink-cli:fix/batch-close-issue-metadata into master 2026-07-14 20:40:31 +08:00
wbtiger 4089f46cd8 Merge pull request 'fix(milestone): +create 的 --description/--due-date 放宽为可选,与平台 API 对齐' (#336) from Taoyouce/gitlink-cli:fix/milestone-create-optional-fields into master 2026-07-14 20:37:33 +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 14e611daa8 Merge pull request 'fix(pr): comments posted by pr +comment are invisible on the PR page' (#376) from Taoyouce/gitlink-cli:fix/pr-comment-endpoint into master 2026-07-14 20:36:49 +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
maidamaliziasimnw 9b4f890208 fix(ci): CI 安装 golangci-lint 并修复 make lint 全部 11 处报告(errcheck/gosec/misspell)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-10 17:26:52 +00:00
maidamaliziasimnw bb89f671b1 feat(templates): 新增 shortcuts/_template 与 skills/_template 开发脚手架(起步资源包缺失项)
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-10 16:14:27 +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
chroe f986634498 feat(issue): add batch-reopen and batch-comment shortcuts
在现有 batch-close/update/delete 基础上补全 Issue 批量操作:

- issue +batch-reopen  批量重新打开已关闭的 Issue
- issue +batch-comment 批量为多个 Issue 添加评论

两者均复用现有批量基础设施(collectIssueNumbers / parseBool /
fetchExistingIssue / batchCloseSummary),支持 --numbers、--from CSV、
--dry-run 预演,与 batch-close 行为一致。

reopenIssue 复用 fetchExistingIssue 保留 subject/description 后将
status_id 置为 openIssueStatusID(1);commentIssue 向
/v1/.../issues/{n}/journals POST notes。

含单元测试(dry-run 路径 + 必填参数校验)。
2026-07-09 22:13:52 +08: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