Files
doc/skills/docker/SKILL.md
T
jiantw83andClaude Sonnet 5 0cad39177b feat(spec-version-guard): 新增版本檢查 hook 並在 7 個 skill 檔頭引用規範
hooks/hooks.json 在既有 Stop(worklog)之外新增 PreToolUse 條目,沿用跨 plugin
腳本定位手法呼叫 shared 的 version-guard.mjs;docker/funcs/issues-analyze-to-file/
issues-analyze/issues-sync/notifications/worklog 七個 skill 檔頭補上
spec-version-guard。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 14:54:37 +08:00

2.2 KiB

name, description
name description
docker 整理並對齊 docker-compose.yaml 的行內註解與標題區塊。當使用者要對齊 docker-compose 註解、整理 compose 檔註解欄位、更新 compose 標題日期,或提到 docker-compose、dc-tidy、align_comments、註解對齊時使用此 skill。

對齊 docker-compose 註解

共用規範(必要前置)

先載入 /jsc-shared:spec-preflight 並依其流程處理;載入不到即代表 shared plugin 未安裝, 依該 spec 詢問使用者是否安裝 https://gitea.jsc.idv.tw/plugins/shared.git,不安裝則中斷本 skill。 本 skill 需要的規範:spec-version-guard、spec-output、spec-execution、spec-time-log

整理並對齊 docker-compose.yaml 的行內註解與標題。請優先使用自動化腳本執行。

以下範例中的 skill_dir 是本 skill 所在目錄,也就是包含此 SKILL.md 與 scripts/ 的資料夾。不要假設目標專案內存在 plugins/skills/docker/。

全專案批次處理(未指定檔案時)

bash "${skill_dir}/scripts/align_comments.sh" --yes

單一檔案處理(指定檔案時)

${file} 為使用者指定的目標檔案:

bash "${skill_dir}/scripts/align_comments.sh" "${file}" --yes

手動執行流程參考

  1. [步驟 0] 還原空白基準:移除既有對齊用空白,回到可重新計算的狀態。

    tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -f "${skill_dir}/scripts/awk/strip_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
    
  2. [步驟 1] 校閱註解:修正註解文字與數值正確性。

  3. [步驟 2] 計算對齊欄位:取得對齊欄位。

    awk -f "${skill_dir}/scripts/awk/find_col.awk" "${file}"
    

    取得 TARGET=XX。

  4. [步驟 3] 執行對齊:依 TARGET 欄位對齊註解。

    tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/align_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
    
  5. [步驟 4] 驗證對齊:驗證對齊結果。

    awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/verify_col.awk" "${file}"
    
  6. [步驟 5] 更新日期:更新標題區塊的 更新日期 為今日。