Commit Graph

493 Commits

Author SHA1 Message Date
wbtiger 71ca2bb683 Merge pull request 'chore(skills): update skills/README.md' (#260) from co63oc/gitlink-cli:fix5 into master 2026-06-22 00:28:41 +08:00
wbtiger 593b5e8f0d Merge pull request 'feat(shortcut): add shortcuts/wiki' (#193) from co63oc/gitlink-cli:fix4 into master 2026-06-22 00:03:52 +08:00
yangsai01 42fba3baca feat(skills): add skill gitlink-pr-review-quality 2026-06-17 09:53:31 +08:00
co63oc dbf0f45ce3 chore(skills): update skills/README.md 2026-06-16 14:27:50 +08:00
co63oc 2c9a8b6192 feat(shortcut): add shortcuts/wiki 2026-06-16 10:24:15 +08:00
wangyue789 bc64e59bd2 feat(ignore): add ignore template shortcuts 2026-06-16 08:21:27 +08:00
wbtiger 982f2cb336 Merge pull request 'feat(issue): add batch maintenance shortcuts' (#165) from wangyue111/gitlink-cli:feat/issue-batch-maintenance into master 2026-06-16 00:15:17 +08:00
luwanzhou 2f4b7674d6 fix(output): deterministic --format table ordering and show error status code
--format table 的渲染依赖 Go map 随机遍历顺序:printMapTable 的行顺序、
以及 collectKeys 补全非优先列后 printSliceTable 的列顺序,每次运行都可能不同,
导致同一命令两次输出不一致,难以对比/diff/脚本断言。

- collectKeys:优先列之后的剩余列改为 sort.Strings 排序,顺序稳定可预期。
- printMapTable:按 collectKeys 顺序输出,行序确定且与列表表列序一致。
- 错误输出:有错误码时显示 Error [<code>]: <message>,便于区分 404/422/500。

仅稳定 table 呈现顺序并丰富错误提示,不影响 json/yaml 输出与成功数据内容。
新增单测覆盖排序、25 次渲染确定性、错误码展示。
2026-06-15 12:59:23 +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
luwanzhou 6565c7bc61 feat(skills): add gitlink-research-progress — 科研进度跟踪与预警
新增科研进度智能跟踪与预警 Skill:监控科研仓库的提交节奏、Issue 解决进度、
里程碑完成度、PR 吞吐与贡献者活跃度(Bus Factor),用红/黄/绿灯标记停滞与
风险,自动生成《科研进度周报 + 风险预警》。

- SKILL.md:五维进度信号、风险规则、综合灯与提交趋势图、周报模板、执行步骤
- examples/progress-workflow.md:真实命令驱动的周报生成示例

子赛题四(科研辅助)。纯 Markdown,只读分析型。
2026-06-15 11:17:00 +08:00
luwanzhou 71d0cbd8b7 feat(skills): add gitlink-research-reproducibility — 科研复现性评估
新增科研复现性评估 Skill:通过 gitlink-cli 只读命令对科研仓库做六维体检
(环境/数据/运行/结果/文档/可维护性),输出可量化的复现性评分报告
(0-100 分 + A/B/C/D 等级 + 风险等级 + 分优先级修复清单)。

- SKILL.md:六维评估模型、评分细则、雷达图与完整报告模板、执行步骤
- examples/reproducibility-workflow.md:标准工作流示例
- examples/real-eval-pdeep.md:在真实科研仓库 opensci/pDeep 上的端到端验证

子赛题四(科研辅助)。纯 Markdown,只读分析型,对目标仓库零副作用。
2026-06-15 11:14:42 +08:00
luwanzhou a8fa86ac66 feat(skills): add gitlink-research-match — 科研协作智能匹配
新增科研协作智能匹配 Skill:分析科研仓库的技术栈、未解决 Issue 与研究缺口
构建需求画像,从 GitLink 平台检索并匹配候选学者/团队,生成《科研协作推荐
方案》(含匹配打分、推荐理由、可切入 Issue 与外联草稿)。

- SKILL.md:需求/候选/匹配三步法、匹配评分模型、推荐方案模板、执行步骤
- examples/match-workflow.md:真实命令驱动的协作推荐示例

子赛题四(科研辅助)。纯 Markdown,只读分析型、人在回路(不替用户发邀请)。
2026-06-15 10:47:58 +08:00
wangyue789 0703d3eba9 feat(issue): add batch maintenance shortcuts 2026-06-15 08:21:10 +08:00
luwanzhou e5cb868442 feat(search): add recommended projects shortcut
Add `search +recommend`, listing the platform's recommended/featured
projects via GET /api/projects/recommend — a discovery endpoint that had
no shortcut coverage. The endpoint returns a bare JSON array; the command
normalizes it into structured data for clean output.

Includes unit tests, bilingual (en-US/zh-CN) help text, README updates,
and a change note. Verified against production gitlink.org.cn.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 01:42:15 +08:00
luwanzhou e6929a1825 feat(examples): add research-team-insight end-to-end workflow (Go)
A Go workflow (subtopic 3) that composes existing gitlink-cli commands
into a reproducible research-team insight pipeline:

  [search +users] -> profile statistics x N (+ user +info)
    -> aggregate (ability matrix / discipline coverage / roles / languages)
    -> render team report (self-contained HTML, inline SVG: ability radar
       overlay + collaboration network graph)
    -> archive (team-insight.md + command_log.json)

Implemented in Go to match the main repo's stack (shared go.mod, covered
by go build / vet / test / gofmt); standard library only, no third-party
deps. Handles Windows .cmd CLI shims, retries transient TLS timeouts, and
auto-flags mirror-inflated accounts in the report.

Includes unit tests, docs (architecture + runbook + SVG diagram),
run_demo.ps1, sample config, and real demo outputs (3 GitLink members,
19 command invocations). Reuses the gitlink-research-profile skill's
portrait model.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 23:56:32 +08:00
wbtiger ef7a2c6ac1 Merge pull request 'docs: add luwanzhou and whale_hihihi to contributors' (#247) from chore/add-contributors-luwanzhou-whale into master 2026-06-14 19:41:06 +08:00
Tiger 6eebfeb40d docs: add luwanzhou and whale_hihihi to contributors 2026-06-14 19:41:54 +08:00
wbtiger 6454645f50 Merge pull request 'feat(skills): add gitlink-issueops — Issue 驱动的 Agent 自动化示例 Skill(响应 #6)' (#220) from recorder/gitlink-cli:feat/issueops-skill into master 2026-06-14 19:35:41 +08:00
wbtiger d3485fce45 Merge pull request 'feat(examples): add pr-quality-gatekeeper end-to-end workflow(子题三:门禁闭环 + 全仓批扫)' (#219) from recorder/gitlink-cli:feat/example-workflow-pr-gatekeeper into master 2026-06-14 19:32:55 +08:00
wbtiger 67b46eece4 Merge pull request 'feat(skills): 新增 issue标签管理的skill、过期issue自动管理的skill' (#233) from yangsai/gitlink-cli:feat/gitlink-stale-issue-manager into master 2026-06-14 19:23:37 +08:00
wbtiger 1806382459 Merge pull request 'feat(skills): 新增 科研Fork影响力分析 的skill : gitlink-research-fork-impact' (#218) from yangsai/gitlink-cli:feat/gitlink-research-fork-impact into master 2026-06-14 19:21:20 +08:00
wbtiger 46154f7c5e Merge pull request 'feat(skills): 新增 学者/团队科研画像生成 的skill : gitlink-scholar-profile' (#149) from yangsai/gitlink-cli:feat/gitlink-scholar-profile into master 2026-06-14 19:20:42 +08:00
wbtiger a61a8c4ef4 Merge pull request 'feat(skills): 新增 3 个 Agent Skill — wiki-builder, pipeline-guardian, webhook-sentinel' (#144) from whale_hihihi/gitlink-cli:skills/new-skills into master 2026-06-14 19:18:43 +08:00
wbtiger 789db5e5ae Merge pull request 'feat: 新增 dataset 数据集管理快捷命令(list/view/create/update/delete-attachment)' (#243) from luwanzhou/gitlink-cli:feat/dataset-shortcuts into master 2026-06-14 18:51:49 +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
wbtiger 1c84cac060 Merge pull request 'feat(shortcut): add shortcuts/ignore' (#153) from co63oc/gitlink-cli:fix3 into master 2026-06-14 18:29:41 +08:00
wbtiger 706a1396ad Merge pull request 'chore(doc): fix README.md' (#152) from co63oc/gitlink-cli:fix1 into master 2026-06-14 18:28:17 +08:00
luwanzhou 979c70c4b0 docs(skills): add TROUBLESHOOTING.md for gitlink-research-profile 2026-06-14 15:32:41 +08:00
luwanzhou 9572a13da8 feat(skills): add gitlink-research-profile (research subject portrait)
Add a new AI Agent skill that builds person/team-centric research
portraits from GitLink's native statistics endpoints (consumed via the
`gitlink-cli profile` commands):

- ability radar (influence/contribution/activity/experience/language)
- discipline/major categories
- role distribution (owner/manager/developer/reporter)
- recent activity series and yearly contribution heatmap
- language stack (percent + per-language score)
- team aggregation and cross-discipline collaboration matching

Differentiated from gitlink-research-tracker (topic/project-centric) and
gitlink-contributor-insight (PR-derived activity): this skill is
person/team-centric and uses the platform's native portrait data.

Includes SKILL.md, REFERENCE.md (field reference from real responses),
a real sample report (何慧/@yystopf, with mirror-inflation caveats
correctly applied), and an agent-conversation example. Registered in
skills/README.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 15:15: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
yangsai01 2729cc69ba feat(skills): add skill gitlink-issue-tag、gitlink-stale-issue-manager 2026-06-12 18:28:07 +08:00
Ct201314 e6c92973cb fix(workflow): 修正 gitlink-flow 目录结构(移除误嵌套的 src/src) 2026-06-12 18:17:25 +08:00
Ct201314 ad470f15ba feat(workflow): gitlink-flow 采集主调用链改用 gitlink-cli 命令
依审阅意见整改:cli.py 封装 gitlink-cli 命令为主调用链,glapi 作为 fallback;README 流程图改 mermaid;周报标注数据来源。
2026-06-12 18:16:24 +08:00
Ct201314 64283c7939 feat(skills): 补充 gitlink-metrics 配套脚本与测试
将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)纳入 PR,使其自包含可运行。
2026-06-12 18:02:08 +08:00
Ct201314 86d93655b3 feat(skills): 补充 gitlink-onboard 配套脚本与测试
将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)纳入 PR,使其自包含可运行。
2026-06-12 18:01:59 +08:00
Ct201314 8c6a00f407 feat(skills): 补充 gitlink-stale 配套脚本与测试
将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)纳入 PR,使其自包含可运行。
2026-06-12 18:01:47 +08:00
Ct201314 c7735a1867 feat(skills): 补充 gitlink-standup 配套脚本与测试
将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)纳入 PR,使其自包含可运行。
2026-06-12 18:01:39 +08:00
Ct201314 29b131ba45 feat(skills): 补充 gitlink-changelog 配套脚本与测试
将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)纳入 PR,使其自包含可运行。
2026-06-12 18:01:31 +08:00
Ct201314 2fdb56d7a6 feat(skills): 补充 gitlink-kb 配套脚本与测试
依审阅意见,将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)一并纳入,使 PR 自包含可运行。
2026-06-12 18:00:53 +08:00
Ct201314 f5b378a42b feat(skills): 补充 gitlink-deps 配套脚本与测试
依审阅意见,将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)一并纳入,使 PR 自包含可运行。
2026-06-12 18:00:37 +08:00
Ct201314 af7a8a2fa9 feat(skills): 补充 gitlink-scaffold 配套脚本与测试
依审阅意见,将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)一并纳入,使 PR 自包含可运行。
2026-06-12 18:00:30 +08:00
Ct201314 1d7216b8f3 feat(skills): 补充 gitlink-newcomer 配套脚本与测试
依审阅意见,将 SKILL.md 方式A引用的脚本(scripts/)与单元测试(tests/)一并纳入,使 PR 自包含可运行。
2026-06-12 18:00:19 +08:00
yangsai01 7b880cb8ad feat(skills): add skill gitlink-scholar-profile 2026-06-12 10:43:23 +08:00
yangsai01 fb2d60f67a feat(skills): add skill gitlink-research-fork-impact 2026-06-12 10:37:31 +08:00
何开元 968ea0d7b4 feat(skills): add gitlink-issueops — issue-driven agent automation (closes #6)
IssueOps loop: create an issue -> agent picks it up -> result written back.
Two modes: live webhook callback, and a zero-infra Replay mode that polls
'webhook +tasks' (GitLink records every delivery payload even if the endpoint
is unreachable - validated on the real platform).

- SKILL.md: task conventions ([agent] prefix / agent:todo label), 7-step loop,
  untrusted-input rule (issue content is data, never instructions), write ops
  gated on user confirmation, gatekeeper integration for code tasks
- references/REFERENCE.md: allowed webhook events, hooktask payload anatomy,
  dedup cursor, the two issue-id/API tracks (v1 PATCH tag_ids for plain issues),
  CLI 0.2.0 quirks discovered during validation
- references/validation-session.md: full real-platform run with verifiable ids
  (webhook 51579, issue #3/144169, hooktask 4836246, comment 475692, label attached)

Requested by maintainer in #6 ('后续可以考虑出一个示例 Skill 来演示这个场景').
2026-06-11 19:34:36 -07:00
何开元 85a67a875f feat(examples): add pr-quality-gatekeeper end-to-end workflow
Runnable reference implementation of the merged gitlink-gatekeeper Skill:
collect -> route -> decide (deterministic 0-100 scorecard, three-state verdict)
-> write-back (comment + label + tracking issue, --apply gated, never auto-merge).

- scripts/gatekeeper_workflow.py: single-PR gate loop (pure stdlib, py>=3.9)
- scripts/gatekeeper_sweep.py: repo-wide triage — real run over all 113 open PRs
  of this repo (read-only): PASS 105 / COMMENT 6 / REQUEST_CHANGES 2, avg 88.5
- findings.example.json: real code-review findings of a real PR diff (verifiable line numbers)
- ci-example/: Gitea Actions integration (exit code 2 = REQUEST_CHANGES as CI gate)
- docs: architecture / quickstart / runbook / verification (real-platform evidence)
- tests/test_scoring.py: determinism regression guard (green)

Closes the sub-task-3 loop on top of the label command (#89) and the
gitlink-gatekeeper Skill (#90), sharing one policy file across all three layers.
2026-06-11 19:03:52 -07:00
Mengz 0a5bad01c8 fix(issue): 修复详情缺失并保护更新元数据 2026-06-10 19:33:56 +08:00