jiantw83andClaude Opus 5 768ae6a9fe chore(gitea): 三份 manifest 同步升版並同步 marketplace 正本
What:三份 plugin manifest 版本同步 bump,兩份 marketplace 檔與 plugins/meta 正本對齊。

Why:準則要求技能異動必須同步升版;marketplace 副本必須與正本完全一致。

How:以 jsc-meta 的 tools/sync-skill-manifest.sh 升版,marketplace 檔由正本複製。

Who:jsc-meta:skill-check 例行稽核(2026-08-25)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 14:58:54 +08:00
2026-08-21 04:42:24 +00:00

jsc-gitea — Gitea 操作

jsc 技能組的 gitea domain:Gitea API 的統一入口。所有 jsc 技能需要操作 gitea(wiki、repo、PR)時,一律經由本 domain 的工具或技能,不可自行拼 API 呼叫。

安裝、更新、移除

Marketplace 統一為 jsc(https://gitea.jsc.idv.tw/plugins/meta.git),安裝 token 為 jsc-gitea@jsc。每個指令一行:

CLI 安裝 更新 移除
claude claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && claude plugin install jsc-gitea@jsc claude plugin marketplace update jsc && claude plugin update jsc-gitea@jsc claude plugin uninstall jsc-gitea@jsc
codex codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && codex plugin add jsc-gitea@jsc codex plugin marketplace upgrade jsc codex plugin remove jsc-gitea@jsc
copilot copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && copilot plugin install jsc-gitea@jsc copilot plugin marketplace update jsc && copilot plugin update jsc-gitea@jsc copilot plugin uninstall jsc-gitea@jsc
antigravity git clone https://gitea.jsc.idv.tw/plugins/gitea.git ~/plugins/gitea && agy plugin install ~/plugins/gitea git -C ~/plugins/gitea pull && agy plugin uninstall jsc-gitea && agy plugin install ~/plugins/gitea agy plugin uninstall jsc-gitea
kiro kiro-cli plugin marketplace add https://gitea.jsc.idv.tw/plugins/meta.git && kiro-cli plugin install jsc-gitea@jsc kiro-cli plugin marketplace update jsc && kiro-cli plugin update jsc-gitea@jsc kiro-cli plugin uninstall jsc-gitea@jsc

antigravity 不支援 gitea URL 安裝,改用本地 clone 路徑。批次操作五個 CLI:使用 /jsc-cli:deploy。

舊入口 plugins/jsc 已移除,marketplace 正本移到 plugins/meta。marketplace 名稱仍是 jsc(取自 marketplace.json 的 name 欄位,與存取庫名無關),安裝 token 不變;已從舊入口安裝過的人先執行 claude plugin marketplace remove jsc,再依上表重新 add。

工具

tools/gitea.sh(POSIX shell + curl):

gitea.sh owners                                  # 列出可讀取的 owner
gitea.sh repos <owner>                           # 列出 owner 的 repo 全名
gitea.sh default-branch <owner>/<repo>
gitea.sh clone-url <owner>/<repo>
gitea.sh hash-id <text>                          # 產生 8 碼大寫 SHA-1;首碼 0-9/A/B/C 時改成 Hxxxxxxx
gitea.sh wiki-repo <TYPE>                        # 解析頁面類型的 wiki 位置(TYPE = QUESTION / PLAN / ANALYZE / DELIVER / MAINTAIN / REPO / LOG / LEARN / ERROR)
gitea.sh wiki-list <owner>/<repo>
gitea.sh wiki-get <owner>/<repo> <page>          # 不存在 exit 4
gitea.sh wiki-put <owner>/<repo> <page> <file>   # 自動判斷新建或更新
gitea.sh wiki-url <owner>/<repo> <page>          # 印出 wiki 頁絕對網址(取自 API 的 html_url);跨存取庫連結用
gitea.sh pr-create <owner>/<repo> <head> <base> <title> <body-file>
gitea.sh pr-status <owner>/<repo> <pr-index>     # 印出 {state} {merged} {mergeable}
gitea.sh pr-comments <owner>/<repo> <pr-index>   # 印出所有留言(issue 留言、審查評語、行內留言),依時間排序
gitea.sh pr-depend <owner>/<repo> <pr-index> <dep-owner>/<dep-repo> <dep-index>
                                                 # 把 PR 掛上前置 PR 依賴;依賴未關閉前 Gitea 會阻擋合併
gitea.sh repo-set <owner>/<repo> <description> [website]  # 設定 repo 描述與網頁
gitea.sh api <METHOD> <path> [json-file]
hash-id <text>                                   # 與 gitea.sh hash-id 相同
repo-sync.sh <owner>/<repo> [target-dir]         # 同步單一存取庫;印出 cloned、updated、dirty {分支} 或 failed {原因}
                                                 # 基準分支的優先序只在這支腳本裡;dirty 會把解析好的分支帶出來當 PR 的 base
check-wiki-rules.sh                              # 驗證 wiki repo 解析與 hash fallback 規則

參考資料

  • references/wiki-links.md:寫 wiki 頁才需要的連結規則。同類型用 [[顯示文字|頁名]](顯示文字在左),跨類型用 wiki-url 給的絕對網址。

Skills 目錄

呼叫方式:Claude / Antigravity /jsc-gitea:{name};Codex ${name};Copilot / Kiro 描述需求自動觸發。

wiki

Gitea wiki 頁讀寫的統一入口:依頁面類型(QUESTION / PLAN / ANALYZE / DELIVER / MAINTAIN / REPO / LOG / LEARN / ERROR)解析 wiki 所在的 {owner}/{repo},先讀對應的 JSC_WIKI_REPO_{TYPE},再退回 JSC_WIKI_REPO,不同類型不可互相代用。頁面內容以圖表優先(mermaid 圖、markdown 表格),純文字每節最多三句。

repo-sync

存取庫批次同步:列出 owner → 使用者選擇 → 逐 repo(sub agent)呼叫 tools/repo-sync.sh clone 或更新;回報 dirty {分支} 的存取庫交給 jsc-git:pr,base 直接用腳本帶出來的那個分支。

環境變數

變數 用途 未設定時
GITEA_HOST Gitea 站台(可省略 scheme,預設 https) 詢問使用者
GITEA_TOKEN Gitea API token;缺少或遇 401/403 時自動退回 tea CLI 登入 token 詢問使用者
JSC_WIKI_REPO_{TYPE} 各類型 wiki 頁的 {owner}/{repo};TYPE = QUESTION / PLAN / ANALYZE / DELIVER / MAINTAIN / REPO / LOG / LEARN / ERROR 退回 JSC_WIKI_REPO,不做跨類型代用
JSC_WIKI_REPO 共用預設的 wiki {owner}/{repo} 詢問使用者

Hash 規則

{HASH} 由 tools/hash-id 產生。先算 SHA-1 前 8 碼並轉大寫。若首碼是數字或 A、B、C,就改成 H 加上原本的前 7 碼,維持 8 碼長度。

相關 domain

  • jsc-ask:wiki 位置未設定時的決策樹詢問
  • jsc-git:repo-sync 的 commit 與 PR
S
Description
No description provided
Readme
598 KiB
Languages
Shell 85.2%
HTML 8.7%
CSS 4.7%
JavaScript 1.4%