mcpField
R
runner-selection

runner-selection

github.com/dev-toolings云与 DevOps22777 次安装3 周前更新
代码仓库

关于 runner-selection

runner-selection 是面向 Symfony 项目的技能,用于在执行 PHP、Composer、控制台或测试命令前选择合适的运行环境。它检测 Docker 类型和容器状态,并提供统一的命令前缀及安全检查。

主要功能

  1. 01检测 Docker 类型和容器状态
  2. 02生成控制台、Composer 和测试命令前缀
  3. 03指导启动已停止的容器
  4. 04避免命令意外在主机上运行

适用场景

  1. 01准备在陌生 Symfony 项目中执行命令
  2. 02排查 PHP 或数据库缺失错误
  3. 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 或宿主机,且不清楚应使用哪个命令前缀时。
  • 容器可能已停止,且命令不得悄悄在宿主机上运行时。

默认工作流

  1. 使用 --format=markdown(或脚本使用 --format=env)运行该库的运行时上下文 CLI。
  2. 查看检测到的 Docker 类型(ddev、symfony-docker、某个 Compose 文件或 none),以及容器是否正在运行。
  3. 使用它输出的带前缀控制台、composer 和测试命令,例如 docker compose exec php bin/console。
  4. 如果容器已停止,请根据它输出的指引启动容器(ddev start 或 docker compose up -d),然后再次运行该命令。
  5. 在整个会话中,每条命令都使用相同的前缀。

防护措施

  • 如果项目要求使用容器,切勿运行宿主机上的 php 或 composer。
  • 不要猜测 Compose 服务名称:从检测到的命令中获取。
  • 如果没有 Symfony 应用,CLI 不会输出任何内容:请如实说明,不要臆造运行器。
  • 不要启动或停止任务不需要的容器。

渐进式披露

  • 使用此文件了解执行规范和风险控制。
  • 需要深入了解实现细节时,请打开参考资料。

输出约定

  • 检测到的环境(Docker 类型、运行状态、测试框架)。
  • 本会话带前缀的控制台、composer 和测试命令。

参考资料

评论

支持 Markdown