1
0
mirror of https://github.com/bestnite/quadlet-migrator-skill.git synced 2026-04-04 00:33:27 +00:00

Clarify README wording and Quadlet reference rules.

Rewrite the README in plainer language and document podman-systemd.unit.5.md as the gold standard when Quadlet-specific behavior is unclear.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 06:54:01 +11:00
parent 17c5eb59a8
commit e2372f1b3d
3 changed files with 63 additions and 62 deletions

View File

@@ -2,58 +2,58 @@
[English](./README.md) | [简体中文](./README.zh-CN.md)
一个 skill用来 `docker run` 命令和 Docker Compose 风格部署迁移为可维护的 Podman Quadlet 单元
一个 skill用来 `docker run` 命令和 Docker Compose 配置转换成可审阅、可调整、可应用的 Podman Quadlet 文件
## 功能概览
-`docker run` 和 Compose 风格输入转换为面向 Quadlet 的设计
- 默认先把生成产物写到当前目录,便于审查后再应用
- 只有在用户已要求其他位置,或现有文件冲突需要决策时,才询问输出位置
- 帮助在 `.container``.pod``.network``.volume``.build` 之间做选择,并对多容器服务默认偏向 pod-first 拓扑
-`docker run` 命令和 Docker Compose 配置转换成 Podman Quadlet 文件
- 默认先把生成文件写到当前目录,方便你在安装前先审阅
- 只有在你已经指定其他位置,或现有文件会发生冲突时,才询问输出位置
- 帮助在 `.container``.pod``.network``.volume``.build` 之间做选择;对有关联的多容器服务,通常优先用 pod
- 在合适时保留 `.env` / `env_file` 工作流
- 将大型 env 模板归纳为少量高影响部署问题
- 可生成辅助脚本,其中 `install.sh` 是规范的 apply 步骤,另可生成 `uninstall.sh``reload.sh``start.sh``stop.sh``restart.sh`
- 识别并交付运行所需的 repo 内配套文件,例如挂载配置、初始化资源和辅助脚本
- 在声称结果可运行前,检查环境变量完整性,而不是只做 env 摘要
- 鼓励在 planning 阶段显式提出高影响问题,并在 finalize 与 execution 阶段使用 support files 与 env completeness 检查清单
-已批准的镜像策略使用 fully qualified registry images 时,可规划 opt-in 的 `AutoUpdate=registry`
- 说明 rootless / rootful 应用目标路径、部署说明验证步骤
- 把庞杂的 env 模板收敛成用户真正需要确认的少量问题
- 可生成辅助脚本,例如 `install.sh``uninstall.sh``reload.sh``start.sh``stop.sh``restart.sh`
- 识别服务运行时仍需要的项目内文件,例如挂载配置、初始化数据和辅助脚本
- 在声称结果可运行前,检查 env 文件是否完整
- 在 planning 阶段先确认关键部署决策,并在审阅和执行阶段使用清晰的检查清单
-所选镜像使用包含仓库地址的完整镜像名时,例如 `docker.io/...``ghcr.io/...`,可规划 `AutoUpdate=registry`
- 说明 rootless / rootful 安装路径、部署说明验证步骤
## 设计原则
- 优先选择满足需求的最轻运行模式
-规划、审阅、生成拆成明确阶段
- 用能满足需求的最简单模式
- planning、审阅、生成文件分成独立步骤
- 不虚构部署相关取值
- 对有损映射保持显式说明
- 优先输出可维护的结果,而不是机械一比一转换
- 默认先输出到当前目录供审查,再执行安装
- 当 pod 分组已经能清晰表达意图时,优先用 pod-first 拓扑而不是保留 bridge 网络
- 确保运行所需的 support files 保留在已审阅的当前目录交付集中,并通过绝对主机路径被 Quadlet 引用,而不是由 `install.sh` 复制进 Quadlet 单元目录
- 如果映射会带来行为变化,要明确说出来
- 优先产出容易理解、容易维护的结果
- 先把文件写到当前目录审阅,再决定是否安装
- 对多容器服务,如果用 pod 更清晰,就优先用 pod
- 运行仍需要的额外文件保留在已审阅的输出中,并通过主机上的绝对路径引用,而不是复制进 Quadlet 单元目录
## 运行模式
- `advice`:解释映射方式审查输入,不写最终产物
- `design`:执行 planning 和交互式 finalize 审阅,但在生成可运行产物前停止
- `generate` planning、交互式 finalize 审阅和 execution 之后,生成已批准的可运行产物
- `advice`:解释映射方式审查输入,或回答定向问题,不写最终文件
- `design`:执行 planning 和最后一轮交互式审阅,但在生成可运行文件前停止
- `generate`执行 planning、最后一轮交互式审阅和 execution然后生成已批准的可运行文件
## 工作流
完整工作流分为三个明确阶段:`Planning``Finalize``Execution`
工作流分为三个阶段:`Planning``Finalize``Execution`
- `advice` 通常停留在 `Planning`,或给出不进入全流程的定向答复
- `design` 使用 `Planning``Finalize`
- `generate` 使用全部三个阶段
- `advice` 通常停留在 `Planning`,或直接回答一个聚焦的问题
- `design` 包含 `Planning``Finalize`
- `generate` 包含全部三个阶段
Planning 必须先向用户确认仍未解决的高影响决策,之后才能继续
Finalize 在这些 planning 问题已经讨论过之后,以对话方式进行交互式审阅。
只有在用户审阅并确认 finalize 审阅结果或提出修改后,才进入 Execution。
Planning 用来收集并确认仍未决定的部署问题
Finalize 在这些问题讨论清楚之后进行的对话式审阅。
只有在用户批准这次审阅后,才进入 Execution。
## 文档说明
- `SKILL.md`:运行模式、工作流和高层规则
- `references/compose-mapping.md`Compose 字段映射与拓扑决策
- `references/env-strategy.md`env 处理、完整性校验与 typo 检测
- `references/github-repo-intake.md`仓库发现与 canonical 输入选择
- `references/github-repo-intake.md`说明 skill 如何找到正确的仓库入口
- `references/deployment-notes.md`:部署说明
- `references/validation.md`:验证与排障