Search by

drupal / daedalus_recipe

Drupal-Infrastructure

Installs and configures the Daedalus page builder: the base site recipe at the root, the AI editing assistant site recipe in ai/, and every ingredient under ingredients/.

Package info

git.drupalcode.org/project/daedalus_recipe.git

Homepage

Issues

Type:drupal-recipe

pkg:composer/drupal/daedalus_recipe

Statistics

Installs: 8

Dependents: 0

Suggesters: 0

1.0.0-alpha0 2026-09-19 12:27 UTC

This package is auto-updated.

Last update: 2026-09-19 19:33:18 UTC


README

Introduction

Daedalus recipe is the Drupal recipe project that installs and configures the complete Daedalus page builder on a site: the page-building modules, block types, the Page content type, the reference theme, the styling layer, and a ready-to-edit starter site. It is the installer, not the page builder itself; the daedalus module documents its own behavior.

One project carries two site recipes and every ingredient:

  • recipe.yml at the root: the page builder.
  • ai/recipe.yml: the page builder plus the AI editing assistant.
  • ingredients/: one sub-recipe per concern, which both site recipes are composed from.

Applying the base recipe gives a site:

  • The page-building engine: Daedalus Tempstore, Daedalus UI, Twig Events, Daedalus Edit, and Daedalus Layout (the Edit Mode toolbar, on-page layout tools, inline field editing, and staged changes).
  • Daedalus Blueprint with its API and stencil submodules.
  • Daedalus Stylish with its layouts and layers submodules and the Olivero skin, with the Olivero design system active.
  • Daedalus Theme as the default front-end theme, with Claro as the administration theme.
  • Field Sample Value, so newly placed blocks arrive pre-populated.
  • Block types: text, formatted text, image, and a configuration-only layout block type for theme regions.
  • The Page content type, layout enabled. On a site that already has core's page bundle (the standard profile, for example) the recipe takes it over and converges it to the builder's shape instead of shipping a second page type.
  • An Image media type with the media library, and a Vector image (SVG) media type.
  • Core navigation.
  • The Daedalus Editor role, carrying every permission the suite grants.
  • Demo content: a site header and footer placed in the theme regions, a welcome page set as the front page, a Home menu link, and one demo media item.

The top-level recipe.yml is an alias for the daedalus umbrella ingredient, which applies everything above in dependency order. Any ingredient can be applied on its own, and each declares exactly the ingredients it needs, so a composing recipe can pick the parts it wants. Ingredients are written to be safely re-applied to a site that already carries them.

The AI site recipe

ai/recipe.yml applies the base recipe first, then layers the AI editing assistant on top:

  • The AI framework: AI, AI Assistant API, AI Chatbot, and AI Agents.
  • Daedalus Blueprint AI, the JSON serialization layer through which the agent reads and edits pages.
  • Daedalus AI, the in-page assistant and chat sidebar in Edit Mode.
  • Daedalus AI Memory, enabled for the shipped agent so a conversation carries its state across turns.
  • The daedalus agent and assistant configuration.
  • Anthropic (Claude) as the default chat provider, with prompt caching on, plus the Claude-specific context formatting submodules.
  • Google Gemini as the default text-to-image provider for image generation in the page builder.

Each provider is its own ingredient and ships an empty key: nothing talks to a provider until you add an API key. Image generation ships switched off. The use ai assistant permission is granted to the Daedalus Editor role.

Requirements

  • Drupal core 11.3 or 11.4 (>=11.3 <11.5, the minors the suite is tested on).
  • Composer with recipe support in the project, which Drupal's recommended project template provides.
  • Everything the recipes install is pulled in by composer require: the Daedalus module, Daedalus Theme, Twig Events, Field Sample Value, Layout Builder Restrictions, SVG Image Field, and the AI stack (AI, AI Agents, Key, the Anthropic provider, and the Gemini provider). The AI packages sit unused in vendor/ on a site that applies only the base recipe.
  • For the AI site recipe: an Anthropic API key for chat, and a Google Gemini API key if image generation is wanted.

Installation

From the root of a Drupal project:

composer require drupal/daedalus_recipe
cd web
php core/scripts/drupal recipe ../recipes/daedalus_recipe

With Drush installed, drush recipe ../recipes/daedalus_recipe does the same. Rebuild caches afterwards with drush cr.

For the page builder with the AI editing assistant, apply the AI site recipe instead: drush recipe ../recipes/daedalus_recipe/ai. There is no need to apply the base recipe first; the AI recipe includes it.

To apply a single ingredient, point the command at it, for example drush recipe ../recipes/daedalus_recipe/ingredients/daedalus_page. To leave an AI provider out, apply the AI ingredients you want instead of the AI site recipe: ingredients/daedalus_ai is the provider-neutral core, and ingredients/daedalus_ai_anthropic and ingredients/daedalus_ai_gemini are the provider layers. With your own provider, apply the core ingredient and set the default chat provider yourself.

install.sh at the root of the recipe builds a complete local site from nothing with DDEV, from either site recipe. It builds on the newest core the suite is tested on; --core <version> picks another release. setup-testing.sh prepares that site to run the recipe's tests.

Configuration

The base recipe needs no configuration after it is applied. Log in and use the Edit Mode toolbar on any page.

Choices the recipe makes that a site may want to revisit:

  • The site recipes set the front page to the welcome page shipped by the demo content ingredient. On an existing site apply the umbrella ingredients/daedalus instead: it ships configuration only, and ingredients/daedalus_demo_content adds the starter content and the front-page change when they are wanted.
  • The Vector image media type grants no upload permissions to any role. Grant them to trusted roles only; SVG uploads carry their own security considerations.
  • Every permission the suite grants lives in the daedalus_editor role. A site building its own roles can copy from it.
  • The active design system is Olivero, which ships strict: only properties the page builder declarations allow may be styled. A site that prefers a looser posture edits its active design system at Administration > Appearance > Design systems.

After the AI site recipe:

  1. Go to Administration > Configuration > System > Keys (/admin/config/system/keys) and paste your Anthropic API key into the anthropic key. The chat assistant is live once the key is saved.
  2. For image generation, paste your Gemini API key into the gemini key and turn on the site-wide switch:

    drush config:set daedalus_ai.settings image_generation_enabled true
    

    Each editor then has a "Generate images" toggle in the Edit Mode settings sidebar; when it is off, a placeholder image is used instead.

  3. The shipped keys use the configuration key provider, which stores the value in config. For a production site, edit each key and switch it to a provider such as an environment variable.

The default chat and text-to-image providers can be changed at Administration > Configuration > AI, and the daedalus assistant and agent can be edited there as well.

Maintainers