Commit Graph

854 Commits

Author SHA1 Message Date
wyxfzgg e6206d3934 feat(skills): add gitlink-project-bootstrap(项目一键初始化:项目描述→建仓→README/LICENSE/CI配置→label/milestone/member→首批Issue→webhook)
新增端到端编排型 Agent Skill,串联多个 gitlink-cli 命令完成完整自动化场景(≥3 命令/Skill 调用)。
遵循 skills 规范(SKILL.md + frontmatter),兼容 Claude Code 等 Agent 平台。
来源:GitLink 大赛 2026 子任务三(端到端自动化工作流)。
2026-07-09 22:20:03 +08:00
wyxfzgg 3e6b5584b5 feat(skills): add gitlink-pr-gate(代码质量看门人:PR提交→自动Review→跑CI→结果汇总评论→质量达标自动合并)
新增端到端编排型 Agent Skill,串联多个 gitlink-cli 命令完成完整自动化场景(≥3 命令/Skill 调用)。
遵循 skills 规范(SKILL.md + frontmatter),兼容 Claude Code 等 Agent 平台。
来源:GitLink 大赛 2026 子任务三(端到端自动化工作流)。
2026-07-09 22:19:59 +08:00
wyxfzgg e3b349464c feat(skills): add gitlink-community-ops(社区运营自动化:新Issue自动分类→分配责任人→定期社区周报→自动发布Release Notes)
新增端到端编排型 Agent Skill,串联多个 gitlink-cli 命令完成完整自动化场景(≥3 命令/Skill 调用)。
遵循 skills 规范(SKILL.md + frontmatter),兼容 Claude Code 等 Agent 平台。
来源:GitLink 大赛 2026 子任务三(端到端自动化工作流)。
2026-07-09 22:19:55 +08:00
chroe 5650bba180 feat(shortcut): add commit shortcuts (list/view/diff/blame)
新增 commit 命令模块,支持提交历史浏览:
- commit +list   列出仓库提交历史
- commit +view   查看指定提交详情
- commit +diff   查看提交 diff
- commit +blame  查看文件 blame

遵循 common.Shortcut 规范,复用 RuntimeContext。
含单元测试 shortcuts/commit/commit_test.go。
2026-07-09 22:14:47 +08: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
wyxfzgg eb5710bffb feat(shortcut): add capability command group + internal/capability (后端能力探测)
新增 capability 命令组 + internal/capability 包,探测 GitLink 后端各模块 API 是否就绪:

- capability +check  探测后端能力,结果缓存 24h
- capability +list   查看已缓存结果

新增 internal/capability 包:Registry 记录各域(label/notification/pm/wiki/pipeline/webhook/member/milestone/export/search/workflow)的可用状态,复用 internal/client 探测,支持 200/401/403/404 与 HTML 响应判定。
含完整单元测试、帮助文档、变更说明。register.go 仅普通注册(3行),不改其他模块渲染。
来源:GitLink 大赛 2026 子赛题一。
2026-07-09 22:05:53 +08:00
9yly 204e70ebe7 feat(skills): add GitLink maintainer copilot 2026-07-09 21:42:46 +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
chroe e7faf0bbe9 feat(shortcut): add watch shortcuts (watch/unwatch/watchers)
新增 watch 命令模块,支持仓库关注(订阅)操作:
- watch +watch     关注指定仓库
- watch +unwatch   取消关注
- watch +watchers  列出仓库关注者

遵循 common.Shortcut 规范,复用 RuntimeContext。
含单元测试 shortcuts/watch/watch_test.go。
2026-07-09 21:35:55 +08:00
chroe 6e300b59dd feat(shortcut): add file shortcuts (list/get/content/tree/create/delete)
新增 file 命令模块,支持仓库文件与目录操作:
- file +list       列出目录文件
- file +get        获取文件内容
- file +content    读取文件原始内容
- file +tree       目录树
- file +create     创建/更新文件
- file +delete     删除文件
- file +recursive  递归列出
- file +search     搜索文件

遵循 common.Shortcut 规范,复用 RuntimeContext。
含单元测试 shortcuts/file/file_test.go。
2026-07-09 21:35:26 +08:00
wyxfzgg 24fb05bc2c feat(skills): add gitlink-release-notes (Release Notes 生成 Skill)
新增 Agent Skill:根据 commit 与 PR 记录生成结构化版本发布说明。

- 输入:仓库 owner/repo + 版本范围
- 输出:按 Feature/Bugfix/Breaking/Docs 分类的结构化 Release Notes(Markdown)
- 串联 gitlink-cli 的 release/pr/commit 相关命令,由 Agent 编排

属于子任务二「Release Notes 生成」场景。遵循 skills 规范(SKILL.md),兼容 Claude Code 等 Agent 平台。
来源:GitLink 大赛 2026 子赛题二。
2026-07-09 21:33:23 +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
wyxfzgg 1527f45dc1 feat(shortcut): add notification command group (list/read/read-all/watch)
新增 notification 命令组,封装 GitLink 通知 OpenAPI:

- notification +list     列出通知(--all/--participating/分页)
- notification +read     标记单条已读 (-i/--id)
- notification +read-all 全部标记已读
- notification +watch    关注/取消关注仓库通知 (-o/-r, --unwatch)

含单元测试(7 测试,覆盖 method/path/query)、帮助文档、变更说明。
来源:GitLink 大赛 2026 子赛题一。
2026-07-09 21:24:06 +08:00
wyxfzgg 26a8d15c15 feat(shortcut): add pm command group (project management)
新增 pm 命令组,补齐 GitLink 项目管理后端的命令化访问:

- pm +dashboards  查看项目仪表盘数据
- pm +sprints     查看 Sprint 任务列表
- pm +weekly      查看周报任务
- pm +tags        查看项目 Issue 标签
- pm +pipelines   查看项目 CI/CD 流水线列表
- pm +runs        查看项目 Action 运行记录

全部只读(GET),统一 owner/repo 自动解析与 --format json|table|yaml。
含单元测试、帮助文档 doc/commands/pm.md、变更说明 doc/changes/pm-shortcut.md。

来源:GitLink 大赛 2026 子赛题一。
2026-07-09 21:21:45 +08:00
wyxfzgg d33c3c9316 feat(shortcut): add export command group (issues/prs/contributors → CSV/JSON)
新增 export 命令组,将仓库数据导出为 CSV/JSON 文件,支撑离线分析与科研数据抽取:

- export +issues    导出 Issue 列表 (GET /v1/:owner/:repo/issues)
- export +prs       导出 PR 列表 (GET /v1/:owner/:repo/pulls)
- export +contributors 导出贡献者统计 (GET /:owner/:repo/contributors)

统一 --format csv|json 与 --output,issues/prs 支持 --state 过滤与分页。
含单元测试(HTTP 方法/路径/参数/CSV·JSON 写入,6 测试)、
帮助文档 doc/commands/export.md、变更说明 doc/changes/export-shortcut.md。

背景:此前仓库数据导出只能手工拼 Raw API;export 组将其提升为一等命令。
来源:GitLink 大赛 2026 子赛题一。
2026-07-09 21:18:25 +08:00
1os21ka23r9navae6mrro 99e536226a feat(tag): add +view with list-scan fallback
tag +view -n <name> wraps GET /v1/:owner/:repo/tags/:name. In
production the show endpoint's tag-existence precheck (gitea-hat
tag_name_set) rejects tags that the paginated list returns
('标签不存在!' even for a tag visible in tags.json), so on error the
command falls back to scanning the paginated list for the requested
name and emits the matching entry.

Production-reproduced the precheck bug and verified the fallback
returns the correct tag. 2 unit tests cover the direct path and the
fallback.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 15:05:17 +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 1bd6e667a7 feat(commit): add commit group (+list, +recent, +diff, +files)
The CLI had no way to read commit history at all. New group wrapping
Api::V1::Projects::CommitsController:

- commit +list [-s ref]: paged commit list, optionally from a
  branch/tag/SHA
- commit +recent [-k keyword]: recent commits with keyword filter
- commit +diff -s <sha>: full diff of a commit
- commit +files -s <sha> [-f filepath]: files changed by a commit,
  optionally restricted to one path

Production-verified on gitlink.org.cn against a 6700+-commit repo
(list totals, keyword-filtered recent, real SHA diff/files). 3 unit
tests, README section, bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:55:31 +00:00
1os21ka23r9navae6mrro 9588c113cf feat(file): add +batch for multi-file single-commit operations
The contents/batch endpoint accepts multiple file operations per
commit, but each existing shortcut sent exactly one. file +batch
takes a JSON spec (array of {action_type, file_path, content,
encoding}) and applies them atomically in one commit:

  gitlink-cli file +batch -s spec.json -b master -m 'batch ops'

Client-side validation: action_type must be create|update|delete,
file_path required. content/encoding are normalized for delete
entries — the server rejects entries missing content with
'请输入正确的文件参数Files' (production-reproduced).

Production-verified on gitlink.org.cn: 2-file create in one commit,
then 2-file delete in one commit. Unit test covers payload shape,
delete normalization, and action_type validation.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:52:09 +00:00
1os21ka23r9navae6mrro a31c53484e feat(action): add +logs for raw workflow job logs
Wraps GET /actions/runs/:run_id/jobs/:job/logs (runs#job_logs, which
redirects to the log file). Non-JSON body is printed as-is so the
output pipes cleanly into grep/less.

Production-verified on gitlink.org.cn (real run's job log streamed).
Unit test covers the nested path and the --run-id integer guard.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:48:50 +00:00
Taoyouce 604303e953 test: batch delete demo files 2026-07-08 22:48:03 +08:00
Taoyouce bbc8a412ee test: batch create two files 2026-07-08 22:47:20 +08: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 a0370fb96b feat(pr): add +commits and +check-merge
- pr +commits: list commits of a pull request
  (GET /pulls/:id/commits)
- pr +check-merge: pre-flight check_can_merge before creating a PR.
  Detects same-branch no-ops and existing duplicate merge requests,
  including the cross-fork case via --fork-project-id (which also
  sets is_original, matching the server's duplicate lookup).

Production-verified on gitlink.org.cn: commits listing, a
'can merge' pass, and duplicate detection that points at the
existing PR. 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:33:59 +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 05a1859c63 test: include action group in RegisterAll expectations
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:19:19 +00:00
1os21ka23r9navae6mrro 3c04513b4a feat(action): new command group for Gitea Actions workflows
Wraps the v1 actions API (Api::V1::Projects::Actions):

- action +list: workflow files under .gitea/workflows
- action +runs -w <file>: paginated run history of a workflow
- action +run -w <file> -r <ref>: trigger a run
- action +rerun / +job-rerun: rerun a whole run or a single job
- action +enable / +disable -w <file>: per-workflow toggle (the server
  requires the workflow param; omitting it errors)

Production-verified: list, runs, trigger (new run appeared in history),
and disable/enable round-trip. Rerun endpoints surface the server
message verbatim when gitea-hat rejects the rerun. 6 unit tests,
README section, and bilingual i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 14:18:51 +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
1os21ka23r9navae6mrro b08d3d04a8 feat(issue): support threaded replies via --reply-to and +comment-replies
- issue +comment --reply-to <id>: reply to an existing comment; the
  server requires both parent_id and reply_id, so both are set
- issue +comment-replies: list a comment's replies via the
  children_journals endpoint with --page/--limit

Production-verified: parent -> reply -> list replies -> delete
round-trip on a real issue. 3 new unit tests and bilingual docs.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 13:56:44 +00:00
1os21ka23r9navae6mrro 3665a8698b fix(pr): post comments to the pull request journals endpoint
pr +comment (and the conversation note posted by pr +review) wrote to
POST /api/v1/:owner/:repo/issues/:issue_id/journals, which attaches
the journal to the underlying issue record. Those journals never show
up in GET /pulls/:id/journals — the list the PR conversation is built
from — so comments posted by the CLI were invisible on the pull
request page.

Post to POST /api/v1/:owner/:repo/pulls/:id/journals (payload key
"note") instead, which also drops the extra PR-detail fetch that was
only needed to resolve the issue id.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 13:52:32 +00:00
1os21ka23r9navae6mrro 029622ff52 feat(issue): add +comments, +comment-edit, +comment-delete
Completes issue comment CRUD on top of the existing issue +comment by
covering the v1 journals endpoints (index/update/destroy):

- issue +comments: list comments with --category/--keyword filters and
  --page/--limit pagination
- issue +comment-edit: PATCH a journal's notes by --comment-id
- issue +comment-delete: DELETE a journal by --comment-id

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

Production-verified against gitlink.org.cn: full create -> list ->
edit -> delete round-trip on a real issue. Includes 6 unit tests,
bilingual 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 13:43:32 +00:00
1os21ka23r9navae6mrro 1eb3b7c485 feat(repo): add repo +edit to update repository settings
Adds a repo +edit shortcut that updates repository metadata via
PATCH /:owner/:repo.json: --description, --website, --private,
--default-branch, --category-id, --language-id.

The server dispatches on which key is present (website, default_branch,
or general metadata) and the metadata path validates name/identifier,
so the command resolves them from the repository detail first and sends
each field group as its own request. Requires at least one field and
validates --private and integer IDs before any API call.

Production-verified against gitlink.org.cn (description/website update
and default-branch round-trip). Includes 6 unit tests and bilingual
README examples plus en-US/zh-CN i18n keys.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-08 13:38:54 +00:00
Taoyouce 794210ec03 feat(wiki): auto-resolve --project-id from repository detail when omitted 2026-07-08 12:27:26 +00:00
yanchaomei 7b60431ac6 feat(workflow): add release notes command 2026-07-08 17:23:00 +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) 5c2b309f38
feat(pr): add pr +checks showing CI build status for a pull request
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 13:49:42 +08: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) 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
林晨 (Leo Cheng) 44d2ba0db2
feat(label): add label +clone to copy labels from another repository
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:43:33 +08:00
林晨 (Leo Cheng) c4a0ac1f13
feat(pr): surface merged_at in pr +view
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:43:32 +08:00
林晨 (Leo Cheng) 6ae52f40f7
fix(label): paginate label lookup in +update to avoid clobbering fields
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:11:48 +08:00
林晨 (Leo Cheng) 6e71ff9941
feat(pr): add pr +edit to update an open pull request
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:11:47 +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) e4b03e0053
fix(workflow): use status/category list filters in health and report fetchers
Signed-off-by: 林晨 (Leo Cheng) <chengkelfan@qq.com>
2026-07-08 12:11:46 +08:00