PHPackages                             palantirnet/drupal-skeleton - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. palantirnet/drupal-skeleton

ActiveProject[Utility &amp; Helpers](/categories/utility)

palantirnet/drupal-skeleton
===========================

A Drupal project template.

3.1.0(3y ago)141.4k2[8 issues](https://github.com/palantirnet/drupal-skeleton/issues)[5 PRs](https://github.com/palantirnet/drupal-skeleton/pulls)PHP

Since Mar 16Pushed 1mo ago25 watchersCompare

[ Source](https://github.com/palantirnet/drupal-skeleton)[ Packagist](https://packagist.org/packages/palantirnet/drupal-skeleton)[ RSS](/packages/palantirnet-drupal-skeleton/feed)WikiDiscussions develop Synced 3w ago

READMEChangelog (10)Dependencies (11)Versions (34)Used By (0)

Drupal Skeleton
===============

[](#drupal-skeleton)

This is a template for starting Drupal projects using the `composer create-project` command.

Quick start
-----------

[](#quick-start)

This "quick start" section will show you how to set up a local server accessible at `http://example.local` with Drupal ready to install.

### Preface

[](#preface)

You should have the development dependencies installed on your Mac before you begin. These dependencies are not project-specific, and you may have some or all of them already installed. If you don't, find a location with good internet and set aside at least an hour to complete this step.

The development dependencies are:

- PHP 8.3+
    - Check your PHP version from the command line using `php --version`
- Mac only: [XCode command line tools](https://mac.install.guide/commandlinetools/3)
- [Composer](https://getcomposer.org/download/)
- [Docker](https://www.docker.com/)
- [DDev Local](https://ddev.com/ddev-local/)

On Macs, Docker and ddev can be installed with [homebrew](https://brew.sh/):

- `brew install docker --cask`
- `brew install ddev`

Once you have your dependencies installed, setting up this skeleton will take at least another hour, depending on your internet connection.

Some of the commands below will prompt you for a response, with the default answer in brackets. For this quick start, hit return to accept each default answer:

```
Enter a short name for your project [example] :

```

### Steps

[](#steps)

1. Create a new Drupal project called "example" based on this template:

    ```
    composer create-project palantirnet/drupal-skeleton example dev-develop --no-interaction

    ```
2. Go into your new project directory and update the ddev configuration in `.ddev/config.yml`:

    ```
    # Update to match your project name. Using "drupal-skeleton" would make the site
    # accessible at 'drupal-skeleton.ddev.site'.
    name: drupal-skeleton

    # Use 'docroot' for Acquia, or 'web' for Pantheon or Platform.sh.
    docroot: web

    ```
3. From inside the ddev environment, run the script from `palantirnet/the-build` to set up the default Drupal variables and install Drupal:

    ```
    ddev start
    ddev ssh
    vendor/bin/the-build-installer

    ```
4. In your web browser, visit
5. *Optional:* While you are logged into the ddev environment, you can run Drush commands like `drush status`.

### Extra Credit

[](#extra-credit)

- Replace this `README.md` with `README.dist.md`, then customize for your project
- Update the project name in the `composer.json` file, then run `composer update --lock`
- Initialize a git repository and commit your work
- Access your database via phpMyAdmin
    - URL:
    - Username: `drupal`
    - Password: `drupal`
- View email sent by your development site at
- Connect to your Solr server in Drupal with the `search_api_solr` module:
    - HTTP Protocol: `http`
    - Solr host: `solr`
    - Solr port: `8983`
    - Solr path: `/`
    - Solr core: `dev`
    - View the Solr admin interface:

*Note: Make sure your project directory is in the right place / named correctly, because renaming or moving the project directory (e.g. `example/`) after starting can break your ddev setup.*

Full Project Setup
------------------

[](#full-project-setup)

### Create a project with a custom name

[](#create-a-project-with-a-custom-name)

Use composer to create a new project based on this skeleton, replacing `PROJECTNAME` with the short name for your project:

```
composer create-project palantirnet/drupal-skeleton PROJECTNAME dev-develop --no-interaction

```

### Update your documentation

[](#update-your-documentation)

Update the `README`:

- Remove the `README.md`
- Rename the `README.dist.md` to `README.md`
- Edit as you like

Project-specific documentation at [docs/technical\_approach.md](docs/technical_approach.md)

- Add `deployment.md` for deployment instructions

Update the `LICENSE.txt`:

- Remove or replace this file with the appropriate license for your project. (The existing license applies to the Drupal Skeleton template only.)

Update the `composer.json`:

- Change the `name` from `palantirnet/drupal-skeleton` to `palantirnet/PROJECTNAME`
- Update the `description` with a brief description of your project.
- Update the `license` property based on how your work will be licensed
- Update the lock file so composer doesn't complain:

```
  composer update --lock

```

Update the `package.json`:

- Change the `name` from `palantirnet--drupal-skeleton` to `palantirnet--PROJECTNAME` (see [package.json name requirements](https://docs.npmjs.com/cli/v8/configuring-npm/package-json#name))
- Update the `description` with a brief description of your project.

### Configure your ddev development environment

[](#configure-your-ddev-development-environment)

Go into your new project directory and update the ddev configuration in `.ddev/config.yml`.

### Run the installers

[](#run-the-installers)

From inside ddev, run the script from `palantirnet/the-build` to set up a base Drupal installation:

```
ddev start
ddev ssh
vendor/bin/the-build-installer

```

### Commit your work to git

[](#commit-your-work-to-git)

Initialize a git repository and commit your work to the `develop` branch:

```
git init
git checkout -b develop
git commit --allow-empty -m "Initial commit."
git add --all
git commit -m "Add the skeleton."

```

Create an empty repository on [GitHub](https://github.com/) for your work. Then, push your work up to the repository:

```
git remote add origin git@github.com:palantirnet/PROJECTNAME.git
git push -u origin develop

```

### Manage your ddev environment

[](#manage-your-ddev-environment)

- Start ddev: `ddev start`
- Log in: `ddev ssh`
- Log out (just like you would from any other ssh session): `exit`
- Shut down ddev: `ddev stop`
- Find information about your ddev environment: `ddev describe`
- See also the [ddev documentation](https://ddev.readthedocs.io/en/stable/)

### Replace "the-build" with \[something else\]

[](#replace-the-build-with-something-else)

If you're allergic to phing and Benadryl isn't helping, you can also remove the-build:

1. `composer remove --dev palantirnet/the-build`
2. `rm -r .the-build`
3. `rm build.xml`
4. This will remove drush, coder, and phpmd -- if you want those dependencies, you'll need to add them back to your project:

    ```
    composer require --dev drush/drush drupal/coder phpmd/phpmd

    ```
5. Install your build tooling of choice... or nothing at all...
6. *Update your project's README*

See also: [Documentation on using the-build](https://github.com/palantirnet/the-build#using-the-build)

### Install Drupal from the command line

[](#install-drupal-from-the-command-line)

When using [drush](https://www.drush.org/) or [phing](https://www.phing.info/) to manage your Drupal site, you will need to log into the ddev environment (`ddev ssh`).

If you've run `vendor/bin/the-build-installer` from within ddev, Drupal will be installed and the initial config exported to `config/sites/default/`.

You can use the phing scripts provided by `palantirnet/the-build` to reinstall the site from config at any time:

```
vendor/bin/phing install

```

Or, you can use drush directly:

```
drush site-install --existing-config

```

### Manage your configuration in code

[](#manage-your-configuration-in-code)

In Drupal development, all (or most) Drupal configuration should be exported and treated as part of the codebase. We use Drupal's "install from config" installer option to allow us to use the exported configuration as the basis for a repeatable, automation-friendly build and install process. We also use [config\_split](https://www.drupal.org/project/config_split) to manage environment-specific configuration.

1. Log into Drupal in your browser and do some basic config customizations:

    - Set the site timezone
    - Disable per-user timezones
    - Disable user account creation
    - Remove unnecessary content types
    - Set the admin email address (your development environment will trap all emails)
    - Turn the Cron interval down to "never"
    - Uninstall unnecessary modules (e.g. Search, History, Comment)
2. Export your config:

    ```
    drush cex -y

    ```
3. You should have a ton of new `*.yml` files in `config/sites/default/`. Add them, and this config change, to git:

    ```
    git add config/
    git ci -m "Initial Drupal configuration."
    git push

    ```
4. Reinstall your site and verify that your config is ready to go:

    ```
    vendor/bin/phing install

    ```

More information
----------------

[](#more-information)

- Site build and install process: [palantirnet/the-build](https://github.com/palantirnet/the-build)

---

Copyright 2016 - 2025 Palantir.net, Inc.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance48

Moderate activity, may be stable

Popularity23

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 59.5% 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 ~120 days

Recently: every ~68 days

Total

21

Last Release

1343d ago

Major Versions

0.0.x-dev → 1.0.02017-02-19

1.5.2 → 2.0.02020-07-08

1.5.3 → 3.0.02021-11-12

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/83bf1351140cdffe8341925a6708101d53da8b48930f325c0e3569e2f73ee18e?d=identicon)[becw](/maintainers/becw)

---

Top Contributors

[![becw](https://avatars.githubusercontent.com/u/207974?v=4)](https://github.com/becw "becw (273 commits)")[![byrond](https://avatars.githubusercontent.com/u/767994?v=4)](https://github.com/byrond "byrond (118 commits)")[![jesconstantine](https://avatars.githubusercontent.com/u/3279883?v=4)](https://github.com/jesconstantine "jesconstantine (27 commits)")[![agentrickard](https://avatars.githubusercontent.com/u/360988?v=4)](https://github.com/agentrickard "agentrickard (22 commits)")[![iajon](https://avatars.githubusercontent.com/u/89882644?v=4)](https://github.com/iajon "iajon (6 commits)")[![shaal](https://avatars.githubusercontent.com/u/22901?v=4)](https://github.com/shaal "shaal (5 commits)")[![acidaniel](https://avatars.githubusercontent.com/u/5325044?v=4)](https://github.com/acidaniel "acidaniel (2 commits)")[![gdemet](https://avatars.githubusercontent.com/u/362592?v=4)](https://github.com/gdemet "gdemet (1 commits)")[![jaymejohnson](https://avatars.githubusercontent.com/u/7672711?v=4)](https://github.com/jaymejohnson "jaymejohnson (1 commits)")[![deadarm](https://avatars.githubusercontent.com/u/1793999?v=4)](https://github.com/deadarm "deadarm (1 commits)")[![Kbentham](https://avatars.githubusercontent.com/u/1236362?v=4)](https://github.com/Kbentham "Kbentham (1 commits)")[![lukewertz](https://avatars.githubusercontent.com/u/110637?v=4)](https://github.com/lukewertz "lukewertz (1 commits)")[![CocoaBean5](https://avatars.githubusercontent.com/u/10488517?v=4)](https://github.com/CocoaBean5 "CocoaBean5 (1 commits)")

### Embed Badge

![Health badge](/badges/palantirnet-drupal-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/palantirnet-drupal-skeleton/health.svg)](https://phpackages.com/packages/palantirnet-drupal-skeleton)
```

###  Alternatives

[govcms/govcms

GovCMS Drupal Distribution

196100.6k3](/packages/govcms-govcms)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[drupal/recommended-project

Project template for Drupal projects with a relocated document root

1492.8M1](/packages/drupal-recommended-project)[az-digital/az_quickstart

Arizona Quickstart

52265.6k3](/packages/az-digital-az-quickstart)

PHPackages © 2026

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