mcpField
R
runner-selection

runner-selection

github.com/dev-toolingsCloud & DevOps22777 installsUpdated 3w ago
Repository

About runner-selection

runner-selection is a Symfony-focused skill for choosing the correct command runner before executing PHP, Composer, console, or test commands. It detects the project’s Docker setup and container state, then provides consistent command prefixes and safety checks.

Key features

  1. 01Detects Docker type and container state
  2. 02Prints prefixed console, Composer, and test commands
  3. 03Guides starting stopped containers
  4. 04Prevents accidental host command execution

Use cases

  1. 01Preparing to run commands in an unfamiliar Symfony project
  2. 02Recovering from missing PHP or database errors
  3. 03Choosing commands when Docker setup is unclear

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dev-toolings/superpowers-symfony --skill runner-selection

After installing, type/runner-selectionin Claude Code to confirm it loaded.

Details

From the project README

Runner Selection (Symfony)

Use when

  • Before the first PHP, console, composer or test command of a session.
  • A command fails with a missing PHP, extension or database that the container provides.
  • The project uses Docker Compose, Symfony Docker (FrankenPHP), DDEV or the host and the right prefix is unclear.
  • The containers may be stopped and the commands must not silently run on the host.

Default workflow

  1. Run the library's runtime context CLI with --format=markdown (or --format=env for scripts).
  2. Read the detected Docker type (ddev, symfony-docker, a Compose file, or none) and whether the containers are running.
  3. Use the prefixed console, composer and test commands it prints, such as docker compose exec php bin/console.
  4. If the containers are stopped, start them with the guidance it prints (ddev start or docker compose up -d), then run it again.
  5. Reuse the same prefix for every command in the session.

Guardrails

  • Never run the host php or composer when the project expects containers.
  • Do not guess the Compose service name: take it from the detected commands.
  • Without a Symfony application the CLI prints nothing: say so instead of inventing a runner.
  • Do not start or stop containers the task does not need.

Progressive disclosure

  • Use this file for execution posture and risk controls.
  • Open references when deep implementation details are needed.

Output contract

  • The detected environment (Docker type, running state, test framework).
  • The prefixed console, composer and test commands for this session.

References

Comments

Markdown supported