Cooking with Drupal Recipes: unlocking faster Drupal development

22 February 2026

Drupal has always been powerful, flexible, and modular, but let's be honest, setting up common features (like events, blogs with SEO, or e-commerce basics) often involves repetitive work. Install modules, tweak configurations, import defaults, rinse, repeat.

Enter the Drupal Recipes Initiative, one of the most exciting changes to hit Drupal core in recent years.

Launched as part of the broader Starshot Initiative (and building on years of community discussion around distributions), Drupal Recipes represent a fundamental transformation in how we add functionality to Drupal sites. Now included in Drupal 11 core, Drupal Recipes make it dramatically easier to compose, share, and apply reusable chunks of functionality without locking you into a distribution.

What is a Drupal Recipe?

Think of a Drupal Recipe like a cooking recipe, a clear set of instructions that when applied produces a specific result. In Drupal terms, a Drupal Recipe is a packaged, reusable set of steps that can:

  • Install required modules and themes (via Composer dependencies)
  • Apply configuration (config entities, settings, block placements, etc.)
  • Optionally include default content, media, or even simple code snippets
  • Depend on other recipes for composability

Unlike traditional install profiles or distributions (which run only during site installation and can be hard to modify later), recipes are:

  • Applied, not installed – they run once and then get out of the way;
  • Non-locking – your site remains a standard Drupal site;
  • Composable – recipes can depend on each other, letting you stack features like LEGO bricks; and
  • Shareable – publish them on Drupal.org (as projects of type drupal-recipe) or via Packagist.

This makes them perfect for everything from quick feature additions to building starter kits without the hassle of full distributions.

Why Drupal Recipes matter (especially in 2026)

The initiative addresses long-standing pain points:

  • Speed
    Add an "Events" system, blog with taxonomy, SEO, or modern editorial workflow in minutes instead of hours.
  • Reusability
    Share your carefully tuned blog setup with clients or the community.
  • Maintainability
    No more "distribution debt" where you're stuck maintaining a fork while still allowing you to maintain a version-controlled codebase.
  • Flexibility
    Apply recipes at any point in a site's life (new install, existing site, mid-project).

Drupal Recipes bundle site-building expertise into repeatable, shareable solutions.

How to use Drupal Recipes today

  1. Applying an existing recipe (most common starting point)

    Recipes live in Composer. Add one like this:

    composer require 'drupal/recipe_name'

    Then apply it via Drush (the primary method right now):

    # Apply from your project's webroot directory
    # For example, if your webroot is web/ and your recipes are in recipes/
    ../vendor/bin/drush recipe ../recipes/recipe_name

    (The recipe project must be in your codebase, typically in /recipes or a contrib location.)

    You should check a recipes README file for any special instructions.

  2. Discovering recipes
    • Drupal.org projects typed as drupal-recipe
    • Packagist packages of type drupal-recipe
    • Community cookbooks and collections (e.g., the Recipes Cookbook on drupal.org)
    • Popular examples: site starters, blog setups, event systems, SEO packs
    • This site's Drupal Recipes collection
  3. Creating your own recipe

      A basic recipe folder looks like this:

    my_awesome_blog/
    ├── composer.json   # type: "drupal-recipe"
    ├── recipe.yml      # the main manifest
    ├── config/         # default config to apply
    └── content/        # default contento apply

      Example recipe.yml:

    name: My Awesome Blog
    type: Site
    description: A modern blog with tags, authors, SEO defaults – Based on Drupal CMS and Mercury
    recipes:
      - core/recipes/administrator_role
      - core/recipes/core_recommended_maintenance
      - core/recipes/core_recommended_performance
      - drupal_cms_media
      - drupal_cms_admin_ui
      - drupal_cms_anti_spam
      - drupal_cms_authentication
      - drupal_cms_privacy_basic
      - drupal_cms_seo_basic
      - easy_email_express
    install:
      # CVA is a Mercury Theme dependency.
      - cva
      - menu_link_content
      - mercury
      - project_browser
      # These are in Standard.
      - inline_form_errors
      - config
    config:
      actions:
        system.site:
          simpleConfigUpdate:
            # The Home page, built in Canvas.
            page.front: '/home'
        system.theme:
          simpleConfigUpdate:
            default: mercury
        project_browser.admin_settings:
          simpleConfigUpdate:
            enabled_sources:
              recommended:
                # @see recommended.yml
                uri: 'https://git.drupalcode.org/api/v4/projects/167158/repository/files/recommended.yml/raw?ref=HEAD'
                ttl: 1
              drupalorg_jsonapi: []
            default_source: recommended

    You can include default content, media types, views, etc. Test locally, then publish to Drupal.org or your private repo.

    You can find more information on creating your own recipe.yml file using the Drupal Recipes Initiative Documentation.

Real-World Examples and Demos

This website is an example of a site built using Drupal Recipes, including:

The Future Looks Bright

Work continues on tighter admin UI integration (one-click apply from the interface), better dependency handling, content syncing, and more core-provided "official" recipes. The initiative is central to making Drupal (and the emerging Drupal CMS experience) feel more approachable while keeping its legendary flexibility.

Get Started Today

Head to the official documentation:

Try applying a community recipe on a fresh Drupal 11 site, or build a simple one for your most common setup.

Recipes aren't just a feature, they're a complete tonal shift toward reusable, composable, version-controlled Drupal site building.

Have you tried Drupal Recipes yet? What's your favorite one, or what feature do you wish existed as a recipe?