# Varbase Recipes

**Varbase 11.0.x** adopts a modern, recipes-based architecture built on **Drupal Recipes**, replacing the traditional module-based installation approach used in earlier Varbase versions. Drupal Recipes are a standardized way to package and apply sets of modules, configurations, and permissions as reusable, composable units.

## What Are Drupal Recipes?

Drupal Recipes allow distributions like Varbase to define discrete bundles of functionality that can be applied individually or composed together. Each recipe declares its dependencies, installs the required modules, applies configuration, and sets up permissions, all in a single, repeatable operation.

This approach provides several advantages over the previous module-based architecture:

* **Composability**: Recipes can depend on and build upon other recipes, creating a layered architecture.
* **Selective installation**: Sites can apply only the recipes they need rather than installing the entire distribution.
* **Maintainability**: Each recipe is an independently versioned Drupal.org project, making updates and patches more straightforward.
* **Compatibility**: Varbase recipes build on top of Drupal CMS recipes, ensuring alignment with the broader Drupal ecosystem.

## The Varbase Starter Recipe

The [Varbase Starter](/developers/understanding-varbase/varbase-recipes/varbase-starter.md) recipe serves as the main site template that orchestrates the entire Varbase installation. It bundles all core Varbase recipes along with Drupal CMS recipes, Easy Email, and the Vartheme BS5 theme. For most projects, applying the Varbase Starter recipe is the recommended starting point.

## Varbase Recipes Overview

The following recipes comprise the Varbase 11.0.x recipe ecosystem:

| Recipe                                                                                                    | Description                                                                                     |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [Varbase Starter](/developers/understanding-varbase/varbase-recipes/varbase-starter.md)                   | Main site template recipe that orchestrates the full Varbase installation                       |
| [Varbase Admin Base](/developers/understanding-varbase/varbase-recipes/varbase-admin-base.md)             | Default admin experience with Gin theme, navigation, audit trail, and admin tools               |
| [Varbase Content Base](/developers/understanding-varbase/varbase-recipes/varbase-content-base.md)         | Core content configuration including node types, taxonomy, views, and essential content modules |
| [Varbase Media Base](/developers/understanding-varbase/varbase-recipes/varbase-media-base.md)             | Media types, image styles, responsive images, media library enhancements, and file handling     |
| [Varbase Editor Base](/developers/understanding-varbase/varbase-recipes/varbase-editor-base.md)           | CKEditor 5 with rich text editing capabilities, plugins, and enhancements                       |
| [Varbase Security Base](/developers/understanding-varbase/varbase-recipes/varbase-security-base.md)       | Password policies, CAPTCHA, honeypot, antibot, security kit, and flood control                  |
| [Varbase SEO Base](/developers/understanding-varbase/varbase-recipes/varbase-seo-base.md)                 | SEO modules including metatag, pathauto, redirect, sitemap, and structured data                 |
| [Varbase Workflow Base](/developers/understanding-varbase/varbase-recipes/varbase-workflow-base.md)       | Content moderation, scheduled publishing, and workflow notifications                            |
| [Varbase Performance Base](/developers/understanding-varbase/varbase-recipes/varbase-performance-base.md) | Page caching, asset aggregation, image optimization, and lazy loading                           |
| [Varbase Blog Base](/developers/understanding-varbase/varbase-recipes/varbase-blog-base.md)               | Blog post content type with featured images, tags, categories, and listing pages                |
| [Varbase Webform Base](/developers/understanding-varbase/varbase-recipes/varbase-webform-base.md)         | Default webform modules, configurations, and professional contact form template                 |
| [Varbase API Base](/developers/understanding-varbase/varbase-recipes/varbase-api-base.md)                 | JSON:API with authentication, authorization, and OpenAPI documentation                          |
| [Varbase Auth Base](/developers/understanding-varbase/varbase-recipes/varbase-auth-base.md)               | Social Single Sign-On with default social authentication providers                              |
| [Varbase i18n Base](/developers/understanding-varbase/varbase-recipes/varbase-i18n-base.md)               | Internationalization, language management, and translation support                              |
| [Varbase Dev Base](/developers/understanding-varbase/varbase-recipes/varbase-dev-base.md)                 | Development modules and configurations for local development environments                       |
| [Varbase Page Base](/developers/understanding-varbase/varbase-recipes/varbase-page-base.md)               | Page content type with SEO fields, editorial workflow, and menu configuration                   |
| [Varbase Users Base](/developers/understanding-varbase/varbase-recipes/varbase-users-base.md)             | Default user roles, account settings, and user management configurations                        |
| [Varbase Demo Content](/developers/understanding-varbase/varbase-recipes/varbase-demo-content.md)         | Demo content for new Varbase sites                                                              |
| [Varbase Media Assets](/developers/understanding-varbase/varbase-recipes/varbase-media-assets.md)         | Default demo media assets including images, videos, and documents                               |

## Applying a Recipe

Recipes are applied using Drush. The general workflow is:

1. Require the recipe package via Composer:

```bash
composer require drupal/recipe_name
```

2. Apply the recipe using Drush:

```bash
ddev drush recipe ../recipes/recipe_name
```

Refer to each recipe's documentation page for specific installation commands and details.

{% hint style="success" icon="window" %}
**Having** [**Varbase Recipes**](https://www.drupal.org/project/varbase_recipes)

Provides general custom config action plugins for Drupal recipes.

Manages a custom optional list of Varbase recipes for projects, with the full list of [**Varbase Recipes**](https://docs.varbase.vardot.com/11.0.x/developers/understanding-varbase/varbase-recipes) to apply, and integration with the [Project Browser](https://www.drupal.org/project/project_browser).
{% endhint %}

**Varbase Recipes - Page 1**

<figure><img src="/files/D4tWbgexP9zxLqDo0cwb" alt=""><figcaption></figcaption></figure>

**Varbase Recipes - Page 2**

<br>

<figure><img src="/files/XelsBYw49qzdvjpxFYNU" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.varbase.vardot.com/developers/understanding-varbase/varbase-recipes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
