drupal/dripyard_recipe_builder

Provides a Drush command to interactively compose Drupal recipes from active site configuration.

Maintainers

Package info

git.drupalcode.org/project/dripyard_recipe_builder.git

Type:drupal-module

pkg:composer/drupal/dripyard_recipe_builder

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

1.0.0-rc1 2026-03-24 15:12 UTC

This package is auto-updated.

Last update: 2026-03-24 18:57:00 UTC


README

A Drush command that lets you interactively compose Drupal recipes from your site's active configuration.

Part of the Dripyard project.

Requirements

  • Drupal 10.3+ or 11
  • Drush 13+
  • PHP 8.2+

Installation

composer require drupal/dripyard_recipe_builder
drush en dripyard_recipe_builder

Usage

drush dripyard:recipe_builder

Or use the alias:

drush drb

This launches an interactive TUI that walks you through:

  1. Upstream selection -- Pick existing recipes whose config should be excluded from your new recipe (avoids duplication).
  2. Metadata -- Set the recipe name, type, and description.
  3. Config selection -- Browse by category, use smart bundle discovery (e.g. node:blog), or search by name.
  4. Dependency validation -- Flags any unresolved config dependencies so you can add them or rely on strict: false.
  5. Module detection -- Collects the modules your selected config requires.
  6. Preview and write -- Review the generated recipe.yml and config files, then write them to disk.

Options

OptionDescription
--upstream=path1,path2Comma-separated upstream recipe paths
--recipe-name="My Recipe"Set the recipe name (skip the prompt)
--recipe-type=DripyardSet the recipe type (default: Dripyard)
--bundle-filter=node:blogPre-select all config for a bundle
--refreshNon-interactive re-export of an existing recipe

Examples

Create a new recipe, selecting upstream recipes interactively:

drush drb

Create a recipe with a bundle pre-selected:

drush drb --bundle-filter=node:event

Update an existing recipe at a specific path:

drush drb recipes/my_recipe

Re-export an existing recipe without prompts:

drush drb recipes/my_recipe --refresh

Output

The command generates a recipe directory:

my_recipe/
  recipe.yml
  config/
    node.type.event.yml
    field.field.node.event.field_date.yml
    views.view.events.yml
    ...
  composer.json  (if contrib modules are needed)

License

GPL-2.0-or-later