feat(skills): 新增文档智能维护和新人引导两个 Skill
- gitlink-docs-assistant(ZxR):扫描仓库检测缺失文档,AI 自动生成 CONTRIBUTING/CHANGELOG 并写入 Wiki,支持同步更新 - gitlink-onboarding(ylly):识别 good-first-issue、自动打标签、生成个性化引导评论和项目入门指南 - 每个 Skill 含 SKILL.md + 使用示例 + Claude Code 真实验证记录 + 截图证据 Co-Authored-By: Claude <noreply@anthropic.com>
|
|
@ -182,3 +182,4 @@ gitlink-cli wiki +update \
|
|||
- `wiki +delete` 在 GitLink 平台上只清空内容,不真正删除页面(已知平台限制)
|
||||
- `--content` 参数直接传 Markdown 文本,CLI 内部会自动处理 base64 编码
|
||||
- 在 git 仓库目录下运行时,`--owner` 和 `--repo` 可省略(自动从 remote 解析)
|
||||
- `api GET /:owner/:repo/sub_entries` 端点在某些环境返回 HTML 页面而非文件列表;检测文档是否存在时,优先用更可靠的 `gitlink-cli repo +readme`(README)或 `repo +info`。
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 160 KiB |
|
|
@ -1,55 +1,155 @@
|
|||
# Claude Code 验证记录 — gitlink-docs-assistant
|
||||
|
||||
**验证日期:** 2026-06-15
|
||||
**验证平台:** Claude Code
|
||||
**验证仓库:** ylly/gitlink-cli
|
||||
**验证日期:** 2026-06-16
|
||||
**验证平台:** Claude Code
|
||||
**验证仓库:** ylly/gitlink-cli
|
||||
**验证人:** ZxR
|
||||
**gitlink-cli 版本:** 本地源码构建(go1.26.3, windows/amd64)
|
||||
|
||||
---
|
||||
|
||||
## 验证步骤
|
||||
|
||||
### 1. 环境确认
|
||||
## 0. 环境确认
|
||||
|
||||
```bash
|
||||
gitlink-cli auth status
|
||||
$ gitlink-cli auth status
|
||||
✓ Logged in as ylly
|
||||
|
||||
$ gitlink-cli user +me
|
||||
{ "ok": true, "data": { "login": "ylly", "user_id": 148899, "username": "ylly" } }
|
||||
```
|
||||
输出:`✓ 已登录,用户:ylly`
|
||||
|
||||
### 2. 喂入 Skill
|
||||
📷 环境截图见 `screenshots/00-环境确认.png`
|
||||
|
||||
在 Claude Code 中输入:
|
||||
> 请阅读 skills/gitlink-docs-assistant/SKILL.md,帮我检查 ylly/gitlink-cli 仓库的文档完整性,然后补全缺失的文档。
|
||||
---
|
||||
|
||||
### 3. 验证工作流 1(体检)
|
||||
## 1. 验证工作流 1:文档完整性体检(只读)
|
||||
|
||||
Agent 依次执行:
|
||||
**喂入 Skill:** 在 Claude Code 中输入
|
||||
> 请阅读 skills/gitlink-docs-assistant/SKILL.md,帮我检查 ylly/gitlink-cli 仓库的文档完整性。
|
||||
|
||||
**Agent 执行过程(真实命令输出):**
|
||||
|
||||
| 步骤 | 命令 | 结果 |
|
||||
|------|------|:----:|
|
||||
| 获取仓库信息 | `gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json` | ✅ |
|
||||
| 扫描根目录 | `gitlink-cli api GET /ylly/gitlink-cli/sub_entries --query 'filepath=&ref=master'` | ✅ |
|
||||
| 列出 Wiki 页面 | `gitlink-cli wiki +list --owner ylly --repo gitlink-cli --format json` | ✅ |
|
||||
| 输出体检报告 | (AI 生成 Markdown 报告) | ✅ |
|
||||
| 获取仓库信息 | `gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json` | ✅ 返回仓库元数据 |
|
||||
| 读取 README | `gitlink-cli repo +readme --owner ylly --repo gitlink-cli` | ✅ 返回 README 全文 |
|
||||
| 列出 Wiki 页面 | `gitlink-cli wiki +list --owner ylly --repo gitlink-cli --format json` | ✅ 返回 6 个页面 |
|
||||
|
||||
### 4. 验证工作流 2(自动补全)
|
||||
**Wiki 列表实际返回:**
|
||||
```
|
||||
"title": "新的测试wiki"
|
||||
"title": "HOME"
|
||||
"title": "_Sidebar"
|
||||
"title": "demopage"
|
||||
"title": "wiki"
|
||||
"title": "wikkkkww"
|
||||
```
|
||||
|
||||
| 步骤 | 命令 | 结果 |
|
||||
|------|------|:----:|
|
||||
| 读取 README | `gitlink-cli api GET /ylly/gitlink-cli/readme` | ✅ |
|
||||
| 创建 CONTRIBUTING | `gitlink-cli wiki +create --name "CONTRIBUTING" ...` | ✅ |
|
||||
| 确认创建 | `gitlink-cli wiki +list --format json` | ✅ CONTRIBUTING 出现在列表中 |
|
||||
**真实发现(验证过程中记录):**
|
||||
- `README` ✅ 存在、`LICENSE` ✅ 存在(MulanPSL-2.0)
|
||||
- `CONTRIBUTING` / `CHANGELOG` / `API 文档` ❌ 全部缺失
|
||||
- Wiki 中的页面均为测试遗留,无正式文档
|
||||
- 注:`api GET /:owner/:repo/sub_entries` 端点在本环境返回 HTML 而非文件列表,故改用 `repo +readme` 作为更可靠的 README 检测方式(已在 SKILL.md 注意事项中记录)
|
||||
|
||||
### 5. 验证工作流 3(同步更新)
|
||||
**Agent 输出的体检报告:**
|
||||
|
||||
| 步骤 | 命令 | 结果 |
|
||||
|------|------|:----:|
|
||||
| 查看页面内容 | `gitlink-cli wiki +view --owner ylly --repo gitlink-cli --name "CONTRIBUTING"` | ✅ |
|
||||
| 更新页面 | `gitlink-cli wiki +update --name "CONTRIBUTING" --content "..." --message "..."` | ✅ |
|
||||
```markdown
|
||||
📋 文档体检报告 — ylly/gitlink-cli
|
||||
总体评级:🟡 待完善
|
||||
|
||||
| 检查项 | 状态 | 建议 |
|
||||
|--------------|:----:|-------------------|
|
||||
| README | ✅ | — |
|
||||
| LICENSE | ✅ | MulanPSL-2.0 |
|
||||
| CONTRIBUTING | ❌ | 建议创建 Wiki 页面 |
|
||||
| CHANGELOG | ❌ | 建议创建 Wiki 页面 |
|
||||
| API 文档 | ❌ | 建议创建 Wiki 页面 |
|
||||
```
|
||||
|
||||
📷 体检报告截图见 `screenshots/01-体检报告.png`
|
||||
|
||||
---
|
||||
|
||||
## 2. 验证工作流 2:AI 自动补全文档(写入 Wiki)
|
||||
|
||||
**Agent 执行命令:**
|
||||
|
||||
```bash
|
||||
$ gitlink-cli wiki +create --owner ylly --repo gitlink-cli \
|
||||
--name "CONTRIBUTING" \
|
||||
--content "# 贡献指南 (CONTRIBUTING) ..." \
|
||||
--message "docs: AI 自动生成 CONTRIBUTING 文档"
|
||||
```
|
||||
|
||||
**真实返回(关键字段):**
|
||||
|
||||
```json
|
||||
{
|
||||
"ok": true,
|
||||
"data": {
|
||||
"code": 201,
|
||||
"data": {
|
||||
"title": "CONTRIBUTING",
|
||||
"html_url": "https://gitlink.org.cn/ylly/gitlink-cli/wiki/CONTRIBUTING",
|
||||
"last_commit": {
|
||||
"sha": "0a5741cfbcac81fcb2ffa78299404a78cfe2a70e",
|
||||
"date": "2026-06-16T00:15:53Z"
|
||||
},
|
||||
"commit_count": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**确认创建成功:** `wiki +list` 重新查询,CONTRIBUTING 已出现在列表中 ✅
|
||||
|
||||
📷 创建成功截图见 `screenshots/02-wiki创建成功.png`
|
||||
(也可访问 https://gitlink.org.cn/ylly/gitlink-cli/wiki/CONTRIBUTING 查看真实页面)
|
||||
|
||||
---
|
||||
|
||||
## 3. 验证工作流 3:文档同步更新(更新 Wiki)
|
||||
|
||||
**Agent 执行命令(检测到内容可补充后提交更新):**
|
||||
|
||||
```bash
|
||||
$ gitlink-cli wiki +update --owner ylly --repo gitlink-cli \
|
||||
--name "CONTRIBUTING" \
|
||||
--content "# 贡献指南 ...(更新后含文档维护说明)" \
|
||||
--message "docs: 同步更新 CONTRIBUTING(补充文档维护说明)"
|
||||
```
|
||||
|
||||
**真实返回:**
|
||||
|
||||
```json
|
||||
{ "ok": true, "data": { "code": 200, "data": { "title": "CONTRIBUTING", "commit_count": 2 } } }
|
||||
```
|
||||
|
||||
**更新成功证据:** `commit_count` 由 `1` → `2`,证明更新已生效 ✅
|
||||
|
||||
📷 更新成功截图见 `screenshots/03-wiki更新成功.png`
|
||||
|
||||
---
|
||||
|
||||
## 验证结论
|
||||
|
||||
- **全部工作流通过** ✅
|
||||
| 工作流 | 结果 |
|
||||
|--------|:----:|
|
||||
| 工作流 1:文档体检(只读) | ✅ 通过 |
|
||||
| 工作流 2:AI 自动补全文档(写入) | ✅ 通过(code 201) |
|
||||
| 工作流 3:文档同步更新(写入) | ✅ 通过(code 200,commit 1→2) |
|
||||
|
||||
- **Agent 平台:** Claude Code
|
||||
- **真实仓库验证:** ylly/gitlink-cli(写入操作已生效,可在 GitLink 网页查看)
|
||||
- **兼容性:** 标准 YAML frontmatter,兼容 Claude Code / Cursor / OpenClaw
|
||||
|
||||
---
|
||||
|
||||
## 截图清单
|
||||
|
||||
| 文件名 | 对应步骤 | 内容 |
|
||||
|--------|---------|------|
|
||||
| `screenshots/00-环境确认.png` | 第 0 步 | auth status + user +me 登录成功 |
|
||||
| `screenshots/01-体检报告.png` | 工作流 1 | 体检报告输出 |
|
||||
| `screenshots/02-wiki创建成功.png` | 工作流 2 | wiki +create 返回 code 201 + 列表确认 |
|
||||
| `screenshots/03-wiki更新成功.png` | 工作流 3 | wiki +update 返回 commit_count 1→2 |
|
||||
|
|
|
|||
|
|
@ -0,0 +1,208 @@
|
|||
---
|
||||
name: gitlink-onboarding
|
||||
version: 1.0.0
|
||||
description: "新人引导:自动识别适合新贡献者的 Issue,打 good-first-issue 标签、生成个性化引导评论和项目入门指南,降低参与门槛。当用户需要管理 good-first-issue、帮助新人上手项目或提升社区友好度时触发。"
|
||||
metadata:
|
||||
requires:
|
||||
bins: ["gitlink-cli"]
|
||||
cliHelp: "gitlink-cli issue --help"
|
||||
---
|
||||
|
||||
# gitlink-onboarding(新人引导)
|
||||
|
||||
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
|
||||
**CRITICAL — 所有写入/删除操作前(打标签、写评论),务必先确认用户意图。**
|
||||
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。**
|
||||
|
||||
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。
|
||||
|
||||
---
|
||||
|
||||
## 工作流概览
|
||||
|
||||
| 工作流 | 操作 | AI Agent 角色 | 写入 |
|
||||
|--------|------|--------------|:----:|
|
||||
| 工作流 1:good-first-issue 自动标记 | 扫描开放 Issue → 识别适合新人的 → 打标签 | 判断复杂度 + 创建标签 | 是 |
|
||||
| 工作流 2:引导评论生成 | 对新人 Issue 写个性化引导评论 | 生成评论内容 | 是 |
|
||||
| 工作流 3:项目入门指南 | 生成项目贡献入门文档 | 分析仓库 + 生成指南 | 否 |
|
||||
|
||||
---
|
||||
|
||||
## 新人友好 Issue 识别标准
|
||||
|
||||
AI 判断一个 Issue 是否适合新人时,参考以下信号(满足越多越适合):
|
||||
|
||||
| 信号 | 说明 | 权重 |
|
||||
|------|------|:----:|
|
||||
| 标题关键词 | typo / 文档 / 简单 / 拼写 / 入门 / good first issue / help wanted | 高 |
|
||||
| 改动范围 | 单文件、文案/文档类、配置类 | 高 |
|
||||
| 描述清晰度 | 有明确预期结果和复现步骤 | 中 |
|
||||
| 不涉及核心 | 不触碰核心架构、复杂业务逻辑、并发/安全 | 高 |
|
||||
| 已有友好标签 | 已标记 question / 文档 / 协助 | 中 |
|
||||
|
||||
**排除标准(不建议标记为新人 Issue):**
|
||||
- 性能优化、安全漏洞、架构重构
|
||||
- 描述模糊、无法复现、信息严重不足
|
||||
- 涉及 CI/CD、部署、数据库迁移
|
||||
|
||||
---
|
||||
|
||||
## 工作流 1:good-first-issue 自动标记
|
||||
|
||||
**触发场景:** "帮我找出适合新人的 Issue 并打上标签"
|
||||
|
||||
### Step 1:获取开放 Issue
|
||||
|
||||
```bash
|
||||
gitlink-cli issue +list --owner <owner> --repo <repo> --format json
|
||||
```
|
||||
|
||||
### Step 2:AI 判断哪些 Issue 适合新人
|
||||
|
||||
遍历每个 Issue,按"新人友好识别标准"评估,筛选出适合新人的 Issue 列表。
|
||||
|
||||
### Step 3:查找或创建 good-first-issue 标签
|
||||
|
||||
```bash
|
||||
# 先查现有标签,看是否已有 good first 标签
|
||||
gitlink-cli label +list --owner <owner> --repo <repo> --format json
|
||||
|
||||
# 若不存在,创建(颜色遵循社区惯例 #7057ff)
|
||||
# 注意:GitLink 标签名限 15 字符,"good first issue"(16字符) 会被截断,用 "good first"
|
||||
gitlink-cli label +create --owner <owner> --repo <repo> \
|
||||
--name "good first" --color "#7057ff"
|
||||
```
|
||||
|
||||
### Step 4:自动打标签
|
||||
|
||||
```bash
|
||||
# 注意:--label 是"设置"语义(覆盖),需保留原标签时一并传入
|
||||
gitlink-cli issue +update --owner <owner> --repo <repo> \
|
||||
--number <n> --label <good_first_issue_id>,<原标签id>
|
||||
```
|
||||
|
||||
### Step 5:输出标记报告
|
||||
|
||||
```markdown
|
||||
## 🌱 新人友好 Issue 标记报告 — <owner>/<repo>
|
||||
|
||||
| Issue | 标题 | 适合新人理由 | 已打标签 |
|
||||
|-------|------|------------|:--------:|
|
||||
| #5 | 修复 README 拼写错误 | 单文件文案修改,范围明确 | ✅ |
|
||||
| #3 | 补充 API 文档示例 | 文档类,预期清晰 | ✅ |
|
||||
|
||||
共标记 2 个 good-first-issue。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 工作流 2:引导评论生成
|
||||
|
||||
**触发场景:** "帮我给适合新人的 Issue 写引导评论"
|
||||
|
||||
### Step 1:获取 Issue 详情
|
||||
|
||||
```bash
|
||||
gitlink-cli issue +view --owner <owner> --repo <repo> --number <n> --format json
|
||||
```
|
||||
|
||||
### Step 2:AI 生成个性化引导评论
|
||||
|
||||
根据 Issue 内容,生成包含以下要素的引导评论(**不要用固定模板**,要结合具体 Issue):
|
||||
|
||||
- **任务说明**:用一句话概括要做什么
|
||||
- **相关文件**:定位到具体文件/目录(结合仓库结构推断)
|
||||
- **本地准备**:克隆仓库、切换分支、运行测试的命令
|
||||
- **提交指引**:提交 PR 的步骤和规范
|
||||
|
||||
### Step 3:发布评论
|
||||
|
||||
```bash
|
||||
gitlink-cli issue +comment --owner <owner> --repo <repo> \
|
||||
--number <n> --body "欢迎贡献!这是一个适合新人的任务..."
|
||||
```
|
||||
|
||||
### 引导评论输出模板
|
||||
|
||||
```markdown
|
||||
👋 欢迎贡献!这个 Issue 适合新人入手。
|
||||
|
||||
**任务目标:** <一句话说明>
|
||||
|
||||
**建议入手位置:**
|
||||
- 相关文件:`<path/to/file>`
|
||||
- 主要改动:<具体位置>
|
||||
|
||||
**本地准备:**
|
||||
1. Fork 并克隆仓库
|
||||
2. 安装依赖并确认能本地运行
|
||||
3. 创建分支:git checkout -b fix/<简述>
|
||||
|
||||
**提交 PR:** 改动完成后提交 PR,关联本 Issue。
|
||||
|
||||
有任何问题欢迎在下方留言,社区会及时回复 🤝
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 工作流 3:项目入门指南
|
||||
|
||||
**触发场景:** "帮我生成一份新人入门指南"
|
||||
|
||||
### Step 1:获取仓库信息
|
||||
|
||||
```bash
|
||||
gitlink-cli repo +info --owner <owner> --repo <repo> --format json
|
||||
gitlink-cli repo +readme --owner <owner> --repo <repo>
|
||||
```
|
||||
|
||||
### Step 2:AI 生成入门指南
|
||||
|
||||
综合仓库信息,生成结构化的入门文档:
|
||||
|
||||
```markdown
|
||||
## 🚀 <项目名> 新人入门指南
|
||||
|
||||
### 环境准备
|
||||
- <语言/运行时版本要求>
|
||||
- <依赖安装方式>
|
||||
|
||||
### 项目结构速览
|
||||
| 目录 | 作用 |
|
||||
|------|------|
|
||||
| <dir> | <说明> |
|
||||
|
||||
### 第一个贡献
|
||||
1. 从带 good-first-issue 标签的 Issue 入手
|
||||
2. <项目特定的开发流程>
|
||||
|
||||
### 提交规范
|
||||
- <commit message 规范>
|
||||
- <PR 流程>
|
||||
```
|
||||
|
||||
> 该指南可直接展示给用户,或交给 `gitlink-docs-assistant` Skill 写入 Wiki。
|
||||
|
||||
---
|
||||
|
||||
## Raw API 参考
|
||||
|
||||
```bash
|
||||
# 获取某个 issue 的完整信息
|
||||
gitlink-cli api GET /:owner/:repo/issues/:number --format json
|
||||
|
||||
# 查询可分配的负责人(帮助新人 Issue 找导师)
|
||||
gitlink-cli issue +assigners --owner <owner> --repo <repo> --format json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **写操作前确认:** 打标签(`issue +update --label`)和写评论(`issue +comment`)会真实修改仓库,执行前务必让用户确认。
|
||||
- **--label 是覆盖语义:** `issue +update --label <id>` 会替换原有标签。若 Issue 已有标签,需把原标签 ID 一并传入(如 `--label 350191,327271`),否则原标签会丢失。
|
||||
- **标签颜色格式:** `label +create --color` 必须带 `#` 号(如 `#7057ff`)。
|
||||
- **评论要个性化:** 避免对所有 Issue 使用同一句引导文案,应结合具体 Issue 内容生成。
|
||||
- **--number 是网页编号:** `--number` 用 GitLink 网页 URL 中显示的编号,对新人最直观。
|
||||
- **标签名长度限制:** GitLink 标签名上限 **15 字符**,"good first issue"(16字符)会被截断,建议用 "good first" 或中文"新人入门"。若已创建被截断,可用 `label +update --id <id> --name "good first"` 修正。
|
||||
- **good-first-issue 颜色惯例:** 社区通用 `#7057ff`(GitHub 惯例),保持一致便于识别。
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
# gitlink-onboarding — 使用示例
|
||||
|
||||
## 场景 1:good-first-issue 自动标记
|
||||
|
||||
**用户 Prompt:**
|
||||
> 请阅读 skills/gitlink-onboarding/SKILL.md,帮我找出 ylly/gitlink-cli 中适合新人的 Issue 并打上标签。
|
||||
|
||||
**Agent 执行过程:**
|
||||
|
||||
```bash
|
||||
# Step 1:获取开放 Issue
|
||||
gitlink-cli issue +list --owner ylly --repo gitlink-cli --format json
|
||||
# 返回 7 个 Issue,AI 按新人友好标准筛选 → #8 适合新人
|
||||
|
||||
# Step 2:查找现有标签
|
||||
gitlink-cli label +list --owner ylly --repo gitlink-cli --format json
|
||||
# 无 good-first-issue 标签
|
||||
|
||||
# Step 3:创建标签
|
||||
gitlink-cli label +create --owner ylly --repo gitlink-cli \
|
||||
--name "good first" --color "#7057ff"
|
||||
# → id 382660(注:GitLink 标签限 15 字符,"good first issue" 会被截断,故用 "good first")
|
||||
|
||||
# Step 4:打标签
|
||||
gitlink-cli issue +update --owner ylly --repo gitlink-cli \
|
||||
--number 8 --label 382660
|
||||
```
|
||||
|
||||
**Agent 输出:**
|
||||
|
||||
```markdown
|
||||
🌱 新人友好 Issue 标记报告 — ylly/gitlink-cli
|
||||
|
||||
| Issue | 标题 | 适合新人理由 | 标签 |
|
||||
|-------|------|------------|:----:|
|
||||
| #8 | docs: 补充 wiki 命令的使用示例文档 | 文档类、范围明确 | ✅ |
|
||||
|
||||
共标记 1 个 good-first-issue。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 场景 2:引导评论生成
|
||||
|
||||
**用户 Prompt:**
|
||||
> 帮我给 #8 写一个引导评论,让新人知道怎么入手。
|
||||
|
||||
**Agent 执行过程:**
|
||||
|
||||
```bash
|
||||
# 读取 Issue 详情
|
||||
gitlink-cli issue +view --owner ylly --repo gitlink-cli --number 8 --format json
|
||||
|
||||
# AI 根据 Issue 内容生成个性化评论并发布
|
||||
gitlink-cli issue +comment --owner ylly --repo gitlink-cli \
|
||||
--number 8 \
|
||||
--body "👋 欢迎贡献!任务目标:为 wiki 命令补充示例。
|
||||
建议入手位置:README.md、shortcuts/wiki/wiki.go
|
||||
本地准备:Fork → 克隆 → go build → 建分支 docs/wiki-examples
|
||||
提交 PR 关联 #8。"
|
||||
```
|
||||
|
||||
**输出:** 评论已发布(comment id 476548)
|
||||
|
||||
---
|
||||
|
||||
## 场景 3:项目入门指南
|
||||
|
||||
**用户 Prompt:**
|
||||
> 帮我生成一份 gitlink-cli 的新人入门指南。
|
||||
|
||||
**Agent 执行过程:**
|
||||
|
||||
```bash
|
||||
gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json
|
||||
gitlink-cli repo +readme --owner ylly --repo gitlink-cli
|
||||
```
|
||||
|
||||
**Agent 输出入门指南 Markdown:**
|
||||
|
||||
```markdown
|
||||
🚀 gitlink-cli 新人入门指南
|
||||
|
||||
## 环境准备
|
||||
- Go 1.26+,GitLink 账号 + auth login
|
||||
|
||||
## 项目结构
|
||||
| 目录 | 作用 |
|
||||
|------|------|
|
||||
| cmd/ | 命令定义 |
|
||||
| shortcuts/ | Shortcut 实现(核心)|
|
||||
| skills/ | AI Agent Skills |
|
||||
|
||||
## 第一个贡献
|
||||
1. 找带 good-first-issue 标签的 Issue
|
||||
2. Fork + 克隆 + 建分支
|
||||
3. go build && go test ./...
|
||||
4. 提交 PR 关联 Issue
|
||||
|
||||
## 提交规范
|
||||
- feat / fix / docs / refactor
|
||||
- 新增模块需在 shortcuts/register.go 注册
|
||||
```
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 168 KiB |
|
|
@ -0,0 +1,143 @@
|
|||
# Claude Code 验证记录 — gitlink-onboarding
|
||||
|
||||
**验证日期:** 2026-06-16
|
||||
**验证平台:** Claude Code
|
||||
**验证仓库:** ylly/gitlink-cli
|
||||
**验证人:** ylly
|
||||
**gitlink-cli 版本:** 本地源码构建(go1.26.3, windows/amd64)
|
||||
|
||||
---
|
||||
|
||||
## 0. 环境确认
|
||||
|
||||
```bash
|
||||
$ gitlink-cli auth status
|
||||
✓ Logged in as ylly
|
||||
|
||||
$ gitlink-cli user +me
|
||||
{ "ok": true, "data": { "login": "ylly", "user_id": 148899 } }
|
||||
```
|
||||
|
||||
📷 环境截图见 `screenshots/00-环境确认.png`
|
||||
|
||||
---
|
||||
|
||||
## 1. 验证工作流 1:good-first-issue 自动标记
|
||||
|
||||
**喂入 Skill:** 在 Claude Code 中输入
|
||||
> 请阅读 skills/gitlink-onboarding/SKILL.md,帮我找出 ylly/gitlink-cli 中适合新人的 Issue 并打上标签。
|
||||
|
||||
**Agent 执行过程:**
|
||||
|
||||
| 步骤 | 命令 | 结果 |
|
||||
|------|------|:----:|
|
||||
| 获取开放 Issue | `gitlink-cli issue +list --owner ylly --repo gitlink-cli --format json` | ✅ 返回 7 个 Issue |
|
||||
| 查找标签 | `gitlink-cli label +list --owner ylly --repo gitlink-cli --format json` | ✅ 现有 10 个标签,无 good-first-issue |
|
||||
| 创建标签 | `gitlink-cli label +create --name "good first issue" --color "#7057ff"` | ✅ 创建成功(id 382660,名字被截断) |
|
||||
| 改名修正 | `gitlink-cli label +update --id 382660 --name "good first"` | ✅ 修正为 "good first" |
|
||||
| 打标签 | `gitlink-cli issue +update --number 8 --label 382660` | ✅ #8 已标记 |
|
||||
|
||||
**为演示创建了一个真实的"新人友好"Issue(#8):**
|
||||
```
|
||||
#8 docs: 补充 wiki 命令的使用示例文档
|
||||
(文档类、范围明确、不涉及代码逻辑 → 适合新人)
|
||||
```
|
||||
|
||||
**验证 #8 已带标签(issue +view 返回):**
|
||||
```json
|
||||
"tags": [{ "color": "#7057ff", "id": 382660, "name": "good first" }]
|
||||
```
|
||||
|
||||
**真实发现(验证过程中记录,并已修正):**
|
||||
- GitLink 标签名长度限制 **15 个字符**,"good first issue"(16 字符)创建时被平台自动截断为 "good first issu"。**已通过 `label +update --id 382660 --name "good first"` 修正为 "good first"**。SKILL.md 注意事项已据此提示:标签名建议 ≤15 字符。
|
||||
- Issue 的标签字段名是 `tags`(注意:label +list 用的是 `issue_tags`,issue 里是 `tags`,两者不同)。
|
||||
|
||||
📷 标记报告截图见 `screenshots/01-标记报告.png`
|
||||
|
||||
---
|
||||
|
||||
## 2. 验证工作流 2:引导评论生成
|
||||
|
||||
**Agent 执行命令(AI 根据 #8 内容生成个性化评论):**
|
||||
|
||||
```bash
|
||||
$ gitlink-cli issue +comment --owner ylly --repo gitlink-cli \
|
||||
--number 8 \
|
||||
--body "👋 欢迎贡献!这是一个适合新人入手的任务。\n**任务目标:** 为 wiki 命令补充使用示例...\n**建议入手位置:** README.md ...\n**本地准备:** ...\n**提交 PR:** 关联本 Issue (#8)。"
|
||||
```
|
||||
|
||||
**真实返回:**
|
||||
```json
|
||||
{ "ok": true, "data": { "id": 476548, "author": { "id": 148899 } } }
|
||||
```
|
||||
|
||||
**评论特点(证明是个性化生成,非固定模板):**
|
||||
- 针对 #8 的"wiki 命令文档"主题,定位到 `README.md` 和 `shortcuts/wiki/wiki.go`
|
||||
- 提示了 wiki 命令使用独立网关 API 的特殊点
|
||||
- 给出具体的分支命名 `docs/wiki-examples`
|
||||
|
||||
📷 评论发布截图见 `screenshots/02-引导评论.png`
|
||||
(也可访问 https://gitlink.org.cn/ylly/gitlink-cli/issues/8 查看真实评论)
|
||||
|
||||
---
|
||||
|
||||
## 3. 验证工作流 3:项目入门指南
|
||||
|
||||
**Agent 执行命令(只读采集):**
|
||||
|
||||
```bash
|
||||
$ gitlink-cli repo +info --owner ylly --repo gitlink-cli --format json
|
||||
# 返回:Go 项目,默认分支 master,License MulanPSL-2.0,8 个 Issue
|
||||
|
||||
$ gitlink-cli repo +readme --owner ylly --repo gitlink-cli
|
||||
# 返回 README 全文,提取项目结构、命令列表
|
||||
```
|
||||
|
||||
**AI 生成的入门指南(节选):**
|
||||
|
||||
```markdown
|
||||
🚀 gitlink-cli 新人入门指南
|
||||
|
||||
## 环境准备
|
||||
- Go 1.26+,GitLink 账号 + auth login
|
||||
|
||||
## 项目结构
|
||||
| 目录 | 作用 |
|
||||
| cmd/ | 命令定义 |
|
||||
| shortcuts/ | Shortcut 命令实现(核心)|
|
||||
| skills/ | AI Agent Skills 文档 |
|
||||
|
||||
## 第一个贡献
|
||||
1. 找带「good first」标签的 Issue
|
||||
2. Fork + 克隆 + 建分支
|
||||
3. go build && go test ./... 验证
|
||||
4. 提交 PR 关联 Issue
|
||||
```
|
||||
|
||||
📷 入门指南截图见 `screenshots/03-入门指南.png`
|
||||
|
||||
---
|
||||
|
||||
## 验证结论
|
||||
|
||||
| 工作流 | 结果 | 关键证据 |
|
||||
|--------|:----:|---------|
|
||||
| 工作流 1:good-first-issue 标记 | ✅ | #8.tags 含 good first(id 382660) |
|
||||
| 工作流 2:引导评论 | ✅ | comment id 476548 已发布 |
|
||||
| 工作流 3:入门指南 | ✅ | 基于 repo +info/readme 生成 |
|
||||
|
||||
- **Agent 平台:** Claude Code
|
||||
- **真实仓库验证:** ylly/gitlink-cli(标签 + 评论已真实写入,可在网页查看)
|
||||
- **兼容性:** 标准 YAML frontmatter,兼容 Claude Code / Cursor / OpenClaw
|
||||
|
||||
---
|
||||
|
||||
## 截图清单
|
||||
|
||||
| 文件名 | 对应步骤 | 内容 |
|
||||
|--------|---------|------|
|
||||
| `screenshots/00-环境确认.png` | 第 0 步 | auth status 登录成功 |
|
||||
| `screenshots/01-标记报告.png` | 工作流 1 | good-first-issue 标记报告表 |
|
||||
| `screenshots/02-引导评论.png` | 工作流 2 | issue +comment 返回 ok:true + id:476548 |
|
||||
| `screenshots/03-入门指南.png` | 工作流 3 | 生成的入门指南 |
|
||||
| `screenshots/04-issue网页实测.png`(可选) | 综合效果 | GitLink 网页 #8 显示标签+评论 |
|
||||