- 五份 manifest 的 name 由 jsc 改為 jsc-doc - skill 目錄去掉重複的 doc- 前綴共 5 個(doc-funcs → funcs 等),worklog 名稱不變,frontmatter name 同步 - hooks/hooks.json 由合併超集改為只註冊 Stop(worklog):role 的 hook 交還 jsc-generic,避免改名後重複執行 - hook 腳本搜尋路徑與文件內 cache 路徑改指 jsc-doc - 指令引用改為 /jsc-doc: 前綴;跨 plugin 引用指向 /jsc-code:、/jsc-generic: - 保留 .docs/doc-funcs-index.md 等產物檔名不變(非 skill 識別名) - 版號 0.2.6 → 0.2.7 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
---
|
|
name: docker
|
|
description: 整理並對齊 docker-compose.yaml 的行內註解與標題區塊。當使用者要對齊 docker-compose 註解、整理 compose 檔註解欄位、更新 compose 標題日期,或提到 docker-compose、dc-tidy、align_comments、註解對齊時使用此 skill。
|
|
---
|
|
|
|
# 對齊 docker-compose 註解
|
|
|
|
整理並對齊 `docker-compose.yaml` 的行內註解與標題。請優先使用自動化腳本執行。
|
|
|
|
以下範例中的 `skill_dir` 是本 skill 所在目錄,也就是包含此 `SKILL.md` 與 `scripts/` 的資料夾。不要假設目標專案內存在 `plugins/skills/docker/`。
|
|
|
|
## 全專案批次處理(未指定檔案時)
|
|
|
|
```bash
|
|
bash "${skill_dir}/scripts/align_comments.sh" --yes
|
|
```
|
|
|
|
## 單一檔案處理(指定檔案時)
|
|
|
|
`${file}` 為使用者指定的目標檔案:
|
|
|
|
```bash
|
|
bash "${skill_dir}/scripts/align_comments.sh" "${file}" --yes
|
|
```
|
|
|
|
## 手動執行流程參考
|
|
|
|
1. **[步驟 0] 還原空白基準**:移除既有對齊用空白,回到可重新計算的狀態。
|
|
|
|
```bash
|
|
tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -f "${skill_dir}/scripts/awk/strip_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
|
|
```
|
|
|
|
2. **[步驟 1] 校閱註解**:修正註解文字與數值正確性。
|
|
|
|
3. **[步驟 2] 計算對齊欄位**:取得對齊欄位。
|
|
|
|
```bash
|
|
awk -f "${skill_dir}/scripts/awk/find_col.awk" "${file}"
|
|
```
|
|
|
|
取得 `TARGET=XX`。
|
|
|
|
4. **[步驟 3] 執行對齊**:依 `TARGET` 欄位對齊註解。
|
|
|
|
```bash
|
|
tmp="$(mktemp "${file}.tmp.XXXXXX")" && awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/align_col.awk" "${file}" > "$tmp" && mv -- "$tmp" "${file}"
|
|
```
|
|
|
|
5. **[步驟 4] 驗證對齊**:驗證對齊結果。
|
|
|
|
```bash
|
|
awk -v TARGET=<TARGET> -f "${skill_dir}/scripts/awk/verify_col.awk" "${file}"
|
|
```
|
|
|
|
6. **[步驟 5] 更新日期**:更新標題區塊的 `更新日期` 為今日。
|