d34dman / drupal-recipe-manager
A CLI tool for managing and executing Drupal recipes
1.1.1
2025-05-05 18:19 UTC
Requires
- php: >=8.2
- symfony/console: ^7.0
- symfony/filesystem: ^7.0
- symfony/finder: ^7.0
- symfony/process: ^7.0
- symfony/yaml: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.17
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- roave/security-advisories: dev-latest
- symfony/var-dumper: ^7.0
README
A CLI tool for managing and executing Drupal recipes.
Quick Start
- Install:
composer require --dev d34dman/drupal-recipe-manager
- Create
drupal-recipe-manager.yaml
:
scanDirs: - recipes # - web/core/recipes # Uncomment to include core recipes commands: ddevRecipe: description: "🚀 Run Drush recipe command using ddev" command: "ddev drush recipe ../${folder}" requiresFolder: true logsDir: recipes/logs
Commands
The executable should be available inside /vendor/bin/drupal-recipe-manager
$ /vendor/bin/drupal-recipe-manager recipe
Command | Description |
---|---|
recipe |
Interactive recipe selection and execution |
recipe --list |
List all recipes with status |
recipe [recipe-name] |
Run a specific recipe |
recipe:dependencies |
Show recipe dependencies interactively |
recipe:dependencies [recipe-name] |
Show dependency tree for a recipe |
recipe:dependencies --inverted |
Show which recipes depend on a recipe |
Features
- Interactive UI: Beautiful terminal interface with color-coded status
- Status Tracking:
- ✓ Green: Successfully executed
- ✗ Red: Failed execution
- â—‹ Gray: Not executed yet
- Dependency Management: Automatic handling of recipe dependencies
- Custom Commands: Configure your own recipe execution commands
- Variable Transformations: Customize paths and variables
Configuration
Directories
scanDirs
: List of directories to scan for recipeslogsDir
: Directory for storing logs
Variables
variables: - name: "folder_relative" input: "${folder}" search: "^.*?recipes/" replace: ""
Requirements
- PHP 8.2+
- Composer
- Drupal installation with recipes
License
MIT License - See LICENSE file for details.
Author
D34dman (shibinkidd@gmail.com)