PHPackages                             elevatedthird/paragon-base - 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. elevatedthird/paragon-base

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

elevatedthird/paragon-base
==========================

A Composer-based installation template for the Paragon Drupal Distribution

8.1.0-a(5y ago)17233[22 issues](https://github.com/elevatedthird/paragon-base/issues)[2 PRs](https://github.com/elevatedthird/paragon-base/pulls)GPL-2.0-or-laterPHPCI passing

Since Aug 23Pushed 1mo ago15 watchersCompare

[ Source](https://github.com/elevatedthird/paragon-base)[ Packagist](https://packagist.org/packages/elevatedthird/paragon-base)[ RSS](/packages/elevatedthird-paragon-base/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (10)Dependencies (91)Versions (64)Used By (0)

Paragon installation template using Composer
============================================

[](#paragon-installation-template-using-composer)

Paragon is a Drupal distribution focused on providing a clean starting point for site builds with just the right amount of baked in configuration.This allows developers to focus on building custom functionality, rather than recreating the same standard set of baseline features they’ve built 100 times before.

The intent of this distribution is to create a Drupal install that will be treated as an artifact and maintained independently of this project after the initial installation. As such, rather than making this an official install profile, Paragon is instead managed as a Composer template that heavily leverages [drupal/core-composer-scaffold](https://github.com/drupal/core-composer-scaffold) and also includes exported configuration that can be used to install the site.

Prerequisites
-------------

[](#prerequisites)

- [Download DDEV](https://ddev.com/get-started/) if it is not already installed.
- Access to Elevated Third Github organization, Paragon-base repository and SSH key setup.
- You must be using Composer 2.

Setup instructions
------------------

[](#setup-instructions)

### Step #1: Clone repository

[](#step-1-clone-repository)

1. Run the following command: `composer create-project elevatedthird/paragon-base [install_directory_name]` which will clone down the composer template and create all necessary files.
2. You will prompted to select a hosting environment for your project. Select 'custom' if you don't want platform specific files. You can set up hosting requirements later by running `composer setup-platform`

### Step #2: Project setup

[](#step-2-project-setup)

1. Rename the the app in the `.ddev/config.yml` file
2. `ddev start`
3. `ddev composer install`
4. `ddev composer npm-install`

### Step #3: Install Drupal

[](#step-3-install-drupal)

1. Install the site: `ddev drush si --existing-config --site-name=[SITE_NAME] --account-name=root --account-pass=[PASSWORD] -vv -y`
2. Once install completes, remove the automatically generated database connection details that have most likely been appended to the bottom of `settings.php`.
3. Install starter components: `ddev drush propel:init`
4. Build the theme: `ddev vite:build`

### Step #4: Set up Solr Search

[](#step-4-set-up-solr-search)

1. `ddev drush pm:enable search_api_solr_admin`

- This module is ignored in settings.php

2. Create a new Solr server connection in the UI
3. [Follow the ddev-solr steps](https://github.com/ddev/ddev-solr?tab=readme-ov-file#installation-steps) to connect to Solr
4. Upload the config set to Solr and create the collection. `ddev drush --numShards=1 search-api-solr:upload-configset [YOUR_SERVER_NAME]`

Essential DDEV commands
-----------------------

[](#essential-ddev-commands)

- `ddev xdebug on`
- `ddev xdebug off`
- `ddev vite`
- `ddev vite:build`

E3 Github Workflows
-------------------

[](#e3-github-workflows)

By default, all Paragon projects have Github Actions enabled. To disable, rename the `.github/workflows/main.yml` to `main.disable`

1. Ensure you have invited `hosting@elevatedthird.com` to your project.
2. Set up the `.env` file located in the project root. These variables will be used as settings for the Github Workflows.
3. If your site is on Pantheon, you will need to uncomment and fill out the `PANTHEON_SITE` var.
4. If you are NOT using kinetic, change the `THEME_NAME` variable to the name of the active theme's folder. Also, change the paths to the theme in the `build-theme` and `npm-install` scripts in composer.json

Specific Platform Instructions
------------------------------

[](#specific-platform-instructions)

### Acquia

[](#acquia)

1. Ensure you have a hooks/dev/post-code-update/drush-deploy.sh
2. Ensure that the code below is present in the settings.php.

```
if (isset($_ENV['AH_SITE_ENVIRONMENT'])) {
  if (file_exists($app_root . '/' . $site_path . '/settings.acquia.php')) {
    include $app_root . '/' . $site_path . '/settings.acquia.php';
  }
}
```

### Pantheon

[](#pantheon)

1. Ensure you change the `docroot` folder name to `web`
2. Change `docroot` to `web` in your `composer.json` file
3. Ensure that the code below is present in the settings.php.

```
if(isset($_ENV['PANTHEON_ENVIRONMENT'])) {
  if (file_exists($app_root . '/' . $site_path . '/settings.pantheon.php')) {
    include $app_root . '/' . $site_path . '/settings.pantheon.php';
  }
}
```

### Platform

[](#platform)

1. Ensure your `.platform.app.yaml` deploy hook looks like this

```
  deploy: |
    set -e
    php ./drush/platformsh_generate_drush_yml.php
    cd docroot
    drush deploy
```

2. Ensure that the code below is present in the settings.php.

```
if (isset($_ENV['PLATFORM_PROJECT'])) {
  if (file_exists($app_root . '/' . $site_path . '/settings.platformsh.php')) {
    include $app_root . '/' . $site_path . '/settings.platformsh.php';
  }
}
```

Tugboat Integration
-------------------

[](#tugboat-integration)

By default, Paragon creates a `.tugboat` folder containing configuration related to [Tugboat QA](https://www.tugboatqa.com). You must set up a tugboat project and connect the Github repo to it.

Claude Code
-----------

[](#claude-code)

Paragon ships with a Claude Code setup designed to run inside the DDEV web container. The following files drive the integration.

### CLAUDE.md

[](#claudemd)

A `CLAUDE.md` template lives in the project root. It contains project-specific instructions that Claude reads at the start of every session — things like the site name, key modules, hosting environment, and known gotchas. Fill it out before using Claude Code on the project. Claude will refuse to proceed until the template status is marked `complete`.

### Permission rules (`.claude/settings.json`)

[](#permission-rules-claudesettingsjson)

The project `.claude/settings.json` defines three tiers of permissions:

**Deny** — Claude is blocked from running these automatically and cannot ask for approval either. Covers destructive or sensitive operations:

- Reading `.env`, `settings.php`, `settings.local.php`, certificates, and key files
- `drush sql-drop`, `drush site-install`, and any Drush remote aliases (`@prod`, etc.)
- `rm -rf`, `git push --force`, `git merge`, `git rebase`
- Acquia CLI (`acli`) commands and `.acquia` files

**Ask** — Claude must prompt for approval before running:

- `composer require / update / remove`
- `git commit` and `git push`

**Allow** — Claude can run these without prompting:

- Safe Drush read/cache/config commands (`drush status`, `drush cr`, `drush config:*`, `drush pm:list`, `drush updb`, `drush watchdog:show`, etc.)
- Code quality tools: `phpcs`, `phpstan`, `phpunit`

### Mounting your host `~/.claude` into the container

[](#mounting-your-host-claude-into-the-container)

`docker-compose.claude-home.yaml` provides commented-out volume definitions that shim your host machine's Claude config into the DDEV web container. This lets Claude inside the container share your global commands, skills, and plugins without duplicating them. Two options are available — uncomment one:

```
# Option 1: full ~/.claude (settings, history, sessions, commands, plugins)
- ${HOME}/.claude:/root/.claude:ro

# Option 2: granular — commands and plugins only
- ${HOME}/.claude/commands:/root/.claude/commands:ro
- ${HOME}/.claude/plugins:/root/.claude/plugins:ro
```

The volume is mounted read-only so the container cannot modify your host Claude config.

### Per-project `.claude.json` persistence

[](#per-project-claudejson-persistence)

`config.claude-code.yaml` runs a post-start hook that creates a `.ddev/claude-code/.claude.json` file (if it doesn't exist) and symlinks it to `~/.claude.json` inside the container. This keeps any project-level Claude state (conversation history, approvals) in the repo's `.ddev` folder rather than lost on container rebuild.

Related Projects
----------------

[](#related-projects)

- [E3 Actions](https://github.com/elevatedthird/actions)
- [Paragon Core](https://www.drupal.org/project/paragon_core)
- [Paragon Gin](https://www.drupal.org/project/paragon_gin)
- [Paragon Mega Menus](https://github.com/elevatedthird/paragon_mega_menus)
- [Kinetic](https://www.drupal.org/project/kinetic)

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance40

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~47 days

Recently: every ~117 days

Total

49

Last Release

241d ago

Major Versions

1.0-alpha2 → 8.1.0-alpha32019-10-11

2.2.2 → 3.0.02023-06-27

3.3.3 → 4.0.02025-04-04

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/252256629?v=4)[michaellander](/maintainers/michaellander)[@michaellander](https://github.com/michaellander)

---

Top Contributors

[![eric-schmidt](https://avatars.githubusercontent.com/u/913312?v=4)](https://github.com/eric-schmidt "eric-schmidt (37 commits)")[![bystevens](https://avatars.githubusercontent.com/u/92324548?v=4)](https://github.com/bystevens "bystevens (32 commits)")[![mlander](https://avatars.githubusercontent.com/u/1633993?v=4)](https://github.com/mlander "mlander (30 commits)")[![redbrickone](https://avatars.githubusercontent.com/u/9991594?v=4)](https://github.com/redbrickone "redbrickone (10 commits)")[![Brayn7](https://avatars.githubusercontent.com/u/16532894?v=4)](https://github.com/Brayn7 "Brayn7 (8 commits)")[![Maybe-NSA](https://avatars.githubusercontent.com/u/44505134?v=4)](https://github.com/Maybe-NSA "Maybe-NSA (4 commits)")[![zrhoffman](https://avatars.githubusercontent.com/u/11163823?v=4)](https://github.com/zrhoffman "zrhoffman (1 commits)")

### Embed Badge

![Health badge](/badges/elevatedthird-paragon-base/health.svg)

```
[![Health](https://phpackages.com/badges/elevatedthird-paragon-base/health.svg)](https://phpackages.com/packages/elevatedthird-paragon-base)
```

###  Alternatives

[voidagency/vactory_starter_kit

Vactory is a custom Drupal profile which is developed and released by VOID Agency.

1020.9k](/packages/voidagency-vactory-starter-kit)[govcms/govcms

GovCMS Drupal Distribution

197100.6k3](/packages/govcms-govcms)[az-digital/az_quickstart

Arizona Quickstart

52265.6k3](/packages/az-digital-az-quickstart)[thunder/thunder-distribution

The thunder distribution

51653.5k3](/packages/thunder-thunder-distribution)[goalgorilla/open_social

Open Social is a distribution for building social communities and intranets.

190461.9k](/packages/goalgorilla-open-social)

PHPackages © 2026

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