关于 runner-selection
runner-selection 是面向 Symfony 项目的技能,用于在执行 PHP、Composer、控制台或测试命令前选择合适的运行环境。它检测 Docker 类型和容器状态,并提供统一的命令前缀及安全检查。
主要功能
- 01检测 Docker 类型和容器状态
- 02生成控制台、Composer 和测试命令前缀
- 03指导启动已停止的容器
- 04避免命令意外在主机上运行
适用场景
- 01准备在陌生 Symfony 项目中执行命令
- 02排查 PHP 或数据库缺失错误
- 03Docker 配置不明确时选择命令
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dev-toolings/ superpowers-symfony --skill runner-selection安装后在 Claude Code 中输入/runner-selection确认已加载。
详细介绍
运行器选择(Symfony)
适用场景
- 在会话中首次运行 PHP、控制台、composer 或测试命令之前。
- 命令因缺少容器提供的 PHP、扩展或数据库而失败时。
- 项目使用 Docker Compose、Symfony Docker(FrankenPHP)、DDEV 或宿主机,且不清楚应使用哪个命令前缀时。
- 容器可能已停止,且命令不得悄悄在宿主机上运行时。
默认工作流
- 使用
--format=markdown(或脚本使用--format=env)运行该库的运行时上下文 CLI。 - 查看检测到的 Docker 类型(
ddev、symfony-docker、某个 Compose 文件或none),以及容器是否正在运行。 - 使用它输出的带前缀控制台、composer 和测试命令,例如
docker compose exec php bin/console。 - 如果容器已停止,请根据它输出的指引启动容器(
ddev start或docker compose up -d),然后再次运行该命令。 - 在整个会话中,每条命令都使用相同的前缀。
防护措施
- 如果项目要求使用容器,切勿运行宿主机上的
php或composer。 - 不要猜测 Compose 服务名称:从检测到的命令中获取。
- 如果没有 Symfony 应用,CLI 不会输出任何内容:请如实说明,不要臆造运行器。
- 不要启动或停止任务不需要的容器。
渐进式披露
- 使用此文件了解执行规范和风险控制。
- 需要深入了解实现细节时,请打开参考资料。
输出约定
- 检测到的环境(Docker 类型、运行状态、测试框架)。
- 本会话带前缀的控制台、composer 和测试命令。
参考资料
评论
支持 Markdown