Meet Commerce Kickstart 5.0, the first contrib site template

Celebrating a new release

Commerce Kickstart has been the fastest way to start building on Drupal Commerce for over 13 years. We grew it from a simple installation profile aimed at developers to the most popular Drupal distribution, reaching over 12,000 sites. We rebuilt it to take full advantage of modern Drupal in 2022, and with this week's 5.0 release we've done it again, creating the first contrib site template.

What is a site template?

Site templates were introduced by Dries Buytaert in his keynote at DrupalCon Atlanta 2025 as a combination of recipes and themes that together create an installation of Drupal tailored to a specific purpose. Drupal CMS itself is essentially a site template, using a streamlined installer that lets you toggle on certain features like a blog, events listing, or project portfolio via optional recipes.

Recipes are a relatively new concept born out of Drupal's Starshot initiative. When applied to a site, recipes may install modules, import configuration, execute config actions, and import default content. They are essentially automated tutorials, with Drupal following the steps to configure itself at the click of a button. Recipes are a key part of Starshot's strategic shift toward enabling content creators, marketers, and others to build out pages and full sites without relying on developers.

Recipes can already depend on other recipes and even install and configure themes, but whereas recipes typically have a narrow scope (i.e., a single feature or small feature set), a site template must take the full site into consideration. Ultimately, a site template should offer a compelling feature set, design, and user experience that together turn Drupal into a solution for a particular use case. Once installed, the site can then be customized as needed and maintained like any other Drupal site.

Converting a distribution to a site template

With Commerce Kickstart 4.x, we had all of the ingredients to rebuild the distribution as a site template. Its demo store already created a complete eCommerce experience with multiple product types, a faceted search interface, and sample content. It added modules to expand on the Commerce Core feature set, and it installed and configured a variety of modules to improve Layout Builder and integrate it tightly with our default theme, Belgrade.

However, all of the configuration we imported was contained in submodules of the installation profile. We began by moving it all into a monolithic recipe, refining our approach until a single "full demo" recipe gave us the same end result as the existing distribution's installation. Some of our submodules provided custom code like JavaScript libraries, Twig templates, and plugins, so we moved them to a single assets module that the recipe could install first.

Once we proved the concept, we then worked to unbundle the monolithic recipe. We created a recipe for Commerce Core itself, establishing a "Commerce Recipe: [Name]" pattern for recipes in the Drupal Commerce ecosystem that we expect will be useful in any context. We then separated certain features out of the demo recipe into a separate recipe so the site template could be installed without the full demo store if desired. Finally, we decided to switch from using our custom Centarro Claro admin theme to Gin, requiring some light integration work.

Recipes as a concept are meant to be an ephemeral starting point. They are not installed like modules, and they do not have context or upgrade paths. However, we still believe it's useful to know what version of a recipe was applied to a site when and by whom, so we created the Recipe Tracker. When answering support requests or taking over a project that was built by another person, we hope this audit trail will help us more quickly understand how a site arrived at its current configuration.

Applying recipes during site installation

Since a site template is preparing a complete Drupal site, it still requires the use of an installation profile. Commerce Kickstart previously used installer steps to collect additional information and let the user choose which demo features to install. We liked how the Drupal CMS installer streamlined the whole process and incorporated optional recipe application, so we were happy to see that Recipe Installer Kit made it easy for us to switch to this experience.

Installing Commerce Kickstart is easier than ever, and the code is much smaller and more maintainable. Currently, the only extra option is to toggle the full demo recipe on or off, but as we continue to subdivide the recipe, the installer will offer more granular control over which recipes are applied during site installation.

If you have Composer and DDEV-Local installed, you can very quickly try it out with:

composer create-project centarro/commerce-kickstart-project kickstart
cd kickstart
ddev config --project-type=drupal11 --docroot=web
ddev start

We think it looks great. 😍

What's the long game?

We have a small roadmap to work through that will see us expand our library of recipes, but we're playing a longer game. In addition to announcing site templates at DrupalCon, Dries also started a discussion about the creation of a marketplace for premium site templates. Our competitors have trained evaluators and new users to expect a marketplace that gives them a vision for what a platform can do and accelerates their use of it. A premium site template marketplace would meet evaluators where they are and ideally lead more people to choose Drupal.

We've always had a vision for variants of Commerce Kickstart that provide solutions for specific use cases, such as digital goods, premium content, or donations. We will address each of these through site templates with unique, attractive themes. We want to create a scenario where a new user could browse a library of templates, buy the one they like the best, install and configure it (e.g., by uploading products and configuring a payment gateway), and start selling the same day.

One of the key advantages of site templates as a concept is that they provide a "known quantity" to design against. Designing in the abstract is notoriously difficult, so we expect our designer will be able to work much more effectively against a consistent feature set and sample content. We would love to offer a library of site templates paired with premium themes and support to introduce many new merchants to Drupal Commerce.

Ultimately, if there is a marketplace for site templates, we aim to offer the best and to sell them at a high enough price point (e.g., $1,000+) to fund more designs and to provide the support users who build from templates will need to be successful on the platform. Even if that doesn't happen soon, everything we are doing also improves the experience for everyone building on Drupal Commerce and makes our role as maintainers even easier.

Many thanks to Jakub Piasecki from our team who led our adoption of recipes and conversion to a site template. He joined me at DrupalCon to present our team's vision and work, even tagging Commerce Kickstart 5.0 here at the conference. We'll link to the recording once it's up. Feel free to chat us up about the whole process in the #commerce, #recipes, or #drupal-cms-templates channels in Drupal Slack.

Comments

Submitted by Duncan Worrell (not verified) on Fri, 03/28/2025 - 11:14

Nice work Ryan and Co. Spins up locally very easily.

Submitted by Ryan Szrama on Fri, 03/28/2025 - 16:38

In reply to by Duncan Worrell (not verified)

Thanks for checking it out!

Add new comment