Recipe Onboarding Module
Recipe Onboarding Module
Separation of Duties: See Separation of Duties - Drupal modules are responsible for Drupal-specific functionality. They do NOT own agent manifests, execution, or OSSA spec.
Comprehensive Drupal recipe management system with sub-recipe support, validation, and deployment.
Module Information
- Name: Recipe Management System
- Machine Name:
recipe_onboarding - Package: Recipe Management
- Version: 0.1.1
- Drupal Compatibility: ^10.3 || ^11
- Source:
$LLM_ROOT/all_drupal_custom/modules/recipe_onboarding/
Features
- Recipe Management: Deploy and manage Drupal recipes
- Sub-Recipe Support: Modular recipe architecture
- Validation: Comprehensive recipe validation
- Deployment: Automated recipe deployment
- API Support: REST, JSON:API, GraphQL
- BPMN Integration: Business process modeling
- Tour Builder: Guided recipe tours
- AI Integration: AI-powered recipe recommendations
Installation
composer require drupal/recipe_onboarding drush en recipe_onboarding -y
Dependencies
Core Drupal (Required)
- drupal:system (>=10.3)
- drupal:user, serialization, rest, jsonapi
- drupal:field, field_ui, node, taxonomy
- drupal:media, file, image
- drupal:views, views_ui
- drupal:path, pathauto, menu_ui
- drupal:block, block_content, config
- drupal:content_translation, language, locale
- drupal:help, toolbar, shortcut, search
- drupal:comment, contact
- drupal:automated_cron, big_pipe
- drupal:dynamic_page_cache, page_cache
- drupal:contextual, announcements_feed
- drupal:breakpoint, history, link, datetime
- drupal:options, text, filter, editor, ckeditor5
- drupal:workflows, content_moderation
- drupal:entity_browser, user_redirect
- openapi:openapi, openapi_ui, openapi_ui_swagger, openapi_jsonapi
- schemata:schemata, schemata_json_schema
- consumers:consumers
- graphql:graphql, graphql_compose
- drupal:eck
- drupal:ai
Sub-Modules
Recipe Onboarding BPMN
Business process modeling for recipes.
Machine Name: recipe_onboarding_bpmn
Recipe Onboarding Tour Builder
Guided tours for recipe deployment.
Machine Name: recipe_onboarding_tour_builder
Configuration
Navigate to: /admin/config/recipe_onboarding/settings
# config/recipe_onboarding.settings.yml recipes: validation: strict_mode: true check_dependencies: true deployment: auto_backup: true rollback_enabled: true
Usage
List Recipes
drush recipe-onboarding:list
Validate Recipe
drush recipe-onboarding:validate recipes/my_recipe
Deploy Recipe
drush recipe-onboarding:deploy recipes/my_recipe
Programmatic Usage
<?php $recipe_manager = \Drupal::service('recipe_onboarding.manager'); // List recipes $recipes = $recipe_manager->listRecipes(); // Validate recipe $validation = $recipe_manager->validate('recipes/my_recipe'); // Deploy recipe $result = $recipe_manager->deploy('recipes/my_recipe', [ 'backup' => true, 'rollback_on_error' => true, ]);
Recipe Structure
# recipe.yml name: 'My Recipe' description: 'Recipe description' type: 'Site' version: '1.0.0' install: - drupal:system - drupal:user recipes: - './subrecipes/core' - './subrecipes/security' config: import: system.site: name: 'Site Name'
API Endpoints
# List recipes GET /api/v1/recipes # Recipe details GET /api/v1/recipes/{recipe_id} # Validate recipe POST /api/v1/recipes/validate { "recipe_path": "recipes/my_recipe" } # Deploy recipe POST /api/v1/recipes/deploy { "recipe_path": "recipes/my_recipe", "options": {} }
Testing
# Run tests vendor/bin/phpunit modules/custom/recipe_onboarding/tests # Validate all recipes drush recipe-onboarding:validate --all
Resources
- Drupal Recipes: https://www.drupal.org/docs/distributions/creating-distributions/recipe-format
- Project: https://gitlab.com/blueflyio/agent-platform/drupal/recipe_onboarding