PHPackages                             oddhill/drupal-starter-kit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. oddhill/drupal-starter-kit

ActiveProject[Framework](/categories/framework)

oddhill/drupal-starter-kit
==========================

Starter kit when creating a new site based on Drupal 11.

4.0.7(10mo ago)3469[2 issues](https://github.com/oddhill/drupal-starter-kit/issues)MITTypeScriptCI passing

Since Dec 9Pushed 3mo ago5 watchersCompare

[ Source](https://github.com/oddhill/drupal-starter-kit)[ Packagist](https://packagist.org/packages/oddhill/drupal-starter-kit)[ RSS](/packages/oddhill-drupal-starter-kit/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (8)Dependencies (15)Versions (19)Used By (0)

Drupal 11 starter kit, by Odd Hill AB
=====================================

[](#drupal-11-starter-kit-by-odd-hill-ab)

This is a starter kit for creating new sites for Drupal with a composer based workflow, this project is used at [Odd Hill](http://www.oddhill.se/)when creating new projects.

Notable features
----------------

[](#notable-features)

- Uses [vlucas/phpdotenv](vlucas/phpdotenv) to load local environment configuration.
- Uses the recommended Drupal composer packages to scaffold the project.
- Easy deployments through SSH with GitHub Actions.

Requirements
------------

[](#requirements)

The requirements are basically the same as for Drupal 9 but will be set a bit higher to allow us to take advantage of new language features and more. If you need to use lower versions everything should work as long as it follows the Drupal [system requirements](https://www.drupal.org/docs/system-requirements). You might have to make changes to the CircleCI configuration if you decide to use other versions.

- [Composer 2.0](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx)
- PHP 8.3
- Apache
- MySQL 8.0

Getting started
---------------

[](#getting-started)

### Create

[](#create)

Start by making sure that you have met all the requirements for using the starter kit. You can then run the following command to create a new project based on this repository:

```
composer create-project oddhill/drupal-starter-kit ./project-dir --stability dev --no-interaction

```

### Prepare

[](#prepare)

1. Copy settings.php located in the examples folder to the `public/sites/default`directory.
2. Copy the `.env.default` file located in the project root and rename it to `.env`.
3. Update the environment variables in the `.env` file to match the settings for your local environment.

### Install

[](#install)

When loading the website for the first time you will get an error because Drupal has not been installed and the database is empty.

To install Drupal you will have to open the `example.localhost/core/install.php`page in a browser and then go through the installation process.

You now have a new Drupal site installed and configured to use environment variables, our custom profile, basic deployment and more.

Adding a theme
--------------

[](#adding-a-theme)

You can use any theme with this starter kit but it's recommended to use our starter theme [oddbady](https://github.com/oddhill/drupal-oddbaby).

Deployment
----------

[](#deployment)

Deployment is handled through CircleCI. The deployment script only supports Linux environments since rsync and SSH is used to perform the deployment. The deployment also runs various steps that check coding standards in custom modules and themes as well as build the theme for deployment.

The steps that handles the linting and building of the theme assumes that our starter theme [oddbady](https://github.com/oddhill/drupal-oddbaby) is used.

Since you will most likely be renaming the theme to fit the specific project there is a parameter that can easily be changed at the top of the deployment configuration that will let you set the directory for the theme that should be used.

### First deployment

[](#first-deployment)

#### TODO: Update segment below

[](#todo-update-segment-below)

The first deployment will be a bit different since the site has not been set up on the server already. The post deployment step will always fail because of this and can be temporarily disabled before the first deployment is run and then be enabled again after the site has been set up.

Since the deployment is done through CircleCI the configuration file needs to be updated before the first deployment is done. Make sure the correct path has been set for the theme and that the configuration for the deployment and post deployment steps have been changed to match the server that the site should be deployed to.

You will also need the setup the project in CircleCI and add a SSH key to the project so that the server will allow the SSH connection. Read [adding an SSH key to CirclecI](https://circleci.com/docs/2.0/add-ssh-key/) if you have not done this before.

After the site has been deployed for the first time you will have to perform the following steps to get the site up and running.

1. Copy the `.env.default` file, rename it to `.env` and then edit it and set the correct variables for the environment.
2. Create a `.htaccess` file in the `public` folder and paste the contens from your local copy of the `.htaccess` file. This is required since the file is ignored by rsync during the deployment step.
3. Create the `public/sites/default/files` directory and make sure that the permissions for this folder is set to 775.
4. Go to the site by visiting `example.domain/core/install.php` and you should now see the installation page. After this is done the site is ready!

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance57

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 61.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~227 days

Recently: every ~0 days

Total

15

Last Release

306d ago

Major Versions

1.3.0 → 2.0.02019-04-29

2.0.0 → 3.0.02021-08-19

3.0.0 → 4.0.02025-08-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/75a5518d02ebaad35ab76aa7d2932645b081e63a5c99cc11076c34a5edeeaa43?d=identicon)[NormySan](/maintainers/NormySan)

![](https://www.gravatar.com/avatar/12b8095d0114775cfb5300adfa24bfd2d53b6668a970bc1f2f946a4172e9ad94?d=identicon)[voxpelli](/maintainers/voxpelli)

![](https://www.gravatar.com/avatar/cf417f0a43bc85f6961c9d65359ea269ec64a85bd3bd7d19f9759ce1b35a34fb?d=identicon)[olivernilsson](/maintainers/olivernilsson)

---

Top Contributors

[![olivernilsson](https://avatars.githubusercontent.com/u/10706744?v=4)](https://github.com/olivernilsson "olivernilsson (11 commits)")[![NormySan](https://avatars.githubusercontent.com/u/3884281?v=4)](https://github.com/NormySan "NormySan (7 commits)")

---

Tags

composerdrupalstarter-kit

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oddhill-drupal-starter-kit/health.svg)

```
[![Health](https://phpackages.com/badges/oddhill-drupal-starter-kit/health.svg)](https://phpackages.com/packages/oddhill-drupal-starter-kit)
```

###  Alternatives

[drupal/recommended-project

Project template for Drupal projects with a relocated document root

1492.8M1](/packages/drupal-recommended-project)[fourkitchens/sous-drupal-project

Starter project for Sous a Drupal distribution featuring a theme based on Emulsify Design System.

141.1k](/packages/fourkitchens-sous-drupal-project)[az-digital/az_quickstart

Arizona Quickstart

52265.6k3](/packages/az-digital-az-quickstart)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[vardot/varbase-project

Project template for Varbase distribution.

5162.4k](/packages/vardot-varbase-project)[drupalwxt/wxt

Project template for Drupal 10 sites built with the WxT distribution.

29163.3k8](/packages/drupalwxt-wxt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
