Commit Graph

53 Commits

Author SHA1 Message Date
whale 8176d8854c Merge remote-tracking branch 'origin/master' into master
- 保留本地 Wiki shortcuts 完整实现(含 sidebar/目录管理)
- 合并 client.go:保留 DoRaw/DoForm,增加 gateway 错误码与 wiki/open 免 .json 后缀处理
- 更新 register_test.go 以校验 25 个命令域(含 pm/wiki/file/snippet)
- 移除与本地 issue batch 测试冲突的 origin batch_update_test.go

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-02 16:08:43 +08:00
co63oc 2c9a8b6192 feat(shortcut): add shortcuts/wiki 2026-06-16 10:24:15 +08:00
wauxing ca2431f05b Merge remote-tracking branch 'upstream/master' into baoerjun_branch
# Conflicts:
#	shortcuts/issue/issue.go
#	shortcuts/register.go
#	shortcuts/release/release.go
#	shortcuts/release/release_test.go
#	shortcuts/repo/repo_test.go
#	skills/README.md
#	skills/gitlink-onboarding/SKILL.md
#	skills/gitlink-pr/SKILL.md
#	skills/gitlink-repo/SKILL.md
#	skills/gitlink-search/SKILL.md
2026-06-15 11:15:43 +08:00
wangyue789 0703d3eba9 feat(issue): add batch maintenance shortcuts 2026-06-15 08:21:10 +08:00
Tiger ecc5578cf4 Merge upstream/master: resolve conflicts in README.zh-CN.md and register_test.go
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-14 18:50:50 +08:00
wbtiger 8c29d98a57 Merge pull request 'feat(profile): 新增用户画像统计快捷命令' (#241) from luwanzhou/gitlink-cli:feat/profile-shortcuts into master 2026-06-14 18:32:04 +08:00
luwanzhou 29ca94db76 feat(dataset): add full dataset CRUD (view/create/update/delete-attachment)
Extend the dataset group beyond the verified project query to the full
documented contract:

- dataset +view              -> GET    /v1/{owner}/{repo}/dataset (+page/limit)
- dataset +list --ids        -> GET    /v1/project_datasets   (prod-verified)
- dataset +create            -> POST   /v1/{owner}/{repo}/dataset
- dataset +update            -> PUT    /v1/{owner}/{repo}/dataset
- dataset +delete-attachment -> DELETE /attachments/{uuid}

Quality over a bare contract port: bilingual (en-US/zh-CN) i18n help,
--dry-run preview on create/update, --yes confirmation guard on the
destructive attachment delete, and license-id validation.

Only /v1/project_datasets is currently reachable on production www; the
per-repo routes follow the published OpenAPI spec and return 404 there
until the platform deploys them (documented in the change note). Unit
tests exercise every command against a mock server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 14:01:57 +08:00
luwanzhou 7f731eb04f feat(dataset): add dataset query shortcuts
Add a `dataset` shortcut group for querying GitLink research datasets,
which previously had no shortcut coverage:

- dataset +list --ids <ids>  -> GET /v1/project_datasets
- dataset +view              -> GET /v1/project_datasets (project ID
                                 resolved from --owner/--repo)

Only the platform-wide query endpoint is available on production
gitlink.org.cn; the documented per-repo dataset CRUD routes return 404
there (verified against the API), so this group wraps the query endpoint
for both listing and per-repo viewing.

Includes unit tests, bilingual (en-US/zh-CN) i18n help text, README
updates, and a change note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 11:48:22 +08:00
luwanzhou da4c8c0d10 feat(profile): 新增用户画像统计快捷命令
新增只读 profile 命令组,封装此前无 shortcut 覆盖的
GitLink 用户画像统计接口:

profile +ability      -> /users/{user}/statistics/develop
profile +role         -> /users/{user}/statistics/role
profile +major        -> /users/{user}/statistics/major
profile +activity     -> /users/{user}/statistics/activity
profile +contribution -> /users/{user}/headmaps

省略 --user 时默认通过 /users/me 解析当前认证用户。
统计命令支持 --start-time/--end-time 时间窗口,
+contribution 支持 --year 参数。

包含单元测试、中英双语 i18n 帮助文本、README 更新
及变更说明文档。
2026-06-13 23:07:27 +08:00
co63oc 17c555620b feat(shortcut): add shortcuts/ignore 2026-06-09 08:50:39 +08:00
wbtiger 462ae7b012 Merge pull request 'feat(repo): 新增 repo +tree 文件树查询命令' (#143) from ohanabi/gitlink-cli:feat/repo-tree-shortcut-final into master 2026-06-09 01:18:09 +08:00
NeeNe 21ebb2f89c chore: 打磨仓库文件树命令交付质量 2026-06-08 12:13:28 +08:00
NeeNe 0da1d8d7bf docs: 补充仓库文件树命令变更说明 2026-06-08 11:55:09 +08:00
NeeNe a580562922 chore: 打磨仓库文件树命令文档和国际化 2026-06-08 11:51:54 +08:00
NeeNe 6e45fbb3e1 feat: 新增仓库文件树快捷命令 2026-06-08 11:36:41 +08:00
wangyue789 2d963ebf41 feat(release): add edit and update shortcuts 2026-06-08 08:30:21 +08:00
wbtiger 27cc58328d Merge pull request 'feat(repo): add insight shortcuts' (#59) from wangyue111/gitlink-cli:feat/repo-insight-shortcuts into master 2026-06-08 02:32:26 +08:00
wbtiger ca578a74be Merge pull request 'feat(repo): add settings and topic shortcuts' (#71) from wangyue111/gitlink-cli:feat/repo-settings-shortcuts into master 2026-06-08 02:26:54 +08:00
wbtiger dd4ed35448 Merge pull request '修正 Issue 和 PR 列表筛选' (#117) from Mengz/gitlink-cli:mengz/list-filter-fixes into master 2026-06-08 02:24:41 +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
Mengz 0b48ec90d8 fix: 修正 Issue 和 PR 列表筛选 2026-06-05 11:43:30 +08:00
whale ca2a9a0fd0 docs: change test repo to whale_hihihi/test 2026-06-04 15:06:06 +08:00
whale dc6c351085 docs: fix path ./ not ../ 2026-06-04 14:59:31 +08:00
whale 3be6556db9 docs: fix commands to use ./gitlink-cli.exe, rename +tasks to +history 2026-06-04 14:58:20 +08:00
whale 2876899663 docs: add webhook enhancement section to implementation doc 2026-06-04 14:37:52 +08:00
whale 18654a807d merge: sync fork, resolve conflicts keeping ours 2026-06-04 08:39:22 +08:00
whale 1dfc38f196 feat: Wiki shortcuts 全面增强 - 9个命令支持页面和目录管理
- 页面操作: list, view, create(支持--dir), update, delete(两步清理Sidebar)
- 目录操作: mkdir(支持--parent建子目录), rmdir, renamedir
- 页面重命名: rename (获取内容→创建新页→删除旧页→更新Sidebar)
- Sidebar机制: 目录结构完全由_Sidebar页面控制
- delete采用两步操作: deleteWiki清空内容 + cleanSidebar移除链接
- 修复types.go合并后多余的errors import
2026-06-04 08:33:34 +08:00
whale 0efb085bf3 merge: sync with upstream, keep our changes 2026-06-04 08:31:35 +08:00
wangyue789 9bfa59c7e8 feat(repo): add settings and topic shortcuts 2026-06-04 07:19:08 +08:00
wangyue789 cedd8b6263 feat(repo): add insight and interaction shortcuts 2026-06-04 07:17:13 +08:00
wauxing 50851ab7c0 refactor: 收敛 21 个 Shortcut 的代码简化 — 提取辅助函数、测试表格化
- ci: 提取 newCIToggleShortcut 消除 enable/disable 重复
- user: 提取 newStatsShortcut 消除 stats-activity/develop/role/major 重复
- ci/user/pr/issue 测试: 表格化驱动合并重复测试
- pr: 简化 reviews 查询字符串拼接
- .gitignore: 忽略 doc/ 目录
- 取消跟踪 doc/progress_人员A.md
2026-06-03 21:01:17 +08:00
wauxing bf75410586 fix: 审查修复 — 汇总表数据、SKILL.md 文档完善、代码简化
- doc/shortcut-gaps.md: 修正汇总表错误 (pr 0→2, ci 0→3, 合计 16→21)
- repo.go: 提取 newRepoGetShortcut 消除 contributors/languages/tags 重复
- user_test.go: MissingLogin 测试合并为表驱动
- SKILL.md x6: 删除已有 Shortcut 对应的 Raw API, 补全缺失的表格列/使用示例
2026-06-03 20:55:25 +08:00
wauxing 1286ef6fb9 docs: 移除 PR 端点'仅非 fork'错误标注
根因确认: baoerjun/gitlink-cli 仓库已被删除(不是 fork 导致 404)
whale_hihihi/gitlink-cli 是明确 fork,check_can_merge/get_branches 均正常工作
两个端点是 GitLink 平台非公开的非标准端点,不在 api_reference 文档中
SKILL.md 从项目初始提交就有这些端点,原始描述是正确的
2026-06-02 15:49:14 +08:00
wauxing 270ee56925 feat: 补全 PR/CI 领域 5 个 Shortcut + 修复 -h 标志冲突
PR:
- +check-merge: POST /:owner/:repo/pulls/check_can_merge (仅非 fork 可用)
- +branches: GET /:owner/:repo/pulls/get_branches (仅非 fork 可用)

CI:
- +enable: POST /v1/:owner/:repo/actions/enable
- +disable: POST /v1/:owner/:repo/actions/disable
- +authorize: GET /:owner/:repo/ci_authorize

修复:
- check-merge 移除 -h 短标志避免与 cobra help 冲突

SKILL.md:
- PR: 恢复 check_can_merge/get_branches 端点,添加快捷命令到表格和示例
- CI: 替换虚假端点为正确的 actions/enable/disable + ci_authorize

验证:
- 创建自有测试仓库 baoerjun/test-verify-v2 进行端到端验证
- check_can_merge:  可以合并 / 分支内容相同 均正确返回
- get_branches:  返回 222 个分支
- ci_authorize:  ok=True
- enable/disable:  端点可用(需 pipeline 文件)
2026-06-02 15:41:31 +08:00
wauxing 7b3d2a5454 feat: 补全 16 个 Shortcut + 修复 2 个已有 Bug + 清理虚假端点
新增 Shortcut (4 领域):
- issue: +journals (获取 Issue 评论列表)
- repo: +readme +contributors +languages +commits +tags +raw
- org: +teams +create-team +remove-member
- user: +headmaps +stats-activity +stats-develop +stats-role +stats-major +trends

Bug 修复:
- org +create: 补充必填字段 nickname 和 visibility (此前无法创建组织)
- org +create-team: 补充必填字段 nickname (此前无法创建团队)

SKILL.md 修正:
- gitlink-pr: 标记 check_can_merge/get_branches 为已验证 404 的虚假端点
- gitlink-ci: 标记 activate/deactivate/ci_authorize 为已验证 404 的虚假端点

文档:
- 新增 doc/shortcut-gaps.md 记录全部缺口与验证状态

全部 16 个 Shortcut 已通过真实 GitLink API 端到端验证。
2026-06-02 15:13:07 +08:00
wangyue789 89d5321713 feat(issue): support metadata fields and id alias 2026-06-02 12:42:34 +08:00
whale e3c1952826 Merge cuijiaxiang23: Wiki + PM + Webhook + Issue batch
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 11:51:54 +08:00
whale 2b0ee1be6f feat: add Wiki, PM kanban, Webhook shortcuts + Issue batch operations
Wiki (5 commands):
- wiki +list/+view/+create/+update/+delete
- Uses gateway.gitlink.org.cn API gateway
- JSON body with owner/repo params, auto base64 encoding

PM/Kanban (6 commands):
- pm +boards/+sprints/+weekly/+tags/+pipelines/+actions
- Shared listPM helper to reduce duplication

Webhook (4 new commands + bugfix):
- webhook +view/+update/+history/+test
- Fixed create missing http_method field

Issue batch (3 commands):
- issue +batch-update/+batch-delete/+batch-close
- Dry-run safety + CSV file support

Infrastructure:
- Added DoForm/CallAPIRawForm for form-encoded bodies
- Added DecodeForm test utility
- All 39 tests passing

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 11:38:55 +08:00
wbtiger fb847bf13f Merge remote-tracking branch 'wangyue111/feat/pipeline-openapi-shortcuts' into _test_68_int 2026-06-01 01:17:23 +08:00
何开元 cca3d019fe feat(label): add issue label shortcuts
Add a `label` shortcut group wrapping the GitLink issue_tags (项目标记) API
with +list / +create / +update / +delete, plus the gitlink-label Skill,
bilingual README usage, and a changelog entry.

- +list supports keyword filter, only-name, and sort options
- +create defaults color to #1E90FF and validates hex client-side
- +update fetches current values and merges, preserving unspecified fields
- unit tests cover HTTP method, path, query, payload, color validation, id coercion
- ignore the local `gitlink-cli` build artifact (.gitignore previously only
  ignored the Windows .exe)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 06:38:39 -07:00
wangyue789 41a2666c5b feat(pipeline): add OpenAPI shortcuts 2026-05-27 22:20:18 +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 7bcba5aed8 feat(member): add repository member shortcuts (#46)
Add member command group with 8 shortcuts:
- +list, +add, +batch-add, +remove, +role
- +invite-link, +invite-info, +accept-invite

Batch add supports --dry-run, CSV file input, and partial failure
reporting. 12 tests included.

Co-authored-by: Jiachen Li (puygob236) <noreply@gitlink.org.cn>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:24:15 +08:00
Surponess 02c09a1030 Merge branch 'surponess_br'
# Conflicts:
#	shortcuts/pr/pr_test.go
2026-05-25 11:50:03 +08:00
Surponess 4176555d37 变更文件清单
1. shortcuts/pr/pr.go — 核心逻辑
+diff 命令替换:

旧实现:与 +files 完全相同,调用 /pulls/{id}/files(只返回文件列表)
新实现:两步调用
GET /v1/{owner}/{repo}/pulls/{id}/versions → 取最新版本 ID
GET /v1/{owner}/{repo}/pulls/{id}/versions/{version_id}/diff → 获取逐行 diff
新增参数:

--file / -f — 过滤特定文件的 diff
--stat — 仅显示统计摘要
新增函数:

getLatestVersionID() — 获取 PR 最新版本 ID
formatDiffStat() — 提取增删统计摘要
2. internal/output/formatter.go — Diff 渲染
isDiffData() — 通过检测 files[].sections 区分 diff 数据和普通文件列表
printDiffTable() — 以 git diff 风格渲染:diff --git 头、hunk header、增删行
修改 printTable() 路由,自动检测并走 diff 渲染分支
3. shortcuts/pr/pr_test.go — 新增 5 个测试
测试用例	验证内容
TestPRDiffFetchesVersionThenDiff	两步调用完整流程
TestPRDiffWithFileFilter	--file 参数传递 filepath 查询参数
TestPRDiffStatMode	--stat 模式只输出统计
TestPRDiffFailsWhenNoVersions	无版本时返回友好错误
TestPRDiffFailsWhenPRNotFound	PR 不存在时正确处理 404
4. Skill 文档更新
SKILL.md — 更新 +diff 描述、新增使用示例、更新注意事项
gitlink-pr-files.md — 完整重写,明确 +files 和 +diff 的区别
2026-05-25 11:36:49 +08:00
whale 803a894f05 feat: add DevOps pipeline, CI, milestone and label shortcuts
- Add Dockerfile and .dockerignore for containerized deployment
- Add GitLink DevOps pipelines (.devops/) for auto-build and manual publish
- Add GitHub Actions CI workflow with Go test and vet
- Add golangci-lint configuration
- Update Makefile with lint, test-cover, ci, vet targets
- Add shared test utilities (shortcuts/common/testutil.go)
- Add shortcut development template (shortcuts/_template/)
- Add developer guide (doc/dev-guide.md)
- Add milestone management shortcut (milestone +list/create/view/close/delete)
- Add label management shortcut (label +list/create/delete)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 16:58:02 +08:00