drupal / daedalus_recipe
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
Type:drupal-recipe
pkg:composer/drupal/daedalus_recipe
Requires
- drupal/ai: ^1.4
- drupal/ai_agents: ^1.3
- drupal/ai_provider_anthropic: ^1.3@beta
- drupal/core: >=11.3 <11.5
- drupal/daedalus: ^1.0
- drupal/daedalus_theme: ^1.0
- drupal/field_sample_value: ^1.0
- drupal/gemini_provider: ^1.0
- drupal/key: ^1.19
- drupal/layout_builder_restrictions: ^3.0
- drupal/svg_image_field: ^2.3
- drupal/twig_events: ^1.0
- league/commonmark: ^2.0
Requires (Dev)
- drupal/core-dev: ^11.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.ymlat 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
pagebundle (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
daedalusagent 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 invendor/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/daedalusinstead: it ships configuration only, andingredients/daedalus_demo_contentadds 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_editorrole. 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:
- Go to Administration > Configuration > System > Keys
(
/admin/config/system/keys) and paste your Anthropic API key into theanthropickey. The chat assistant is live once the key is saved. For image generation, paste your Gemini API key into the
geminikey and turn on the site-wide switch:drush config:set daedalus_ai.settings image_generation_enabled trueEach editor then has a "Generate images" toggle in the Edit Mode settings sidebar; when it is off, a placeholder image is used instead.
- 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
- Tim Bozeman - https://www.drupal.org/u/tim-bozeman