diff --git a/skills/README.md b/skills/README.md index 2786e1d..cda06d9 100644 --- a/skills/README.md +++ b/skills/README.md @@ -123,9 +123,14 @@ skills/ | **gitlink-shared** | 认证、全局参数、API 参考、安全规则、分支约定 | `auth login`, `auth status` | | **gitlink-repo** | 仓库管理 | `repo +list`, `repo +create`, `repo +info`, `repo +fork` | | **gitlink-issue** | Issue 管理 | `issue +create`, `issue +list`, `issue +view`, `issue +close`, `issue +batch-close` | -| **gitlink-pr** | Pull Request | `pr +list`, `pr +create`, `pr +view`, `pr +merge`, `pr +review` | +| **gitlink-pr** | Pull Request | `pr +list`, `pr +create`, `pr +view`, `pr +merge`, `pr +reviews`, `pr +review` | | **gitlink-branch** | 分支管理 | `branch +list`, `branch +create`, `branch +delete`, `branch +protect` | | **gitlink-release** | 版本发布 | `release +list`, `release +create`, `release +view` | +| **gitlink-milestone** | 里程碑管理 | `milestone +list`, `milestone +create`, `milestone +view`, `milestone +close` | +| **gitlink-label** | 标签管理 | `label +list`, `label +create`, `label +delete` | +| **gitlink-file** | 仓库文件操作 | `file +browse`, `file +get`, `file +create`, `file +update`, `file +delete` | +| **gitlink-webhook** | Webhook 管理 | `webhook +list`, `webhook +create`, `webhook +delete` | +| **gitlink-member** | 项目成员管理 | `member +list`, `member +add`, `member +remove` | ### 辅助 Skills diff --git a/skills/gitlink-file/SKILL.md b/skills/gitlink-file/SKILL.md new file mode 100644 index 0000000..e800369 --- /dev/null +++ b/skills/gitlink-file/SKILL.md @@ -0,0 +1,51 @@ +--- +name: gitlink-file +version: 1.0.0 +description: "仓库文件操作:浏览目录、查看文件、创建、更新、删除文件。当用户需要在 GitLink 仓库中操作文件时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli file --help" +--- + +# gitlink-file(文件操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。** + +## Shortcuts + +| Shortcut | 说明 | +|----------|------| +| `file +browse` | 浏览目录树或文件详情 | +| `file +get` | 获取文件内容 | +| `file +create` | 创建文件 | +| `file +update` | 更新文件 | +| `file +delete` | 删除文件 | + +## 使用示例 + +```bash +# 浏览目录 +gitlink-cli file +browse --owner Gitlink --repo forgeplus --path src/ + +# 获取文件内容 +gitlink-cli file +get --owner Gitlink --repo forgeplus --path README.md + +# 创建文件(内容自动 base64 编码) +gitlink-cli file +create --owner myuser --repo myrepo --path docs/guide.md --content "# Guide" --message "Add guide" + +# 更新文件(SHA 自动获取) +gitlink-cli file +update --owner myuser --repo myrepo --path docs/guide.md --content "# Updated Guide" + +# 删除文件 +gitlink-cli file +delete --owner myuser --repo myrepo --path old-file.txt +``` + +## API 注意事项 + +- **内容自动 base64 编码**:`file +create` 和 `file +update` 会自动将 content 编码为 base64 +- **SHA 自动获取**:`file +update` 和 `file +delete` 会自动获取文件 SHA,无需手动提供。也可通过 `--sha` 手动指定 +- 文件路径使用 `--path` 参数,API 自动处理 base64 路径编码 +- `file +browse` 和 `file +get` 使用非 v1 路径:`/{owner}/{repo}/sub_entries` +- 写操作使用:`/{owner}/{repo}/create_file`、`/{owner}/{repo}/update_file`、`/{owner}/{repo}/delete_file` diff --git a/skills/gitlink-label/SKILL.md b/skills/gitlink-label/SKILL.md new file mode 100644 index 0000000..6cb29cb --- /dev/null +++ b/skills/gitlink-label/SKILL.md @@ -0,0 +1,42 @@ +--- +name: gitlink-label +version: 1.0.0 +description: "标签管理:列出、创建、删除 Issue 标签。当用户需要管理 GitLink 项目标签时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli label --help" +--- + +# gitlink-label(标签操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。** + +## Shortcuts + +| Shortcut | 说明 | +|----------|------| +| `label +list` | 列出标签 | +| `label +create` | 创建标签 | +| `label +delete` | 删除标签 | + +## 使用示例 + +```bash +# 列出标签 +gitlink-cli label +list --owner Gitlink --repo forgeplus + +# 创建标签 +gitlink-cli label +create --owner Gitlink --repo forgeplus --name bug --color "#FF0000" --description "Bug report" + +# 删除标签(使用 label ID) +gitlink-cli label +delete --owner Gitlink --repo forgeplus --id 3 +``` + +## API 注意事项 + +- 标签使用 v1 API:`/v1/{owner}/{repo}/issue_tags` +- 创建标签时 color 为可选参数,格式为十六进制颜色值(如 `#FF0000`) +- 删除标签需要标签 ID,可通过 `label +list` 获取 +- `label +list` 支持排序:`--order-by`(updated_on/created_on/issues_count)和 `--order-direction`(asc/desc) diff --git a/skills/gitlink-member/SKILL.md b/skills/gitlink-member/SKILL.md new file mode 100644 index 0000000..a57e848 --- /dev/null +++ b/skills/gitlink-member/SKILL.md @@ -0,0 +1,41 @@ +--- +name: gitlink-member +version: 1.0.0 +description: "项目成员管理:列出、添加、移除项目成员。当用户需要管理 GitLink 项目协作成员时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli member --help" +--- + +# gitlink-member(成员操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。** + +## Shortcuts + +| Shortcut | 说明 | +|----------|------| +| `member +list` | 列出项目成员 | +| `member +add` | 添加项目成员 | +| `member +remove` | 移除项目成员 | + +## 使用示例 + +```bash +# 列出项目成员 +gitlink-cli member +list --owner myuser --repo myrepo + +# 添加成员(使用用户 ID) +gitlink-cli member +add --owner myuser --repo myrepo --user-id 42 + +# 移除成员 +gitlink-cli member +remove --owner myuser --repo myrepo --user-id 42 +``` + +## API 注意事项 + +- 成员 API 使用非 v1 路径:`/{owner}/{repo}/collaborators` +- 添加和移除成员需要**用户 ID**(数字),不是用户名。可通过 `user +info` 获取用户 ID +- 移除成员调用 DELETE `/{owner}/{repo}/collaborators/remove` diff --git a/skills/gitlink-milestone/SKILL.md b/skills/gitlink-milestone/SKILL.md new file mode 100644 index 0000000..b979271 --- /dev/null +++ b/skills/gitlink-milestone/SKILL.md @@ -0,0 +1,52 @@ +--- +name: gitlink-milestone +version: 1.0.0 +description: "里程碑管理:创建、查看、关闭、删除里程碑。当用户需要管理 GitLink 项目里程碑时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli milestone --help" +--- + +# gitlink-milestone(里程碑操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。** + +## Shortcuts + +| Shortcut | 说明 | +|----------|------| +| `milestone +list` | 列出里程碑 | +| `milestone +create` | 创建里程碑 | +| `milestone +view` | 查看里程碑详情(含关联 Issue) | +| `milestone +close` | 关闭里程碑 | +| `milestone +delete` | 删除里程碑 | + +## 使用示例 + +```bash +# 列出里程碑 +gitlink-cli milestone +list --owner Gitlink --repo forgeplus + +# 按状态筛选 +gitlink-cli milestone +list --owner Gitlink --repo forgeplus --status open + +# 创建里程碑 +gitlink-cli milestone +create --owner Gitlink --repo forgeplus --name "v2.0" --description "Second major release" --due-date 2026-09-01 + +# 查看里程碑详情 +gitlink-cli milestone +view --owner Gitlink --repo forgeplus --id 5 + +# 关闭里程碑 +gitlink-cli milestone +close --owner Gitlink --repo forgeplus --id 5 + +# 删除里程碑 +gitlink-cli milestone +delete --owner Gitlink --repo forgeplus --id 5 +``` + +## API 注意事项 + +- 里程碑使用 v1 API:`/v1/{owner}/{repo}/milestones` +- `milestone +view` 支持通过 `--category` 参数筛选关联 Issue(all/opened/closed) +- `milestone +close` 调用更新状态接口,status 设为 "closed" diff --git a/skills/gitlink-webhook/SKILL.md b/skills/gitlink-webhook/SKILL.md new file mode 100644 index 0000000..dff7cd8 --- /dev/null +++ b/skills/gitlink-webhook/SKILL.md @@ -0,0 +1,50 @@ +--- +name: gitlink-webhook +version: 1.0.0 +description: "Webhook 管理:列出、创建、删除 Webhook。当用户需要管理 GitLink 项目 Webhook 时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli webhook --help" +--- + +# gitlink-webhook(Webhook 操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — 所有 Shortcuts 在执行写入/删除操作前,务必先确认用户意图。** + +## Shortcuts + +| Shortcut | 说明 | +|----------|------| +| `webhook +list` | 列出 Webhook | +| `webhook +create` | 创建 Webhook | +| `webhook +delete` | 删除 Webhook | + +## 使用示例 + +```bash +# 列出 Webhook +gitlink-cli webhook +list --owner myuser --repo myrepo + +# 创建 Webhook +gitlink-cli webhook +create --owner myuser --repo myrepo \ + --url https://example.com/webhook \ + --events push,issues \ + --secret my-secret-key + +# 创建仅监听 push 事件的 Webhook +gitlink-cli webhook +create --owner myuser --repo myrepo \ + --url https://example.com/push-hook \ + --events push + +# 删除 Webhook +gitlink-cli webhook +delete --owner myuser --repo myrepo --id 1 +``` + +## API 注意事项 + +- Webhook 使用 v1 API:`/v1/{owner}/{repo}/webhooks` +- 创建 Webhook 时 `--events` 为逗号分隔的事件列表,支持:push, issues, pull_request 等 +- 不指定 `--events` 时默认监听 push 事件 +- `--content-type` 默认为 json,可选 form