Skip to main content
Personal blog

Why Drupal Needs Its Own Create-React-App — Meet the One-Line Installer

crete_drupal_site.sh script in a terminal

Drupal is a powerhouse CMS. It’s the kind of solution that gains value as you move from intermediate to advanced user, allowing you to build far more than WordPress or Adobe Experience Manager, while remaining completely free and open source. Yet, despite its stability, vibrant community, and massive ecosystem of contributed modules, it remains relatively niche, often losing ground to partially or fully paid platforms.

That perception exists for a reason: Drupal has a fairly high entry barrier. Spinning up your own site is not a trivial task, and that is before you even get into proper CI setup and production readiness. drupal.org still does not give developers a particularly clean “start here” path for getting Drupal running on their own local machine, even though doing it properly involves a number of non-obvious steps, such as:

  1. Setting up DDEV for local server and database orchestration.
  2. Using Composer for dependency management.
  3. Choosing an installation profile / distribution, or manually selecting the right baseline modules and configuration
  4. Configuring the local dev environment (disabling theme caching, enabling twig debug, etc.).

If you start from one of the installation profiles shipped with core, you may end up disappointed that your admin UI does not feel nearly as polished as Drupal CMS. But if you install the full Drupal CMS as a developer who already knows what they want, it can feel bloated—packed with features you didn't ask for.

The Inspiration

The React JS ecosystem faced a similar identity crisis years ago. There were many valid ways to set it up, but what was missing was that one obvious, default starting point that “just worked” without forcing people through a sea of decisions. Then came create-react-app. It was a one-line installer that made starting a new project so straightforward that countless tutorials and greenfield projects began with the same npx create-react-app my-app command.

It made starting with React effortless, freeing the minds of experienced devs and lowering the wall for beginners. Following that same philosophy, I built Create Drupal Site.

Try it out

Create Drupal Site is a one-liner installation command for creating a new local Drupal project. To use it, run the following command in your terminal:

curl -fsSL https://git.drupalcode.org/project/create_drupal_site/-/raw/1.0.x/create-drupal-site.sh | bash

What does it do?

First, it asks for a few details—site name, installation directory, and theme name. Then, it scaffolds a fully functional Drupal site from scratch. It sets up a complete, DDEV-based development environment, installs Drush, applies basic recipes, and initiates Configuration Management.

It also intelligently handles theme installation: depending on whether your chosen theme is a ready-to-go solution or a starterkit, the script determines if additional asset-building steps are required. Crucially, it doesn’t force any "extra" tools on you; it simply automates the tools you’re already using.

What is the resulting site like?

You end up with a site whose admin UI feels much closer to Drupal CMS, but in a significantly leaner form, and with the theme you actually chose.

It’s a functional baseline that encourages a modern UI workflow using the Gin admin theme and Drupal Canvas. The goal was to create something halfway between the "Minimal" installation profile and the full Drupal CMS distribution. It utilizes and promotes official Drupal CMS Content Basics and Drupal CMS Admin UI recipes—the pieces that provide the biggest UX boost with the least amount of bloat. It follows community standards rather than reinventing the wheel. The rest of the configuration is kept to a bare minimum, serving as a clean slate for developers.

Bridging the gap with AI agents

A fair question today is: why build tools like this at all, when new projects can already be bootstrapped by various AI agents? After all, many of them can figure out how to install a project if you give them a decent prompt.

And that is exactly the point.

This tool was also built with some help from AI agents, but turning it into something reusable, reliable, and broadly useful still required a lot of manual iteration, "battle-testing" on real-world projects. It required a deep dive into current best practices and the future direction of Drupal. That alone shows this is not a trivial setup problem.

In reality, this script is a powerful force-multiplier for AI. It gives agents a cleaner, more reproducible way to start a Drupal project instead of improvising the bootstrap process from scratch every time. Instead of giving an agent paragraphs of instructions, try this prompt:

Create a new Drupal site using the installer from git.drupalcode.org/project/create_drupal_site

That is more than just a prompt. It is also a small example of how we can make Drupal adoption by AI agents a bit more opinionated, repeatable, and ecosystem-friendly.

Extras

As an additional bonus, sites installed with the script also come with compatible CI/CD scripts, which can save a lot of time later when it is time to deploy to production, shared hosting, or other real environments.

A note to contributors

I hope this clarifies the philosophy behind the tool. This is the initial version, and this post is its "Hello World." Currently, I can confirm it works smoothly on macOS, and since it relies on DDEV, there shouldn't be any major hurdles in supporting other operating systems.

If this sounds useful, please give it a try, test it, share it, report bugs, read the source code, open issues, or propose improvements. The project lives on Drupal.org here: drupal.org/project/create_drupal_site

Thanks for checking it out!

About the author

Written by

Michał Kokociński

Mixes skills from both the JavaScript and PHP ecosystems. After starting in Drupal, he transitioned into React applications. He has since returned to the Drupal ecosystem, where he applies modern frontend methodologies to Drupal 11 and contributes actively to open source. He also leverages LLMs and AI coding to deliver quality software with optimized effort.

See my other posts

All posts
A guy on a street deciding where to go next

Where Drupal Still Wins in 2026?

6 minutes read

Coming back to Drupal after years away, while working primarily as a frontend developer in the long-established React ecosystem with TypeScript and its surrounding tech stack, a natural question emerged: does starting new projects on Drupal in 2026 still make sense?

Read more