新增 code-review-sync skill — 依擁有者批次 clone/更新 Gitea 專案 #30

Merged
admin merged 3 commits from develop into master 2026-06-26 01:46:51 +00:00
Showing only changes of commit 7f44ba6174 - Show all commits
+12 -1
View File
@@ -41,7 +41,8 @@ code-review/
│ │ └── roles/ # 一角色一檔(bard/mage/rogue/assassin/paladin
│ ├── code-review-archive/ # 保存裁決:成立→已知問題、誤判→排除事項
│ ├── code-review-resolve/ # 解決 findings.json + 分類提交 + push + 發 PR
── code-review-nuget/ # C# / .NET NuGet 套件更新 + build 驗證
── code-review-nuget/ # C# / .NET NuGet 套件更新 + build 驗證
│ └── code-review-sync/ # 依擁有者批次 clone/更新 Gitea 專案
├── AGENTS.md # 跨助理共用指引
└── README.md
```
@@ -207,6 +208,16 @@ rm -rf ~/.config/opencode/skills/code-review
- **Codex**`$code-review-nuget`,或 `$code-review-nuget src/App/App.csproj --build "dotnet build App.sln -c Release"`,或用 `/skills` 選單
- **OpenCode**:描述需求(如「把這個 .NET solution 的 NuGet 都更新到最新,先清掉 ProjectReference 已提供的重複套件,每更新一包就 build」)自動觸發
### `code-review-sync`
透過 `GITEA_TOKEN` 把使用者有讀取權限的 Gitea 專案批次 clone 到本機並依擁有者分類。流程會先確認 token、決定 gitea 主機與目標根目錄(預設家目錄),再以 token 分頁呼叫 `GET /api/v1/user/repos` 取回**所有有讀取權限**的專案、依 `owner` 分組(預設排除 fork);接著列出所有擁有者讓使用者**多選**(帶 `--owner` 則跳過詢問),列出選定擁有者底下的專案後,於 `<根目錄>/<擁有者>/<專案名>` 逐一處理:**不存在則 clone**HTTPStokenclone 後還原乾淨 origin;或 `--ssh`),**已存在則 `fetch` → 切到 develop(再退而 master)→ `pull --ff-only` 更新到最新**。全程唯讀(不 push、不改遠端),工作區有未提交變更的專案會略過而非強制覆蓋;token 一律由環境變數提供、不寫死也不印出。
參數:`[--target-dir <根目錄>] [--owner <擁有者,以逗號分隔>] [--host <gitea 主機>] [--include-forks] [--ssh] [--yes]`(根目錄預設家目錄;`--owner` 預先指定擁有者並跳過多選;`--host` 指定 gitea 主機;`--include-forks` 納入 fork`--ssh` 改用 SSH clone`--yes` 略過一般確認但不略過擁有者多選)。
- **Claude Code / Antigravity**`/jsc:code-review-sync`,或 `/jsc:code-review-sync --owner plugins --target-dir ~/work``/jsc:code-review-sync --include-forks --ssh`
- **Codex**`$code-review-sync`,或 `$code-review-sync --owner plugins --target-dir ~/work`,或用 `/skills` 選單
- **OpenCode**:描述需求(如「用 GITEA_TOKEN 取得我有讀取權限的所有 Gitea 專案,依擁有者分組讓我多選,把選定擁有者的專案 clone 到家目錄;已存在的切到 develop/master 更新到最新」)自動觸發
<!-- JSC-SKILLS:END -->
---