Archived
feat: 新增 code-review-image 等三個容器化/文件化 skill(bump 0.1.9) #31
@@ -42,7 +42,10 @@ code-review/
|
||||
│ ├── code-review-archive/ # 保存裁決:成立→已知問題、誤判→排除事項
|
||||
│ ├── code-review-resolve/ # 解決 findings.json + 分類提交 + push + 發 PR
|
||||
│ ├── code-review-nuget/ # C# / .NET NuGet 套件更新 + build 驗證
|
||||
│ └── code-review-sync/ # 依擁有者批次 clone/更新 Gitea 專案
|
||||
│ ├── code-review-sync/ # 依擁有者批次 clone/更新 Gitea 專案
|
||||
│ ├── code-review-action-docker/ # action 容器化(Node 主程式)+ 串接 doc-funcs
|
||||
│ ├── code-review-action-composite/ # composite action 標準化 + 串接 doc-funcs
|
||||
│ └── code-review-image/ # Dockerfile 整理成六步流程 + 串接 doc-funcs
|
||||
├── AGENTS.md # 跨助理共用指引
|
||||
└── README.md
|
||||
```
|
||||
@@ -218,6 +221,36 @@ rm -rf ~/.config/opencode/skills/code-review
|
||||
- **Codex**:`$code-review-sync`,或 `$code-review-sync --owner plugins --target-dir ~/work`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求(如「用 GITEA_TOKEN 取得我有讀取權限的所有 Gitea 專案,依擁有者分組讓我多選,把選定擁有者的專案 clone 到家目錄;已存在的切到 develop/master 更新到最新」)自動觸發
|
||||
|
||||
### `code-review-action-docker`
|
||||
|
||||
把 Gitea/GitHub「Docker 容器 action」專案標準化為 **Node 主程式+容器化**,再串接文件化流程。五階段:(A) 找出 action 專案、讀 `action.yml`/`action.yaml` 的 `name`/`description`、判斷主程式語言;(B) 主程式**非 Node 則保守改寫為 Node**(高風險,先以 AskUserQuestion 確認,保留對外行為),並把所有 `.js` 集中到 **`app/`**、同步更新 `require`/`import` 路徑、`package.json` 與 `action.yml`;(C) 產生 `entrypoint.sh`,**啟動 node 前先輸出 action 名稱/用途/更新時間**(Asia/Taipei `yyyy/MM/dd HH:mm:ss`)再 `exec node`;(D) 依**六步流程**(參數處理 → 安裝套件 → 複製檔案 → 執行程序 → 縮小映像檔 → 設定入口)產生**使用最新 node 版本**的 `Dockerfile`,**每步內容依主程式(`app/`)實作量身決定**(先盤點相依/是否需 build/OS 層相依/入口檔再填對應步驟,用不到的不硬塞),預設 build 基底 `node:latest`、runtime `node:slim`、**多階段建置縮小映像**,`ENTRYPOINT` 指向 `entrypoint.sh`;(E) 對整個專案**完整執行 `/jsc:doc-funcs`**(function 文件、`entrypoint.sh`/`Dockerfile` 逐行註解、重建 README)。
|
||||
|
||||
參數:`[--action-dir <action 根目錄>] [--node-version <node tag>] [--main <主程式檔>] [--yes]`(根目錄預設目前工作目錄;node 版本預設最新;主程式自動判斷;`--yes` 略過一般確認,但主程式改寫與 doc-funcs 的實作詢問仍會中斷)。
|
||||
|
||||
- **Claude Code / Antigravity**:`/jsc:code-review-action-docker`,或 `/jsc:code-review-action-docker --action-dir ~/work/my-action --node-version 22`
|
||||
- **Codex**:`$code-review-action-docker`,或 `$code-review-action-docker --action-dir ~/work/my-action`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求(如「把這個 action 主程式改成 node、所有 js 收進 app/,產生會先輸出 action 名稱/用途/更新時間再啟動 node 的 entrypoint.sh、用最新 node 版本的 Dockerfile,最後跑 doc-funcs 補文件並重建 README」)自動觸發
|
||||
|
||||
### `code-review-action-composite`
|
||||
|
||||
把 Gitea/GitHub「composite action」專案標準化,再串接文件化流程。四階段:(A) 找出 action 專案、讀 `action.yml`/`action.yaml` 的 `name`/`description`/`runs`、判斷是否為 composite;(B) **已是 composite 則保留既有 `steps`**,非 composite(JS/Docker)則**保守確認後對齊**為 composite(高風險先以 AskUserQuestion 確認,保留 `inputs`/`outputs` 契約;Docker 行為無法等價塞入時標「需人工確認」並建議改用 `code-review-action-docker`);(C) 在 `runs.steps` **最前面注入啟動橫幅 step**,輸出 action **名稱/用途/更新時間**(Asia/Taipei `yyyy/MM/dd HH:mm:ss`,固定字串),並於 `action.yml` 開頭補用途/更新時間註解區塊(既有橫幅 step 則更新而非重插);(D) 對整個專案**完整執行 `/jsc:doc-funcs`**(`action.yml` 與被引用腳本逐行註解、function 文件、重建 README)。
|
||||
|
||||
參數:`[--action-dir <action 根目錄>] [--manifest <action.yml 路徑>] [--yes]`(根目錄預設目前工作目錄;manifest 自動尋找 `action.yml`/`action.yaml`;`--yes` 略過一般確認,但「非 composite 需對齊」與 doc-funcs 的實作詢問仍會中斷)。
|
||||
|
||||
- **Claude Code / Antigravity**:`/jsc:code-review-action-composite`,或 `/jsc:code-review-action-composite --action-dir ~/work/my-action`
|
||||
- **Codex**:`$code-review-action-composite`,或 `$code-review-action-composite --action-dir ~/work/my-action`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求(如「把這個 composite action 標準化,在 steps 最前面加一個會輸出 action 名稱/用途/更新時間的 step,最後跑 doc-funcs 補文件並重建 README」)自動觸發
|
||||
|
||||
### `code-review-image`
|
||||
|
||||
把專案既有的 `Dockerfile` **整理成固定六步流程**,再串接文件化流程。三階段:(A) 找出專案根目錄、定位目標 `Dockerfile`(找不到則詢問、**不臆造**;要產生全新 action 容器請改用 `code-review-action-docker`),讀現有指令、判斷語言/生態與既有 base image/建置流程;(B) 在**保留建置行為**前提下,把指令重整/歸位為**六步流程**(參數處理 → 安裝套件 → 複製檔案 → 執行程序 → 縮小映像檔 → 設定入口):可調參數集中於檔首 `ARG`、相依描述先 `COPY` 以利 layer 快取、**多階段建置**讓 runtime 改用較小基底(`*-slim`/`*-alpine`/`distroless` 等)只帶執行所需產物;`ENTRYPOINT`/`CMD`/`EXPOSE`/`ENV` 等對外契約不動,**無法保證等價的重整先以 AskUserQuestion 確認**(可選最小重排或只補註解);(C) 對整個專案**完整執行 `/jsc:doc-funcs`**(`Dockerfile` 等指令檔逐行註解、function 文件、重建 README)。
|
||||
|
||||
參數:`[--project-dir <專案根目錄>] [--dockerfile <Dockerfile 路徑>] [--yes]`(專案根目錄預設目前工作目錄;Dockerfile 自動定位、多個時詢問;`--yes` 略過一般確認,但「重整無法保證行為等價」與 doc-funcs 的實作詢問仍會中斷)。
|
||||
|
||||
- **Claude Code / Antigravity**:`/jsc:code-review-image`,或 `/jsc:code-review-image --project-dir ~/work/my-app --dockerfile build/Dockerfile`
|
||||
- **Codex**:`$code-review-image`,或 `$code-review-image --dockerfile docker/Dockerfile`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求(如「把這個專案的 Dockerfile 整理成參數處理→安裝套件→複製檔案→執行程序→縮小映像檔→設定入口六步、用多階段建置縮小映像,最後跑 doc-funcs 補文件並重建 README」)自動觸發
|
||||
|
||||
<!-- JSC-SKILLS:END -->
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user