From 27053f66d4f60c8f787f7ea933a20d5435a55420 Mon Sep 17 00:00:00 2001 From: farmyobutu5233 Date: Sun, 5 Jul 2026 09:43:57 +0000 Subject: [PATCH] =?UTF-8?q?docs(skills):=20=E6=96=B0=E5=A2=9E=20gitlink-fi?= =?UTF-8?q?le=20Skill=20=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- skills/README.md | 3 ++ skills/gitlink-file/SKILL.md | 57 ++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 skills/gitlink-file/SKILL.md diff --git a/skills/README.md b/skills/README.md index d507074c..5ccc9025 100644 --- a/skills/README.md +++ b/skills/README.md @@ -103,6 +103,8 @@ skills/ │ └── SKILL.md # Pipeline 操作指南 ├── gitlink-wiki/ # Wiki 页面管理 │ └── SKILL.md # Wiki 操作指南 +├── gitlink-file/ # 文件内容操作 +│ └── SKILL.md # 文件操作指南 ├── gitlink-pm/ # 项目管理 │ └── SKILL.md # PM 操作指南 ├── gitlink-health/ # 项目健康度分析 @@ -144,6 +146,7 @@ skills/ | **gitlink-ci** | CI/CD | `ci +builds`, `ci +logs` | | **gitlink-pipeline** | 流水线工作流 | `pipeline +runs`, `pipeline +run`, `pipeline +logs` | | **gitlink-wiki** | Wiki 页面管理 | `wiki +list`, `wiki +view`, `wiki +create`, `wiki +update`, `wiki +delete` | +| **gitlink-file** | 文件内容操作(无需克隆) | `file +view`, `file +search`, `file +create`, `file +update`, `file +delete` | | **gitlink-pm** | 项目管理 | 通过 Raw API 访问 | | **gitlink-workflow** | AI 工作流 | Issue 分类、PR Review、Release Notes | | **gitlink-health** | 开源项目健康度 | 详情见SKILL.md | diff --git a/skills/gitlink-file/SKILL.md b/skills/gitlink-file/SKILL.md new file mode 100644 index 00000000..a4eb90fc --- /dev/null +++ b/skills/gitlink-file/SKILL.md @@ -0,0 +1,57 @@ +--- +name: gitlink-file +version: 1.0.0 +description: "文件内容操作:无需克隆即可查看、搜索、创建、更新、删除 GitLink 仓库文件。当用户需要读取或修改仓库中的单个文件(如 README、配置文件)而不想克隆仓库时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli file --help" +--- + +# gitlink-file(文件内容操作) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — `file +create` / `+update` / `+delete` 会直接产生提交,执行前务必先确认用户意图,并优先使用 `--new-branch` 提交到新分支。** + +> 目录列表和 README 查看请使用 `repo +tree` 和 `repo +readme`(见 [`../gitlink-repo/SKILL.md`](../gitlink-repo/SKILL.md))。 + +## Shortcuts + +| Shortcut | 说明 | 需要认证 | +|----------|------|----------| +| `file +view` | 查看文件内容;`--raw` 仅输出解码后的正文 | 否(公开项目) | +| `file +search` | 按文件名搜索仓库文件 | 否(公开项目) | +| `file +create` | 创建文件并提交到指定分支 | 是 | +| `file +update` | 更新文件并提交到指定分支 | 是 | +| `file +delete` | 删除文件并提交 | 是 | + +## 示例 + +```bash +# 查看文件(--raw 直接输出正文,可管道/重定向) +gitlink-cli file +view --owner Gitlink --repo forgeplus --path README.md +gitlink-cli file +view --owner Gitlink --repo forgeplus --path README.md --raw > README.md + +# 指定分支/标签/提交 +gitlink-cli file +view --owner Gitlink --repo forgeplus --path app/models/user.rb --ref develop + +# 按文件名搜索 +gitlink-cli file +search --owner Gitlink --repo forgeplus --keyword controller + +# 创建文件(内容内联或来自本地文件,二选一) +gitlink-cli file +create --owner me --repo proj --path docs/note.md -c "# 笔记" -b master -m "add note" +gitlink-cli file +create --owner me --repo proj --path docs/note.md --content-file note.md -b master + +# 更新文件并提交到从 master 新建的分支(推荐,便于走 PR 流程) +gitlink-cli file +update --owner me --repo proj --path docs/note.md -c "..." -b master --new-branch feature/docs + +# 删除文件 +gitlink-cli file +delete --owner me --repo proj --path docs/note.md -b master -m "remove note" +``` + +## Notes + +- `file +view` 调用 `/api/{owner}/{repo}/sub_entries`;`+search` 调用 `/api/{owner}/{repo}/files`。 +- 写操作调用 `/api/v1/{owner}/{repo}/contents/batch`,内容使用 `text` 编码传输(生产环境不接受 base64)。 +- `--message` 缺省为 ` `;`--new-branch` 从 `--branch` 新建分支并提交到新分支。 +- 修改公共仓库文件时,优先 `--new-branch` + `pr +create`(见 [`../gitlink-pr/SKILL.md`](../gitlink-pr/SKILL.md)),避免直接推主分支。