diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 8daef6b..cf12d12 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.0.9", + "version": "0.0.10", "description": "JSC 程式碼工作流 plugin(Claude Code / Codex / Antigravity / OpenCode),提供 Gitea AI review findings 修復/PR 流程、Gitea 議題 TODO 彙整與逐項實作、C# / .NET NuGet 套件更新、Gitea 專案批次同步,以及 action / Dockerfile 標準化流程;於 Claude Code 以 /jsc: 前綴呼叫。", "skills": "./skills", "author": { diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 5e92f36..22769d2 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.0.9", + "version": "0.0.10", "description": "JSC 程式碼工作流 plugin,提供 Gitea AI review findings 修復/PR 流程、Gitea 議題 TODO 彙整與逐項實作、C# / .NET NuGet 套件更新、Gitea 專案批次同步,以及 action / Dockerfile 標準化流程。", "skills": "./skills" } diff --git a/README.md b/README.md index 4e789e3..3ed19f3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # jsc — 跨 AI 助理程式碼工作流 Plugin -一個可同時被 **Claude Code、Codex、Antigravity、OpenCode** 安裝的 plugin,提供一組以 **程式碼工作流** 為核心的 skills: +一個可同時被 **Claude Code、Codex、Antigravity、OpenCode、GitHub Copilot** 使用的 plugin,提供一組以 **程式碼工作流** 為核心的 skills: **Gitea AI review findings 修復、分類提交、push 與 PR 建立流程**、**Gitea 議題 TODO 彙整與逐項實作流程**、**C# / .NET NuGet 套件更新流程**、**Gitea 專案批次同步**,以及 **action / Dockerfile 標準化流程**。 核心是以 [Agent Skills(`SKILL.md`)](https://agentskills.io) 標準撰寫的共用 skills(唯一真實來源放在 `skills/`), 搭配各助理各自的 plugin manifest,讓**同一個 repo** 可用各家**原生 plugin CLI** 安裝。 @@ -16,8 +16,9 @@ plugin 名為 `jsc`,在 Claude Code 與 Antigravity 中 skill 以 **`/jsc:` | Codex | `codex plugin`(marketplace) | `$` 或 `/skills` 選單 | ❌(用 `$name`) | | Antigravity | `agy plugin install` | `/jsc:` 或自動觸發 | ✅ | | OpenCode | skills 目錄(複製/clone) | 描述需求自動觸發 | ❌(依名稱) | +| GitHub Copilot | repository instructions(`AGENTS.md` / `.github/copilot-instructions.md`) | 描述需求並要求讀取對應 `SKILL.md` | ❌(依指示檔) | -> Codex 不支援自訂前綴(skill 以 `$name` 呼叫);OpenCode 由模型依描述自動呼叫。兩者皆**不強制**前綴。 +> Codex 不支援自訂前綴(skill 以 `$name` 呼叫);OpenCode 與 Copilot 由模型依描述與指示檔觸發。三者皆**不強制**前綴。 --- @@ -50,7 +51,7 @@ code/ --- -## 安裝 / 更新 / 移除(各家原生 plugin CLI) +## 安裝 / 更新 / 移除(各助理) > 指令中的 repo 網址換成你的:`https://gitea.jsc.idv.tw/plugins/code.git` > @@ -142,6 +143,28 @@ rm -rf ~/.config/opencode/skills/{code-review-resolve,code-issues,code-nuget,cod - **呼叫**:直接描述需求,模型會依 skill 描述自動透過 skill 工具呼叫。 +### GitHub Copilot + +GitHub Copilot 目前不是這類 `SKILL.md` plugin 的原生執行環境;安裝方式是把本 repo 作為 repository instructions 的來源,讓 Copilot 讀 `AGENTS.md` 與對應 `SKILL.md`。 + +```bash +# 安裝到目標 repo(把 code plugin vendored 進 .github/jsc-plugins/code) +git clone https://gitea.jsc.idv.tw/plugins/code.git .github/jsc-plugins/code +cp .github/jsc-plugins/code/AGENTS.md AGENTS.md + +# 更新 +git -C .github/jsc-plugins/code pull +cp .github/jsc-plugins/code/AGENTS.md AGENTS.md + +# 移除 +git rm -r .github/jsc-plugins/code +# 若 AGENTS.md 只供此 plugin 使用,再移除;若已有其他內容,請只刪除 JSC code 相關段落 +# git rm AGENTS.md +``` + +- 也可把既有 `.github/copilot-instructions.md` 改成引用 `AGENTS.md` 與 `.github/jsc-plugins/code/skills//SKILL.md`。 +- **呼叫**:在 Copilot Chat/Coding Agent 任務中描述需求,例如「請依 `.github/jsc-plugins/code/skills/code-issues/SKILL.md` 處理議題」。 + --- ## 用 CLI 直接執行 skill(headless / 一次性) @@ -154,10 +177,11 @@ rm -rf ~/.config/opencode/skills/{code-review-resolve,code-issues,code-nuget,cod | Codex | `codex exec ""` | `codex exec '$code-issues --tool api --repo plugins/code --issues 12,15 --yes'` | | Antigravity | `agy -p ""` | `agy -p "/jsc:code-issues --tool api --repo plugins/code --issues 12,15 --yes"` | | OpenCode | `opencode run ""` | `opencode run "讀 plugins/code 的 12、15 號議題,整理 TODO 並逐項實作、留言進度"` | +| GitHub Copilot | Copilot Chat / Coding Agent 任務 | `請依 .github/jsc-plugins/code/skills/code-issues/SKILL.md 處理 plugins/code 的 12、15 號議題` | - Claude / Antigravity 支援 `/jsc:` 前綴,直接 `-p "/jsc:"` 即可。 - Codex 以 `$` 觸發;在 shell 請用**單引號**避免 `$` 被展開:`codex exec '$code-issues …'`。 -- OpenCode 沒有前綴,用自然語言描述需求,模型會自動透過 skill 工具呼叫。 +- OpenCode 與 Copilot 沒有前綴,用自然語言描述需求;Copilot 任務中請明確指出要讀取的 `SKILL.md`。 - 帶引數就接在後面,例如 `claude -p "/jsc:code-issues --issues 12"`、`codex exec '$code-issues --issues 12'`。 --- @@ -267,3 +291,4 @@ rm -rf ~/.config/opencode/skills/{code-review-resolve,code-issues,code-nuget,cod - Codex:`codex plugin marketplace upgrade code` - Antigravity:`git -C ~/jsc-plugin pull && agy plugin uninstall jsc && agy plugin install ~/jsc-plugin` - OpenCode:`git pull` 後重新複製 `skills/` + - GitHub Copilot:更新 `.github/jsc-plugins/code` 後同步 `AGENTS.md` 或 `.github/copilot-instructions.md` diff --git a/plugin.json b/plugin.json index c1d3a04..7a3d389 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "jsc", - "version": "0.0.9", + "version": "0.0.10", "description": "JSC 程式碼工作流 plugin,提供 Gitea AI review findings 修復/PR 流程、Gitea 議題 TODO 彙整與逐項實作、C# / .NET NuGet 套件更新、Gitea 專案批次同步,以及 action / Dockerfile 標準化流程;於 Antigravity 以 /jsc: 前綴呼叫。", "skills": "./skills/" }