gitlink-cli/skills/gitlink-contributor-insight/examples/jiangtx-gitlink-cli.md

202 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 执行样例jiangtx/gitlink-cli 贡献者活跃度分析
> 执行日期2026-06-03
> 执行版本gitlink-cli (当前版本)
> 说明:本文件记录了一次完整的贡献者分析执行过程,包含实际命令输出和最终报告。可作为后续分析的参考模板。
---
## 实际执行的命令与输出
### 1. `gitlink-cli repo +info`
```json
{
"ok": true,
"data": {
"author": { "id": 148911, "login": "jiangtx", "name": "jiangtx" },
"clone_url": "https://gitlink.org.cn/jiangtx/gitlink-cli.git",
"contributor_users_count": 2,
"default_branch": "master",
"fork_info": {
"fork_form_name": "gitlink-cli",
"fork_project_identifier": "gitlink-cli",
"fork_project_user_login": "Gitlink",
"fork_project_user_name": "GitLink"
},
"forked_from_project_id": 1513956,
"full_name": "jiangtx/gitlink-cli",
"identifier": "gitlink-cli",
"issues_count": 0,
"permission": "Manager",
"private": false,
"project_id": 1547588,
"pull_requests_count": 9,
"size": "13.4 MB",
"watchers_count": 0
}
}
```
### 2. `gitlink-cli pr +list` (关键数据源)
9 个 PR全部已合并。按作者汇总
| author_login | PR 数 | PR 编号 | 时间范围 |
|-------------|--------|---------|----------|
| lindiwen23 | 5 | #1, #6, #7, #8, #9 | 2026-06-0106-03 |
| jiangtx | 4 | #2, #3, #4, #5 | 2026-06-0206-03 |
PR 详细列表:
```json
// lindiwen23 的 PR
{ "pull_request_number": 1, "author_login": "lindiwen23",
"name": "feat: 新增 3 个 Skillonboarding / issue-triage / research-tracker",
"pr_full_time": "2026-06-01T11:33:00.000+08:00", "pull_request_status": 1,
"journals_count": 3 }
{ "pull_request_number": 6, "author_login": "lindiwen23",
"name": "fix: detectHTMLResponse 跳过 XML 声明,添加 HTML 响应检测",
"pr_full_time": "2026-06-03T08:55:10.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 7, "author_login": "lindiwen23",
"name": "feat: org +teams/+create-team/+remove-user, search +code/+issues",
"pr_full_time": "2026-06-03T09:13:15.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 8, "author_login": "lindiwen23",
"name": "feat: 新建 notification 模块并注册",
"pr_full_time": "2026-06-03T09:17:32.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 9, "author_login": "lindiwen23",
"name": "fix: Skills 文件 api 命令替换为 Shortcut 命令 (~107 处)",
"pr_full_time": "2026-06-03T09:38:05.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
// jiangtx 的 PR
{ "pull_request_number": 2, "author_login": "jiangtx",
"name": "基础设施修复",
"pr_full_time": "2026-06-02T16:54:43.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 3, "author_login": "jiangtx",
"name": "repo 域补全",
"pr_full_time": "2026-06-02T23:27:46.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 4, "author_login": "jiangtx",
"name": "pr 域补全",
"pr_full_time": "2026-06-03T00:09:46.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
{ "pull_request_number": 5, "author_login": "jiangtx",
"name": "label 模块新建",
"pr_full_time": "2026-06-03T00:25:32.000+08:00", "pull_request_status": 1,
"journals_count": 2 }
```
### 3. `gitlink-cli user +info --login jiangtx`
```json
{
"ok": true,
"data": {
"login": "jiangtx", "name": "jiangtx",
"user_id": 148911,
"created_time": "2026-04-28 11:46",
"user_projects_count": 3,
"user_org_count": 0,
"user_identity": "专业人士"
}
}
```
### 4. `gitlink-cli user +info --login lindiwen23`
```json
{
"ok": true,
"data": {
"login": "lindiwen23", "name": "lindiwen23",
"user_id": 141609,
"created_time": "2025-05-26 22:40",
"user_projects_count": 6,
"user_org_count": 1,
"user_identity": "专业人士"
}
}
```
### 5. 不可用的命令
| 命令 | 结果 |
|------|------|
| `gitlink-cli repo +contributors` | 命令不存在,返回 repo 帮助文本 |
| `gitlink-cli user +heatmap` | 命令不存在user 仅 `+info` / `+me` |
| `gitlink-cli user +stats` | 命令不存在 |
| `gitlink-cli user +trends` | 命令不存在 |
| `gitlink-cli api GET "/api/v1/repos/.../contributors"` | 返回 HTML 页面,非 JSON |
| `gitlink-cli api GET "/api/v1/users/.../heatmap"` | 返回 HTML 页面,非 JSON |
---
## 数据处理过程
### 贡献者发现
由于 `repo +contributors` 不可用:
1.`repo +info` 获取 `contributor_users_count = 2`
2.`pr +list` 提取唯一 `author_login``["lindiwen23", "jiangtx"]`2 人,一致)
### 活跃天数计算
从 PR 的 `pr_full_time` 字段提取日期:
| 贡献者 | 活跃日期 | 活跃天数 |
|--------|----------|----------|
| lindiwen23 | 2026-06-01, 2026-06-03 | 2 天 |
| jiangtx | 2026-06-02, 2026-06-03 | 2 天 |
### 趋势判断
按日聚合 PR 数:
- 06-01: 1 PR
- 06-02: 2 PRs
- 06-03: 6 PRs
趋势:↑ 上升日产出加速1→2→6
### 贡献类型分类
| 贡献者 | PR 数 | Issue 数 | 类型 |
|--------|-------|----------|------|
| lindiwen23 | 5 | 0 | 代码贡献者 |
| jiangtx | 4 | 0 | 代码贡献者 |
> Issue 来源:`repo +info` 中 `issues_count = 0`,无 Issue 需要获取。
### 分级调整
由于项目仅 3 天历史(< 30 适用年轻项目特殊处理
- jiangtxPR=42 活跃天)→ 🔥 核心贡献者
- lindiwen23PR=52 活跃天)→ 🔥 核心贡献者
---
## 完整输出报告
见当天执行输出此处省略以保持文件精简核心结构团队概览 排行榜 个人分析 健康度评估 建议。)
---
## 经验总结
1. **PR 数据可作为贡献者分析的主要数据源**`pr +list` 提供了作者时间状态标题等丰富信息
2. **`pr_full_time` 字段足够做时间分布分析**可计算活跃天数贡献频率趋势
3. **`user +info` 补充贡献者画像**注册时间项目数组织数可用于背景分析
4. **极端年轻项目的分级需放宽**标准分级PR > 10对 3 天项目不适用
5. **Raw API 不可靠**GitLink 的 API 结构与标准 Gitea 不同,建议仅使用 Shortcut 命令