PHPackages                             civictheme/civictheme\_govcms - 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. civictheme/civictheme\_govcms

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

civictheme/civictheme\_govcms
=============================

GovCMS adjustments for CivicTheme Drupal theme.

1.12.2(6mo ago)2573GPL-2.0-or-laterShellPHP &gt;=8.1

Since Jan 21Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/civictheme/civictheme_govcms)[ Packagist](https://packagist.org/packages/civictheme/civictheme_govcms)[ RSS](/packages/civictheme-civictheme-govcms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (52)Used By (0)

CivicTheme Drupal module for GovCMS
===================================

[](#civictheme-drupal-module-for-govcms)

---

Version: `{{ VERSION }}`

CivicTheme Setup Script for GovCMS
----------------------------------

[](#civictheme-setup-script-for-govcms)

This script automates the installation and configuration of CivicTheme, the `civictheme_govcms` support module, and a new custom subtheme within your GovCMS project.

### Prerequisites

[](#prerequisites)

1. **GovCMS Project:** You must have a GovCMS project / scaffold already set up.
2. **Ahoy:** `ahoy` must be installed and configured for your project (i.e., you can run `ahoy` commands).
3. **Docker:** Docker must be running, as `ahoy` typically interacts with Docker containers.
4. **`tar` and `curl`:** These command-line utilities must be available in your shell environment where you run the script.
5. **Bash:** The script is written for Bash.

What the Script Does
--------------------

[](#what-the-script-does)

The script will perform the following actions:

1. Download and extract the specified CivicTheme version into `themes/custom/civictheme`.
2. Run initial CivicTheme provisioning commands.
3. Clear Drupal caches.
4. Enable CivicTheme and set it as the default theme temporarily.
5. Download, install, configure, and then uninstall and remove the `civictheme_govcms` module (as per the specified workflow).
6. Generate a new subtheme based on CivicTheme using the provided names and description.
7. Enable the new subtheme and set it as the site's default theme.

After the script completes successfully, your new subtheme will be active and ready for customisation in `themes/custom/`.

### Running the script and setting up CivicTheme for your GovCMS SaaS installation

[](#running-the-script-and-setting-up-civictheme-for-your-govcms-saas-installation)

1. **Download and Setup the Script:**From your GovCMS project root directory, run: ```
    curl -o setup_civictheme.sh \
      https://raw.githubusercontent.com/civictheme/civictheme_govcms/refs/heads/main/scripts/setup_civictheme.sh \
      && chmod +x setup_civictheme.sh
    ```

**Note:** Download the script to your GovCMS project root directory on your host machine (not inside a Docker container).

How to Use
----------

[](#how-to-use)

1. **Run the Script:**Execute the script from your GovCMS project's root directory. You'll need to provide values for all the required arguments.

    **Command Structure:**

    ```
    ./setup_civictheme.sh -c  \
                          -g  \
                          -m  \
                          -u "" \
                          -d "" \
                          [-n] \
                          [-p]
    ```

**Note:** Make sure to run the script from your GovCMS project root directory on your host machine (not inside a Docker container).

2. After completing installation, delete the `setup_civictheme.sh` file from your repository.

**Arguments:**

- `-c `: **(Required)** The version of the CivicTheme base theme to download (e.g., "1.11.0").
- `-g `: **(Required)** The Git reference (branch or tag) for the `civictheme_govcms` module.
    - For a branch: e.g., "main"
    - For a tag: e.g., "1.0.1" or "v1.0.1"
- `-m `: **(Required)** The machine-readable name for your new subtheme. Use lowercase letters, numbers, and hyphens/underscores (e.g., "my\_custom\_site\_theme").
- `-u ""`: **(Required)** The human-readable name for your new subtheme. Enclose in quotes if it contains spaces (e.g., "My Custom Site Theme").
- `-d ""`: **(Required)** A short description for your new subtheme. Enclose in quotes (e.g., "A custom theme for My Awesome GovCMS Project").
- `-n`: **(Optional)** Skip content provisioning. By default, the script will provision demo content. Use this flag to skip that step.
- `-p`: **(Optional)** Apply Drupal cache backend [patch](https://www.drupal.org/files/issues/2023-07-16/3204271-20-missing-layout-exception.patch) ([drupal.org issue](https://www.drupal.org/node/3204271)). This patches LayoutPluginManager to add cache tags for better cache invalidation.

1. **Example:**

    ```
    ./setup_civictheme.sh -c "{{ VERSION }}" \
                          -g "main" \
                          -m "my_gov_project_theme" \
                          -u "My Gov Project Theme" \
                          -d "Custom theme for the My Gov Project website on GovCMS."
    ```

    ```
    ./setup_civictheme.sh \
      -c "1.11.0" \
      -g "{{ VERSION }}" \
      -m "my_gov_theme" \
      -u "My Awesome Gov Theme" \
      -d "A custom subtheme for GovCMS." \
      -p
    ```

    To skip content provisioning:

    ```
    ./setup_civictheme.sh \
      -c "1.11.0" \
      -g "{{ VERSION }}" \
      -m "my_gov_theme" \
      -u "My Awesome Gov Theme" \
      -d "A custom subtheme for GovCMS." \
      -n
    ```
2. **View Help:**For a reminder of the options and usage:

    ```
    ./setup_civictheme.sh -h
    ```

How to use this module manually
-------------------------------

[](#how-to-use-this-module-manually)

These instructions are not needed if you are using the automated script.

1. Enable module
2. Run Drush `drush civictheme_govcms:remove-config` command to remove GovCMS configurations.

Drush Commands
--------------

[](#drush-commands)

Remove all GovCMS configurations:

```
drush civictheme_govcms:remove-config

```

Remove all GovCMS configurations, but preserve `media_types`and `content_types`:

```
drush civictheme_govcms:remove-config --preserve=media_types,content_types

```

List of `--preserve` options:

- `media_types`
- `text_format`
- `fields`
- `content_types`
- `vocabularies`
- `user_roles`
- `menus`
- `pathauto_patterns`

Other resources
---------------

[](#other-resources)

- [CivicTheme Source site](https://github.com/civictheme/monorepo-drupal)
- [CivicTheme UI Kit](https://github.com/civictheme/uikit)
- [CivicTheme Drupal theme](https://github.com/civictheme/civictheme)
- [Default content for CivicTheme](https://github.com/civictheme/civictheme_content)

---

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance79

Regular maintenance activity

Popularity13

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 58.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 ~28 days

Recently: every ~191 days

Total

49

Last Release

193d ago

Major Versions

0.54.0 → 1.0.02022-09-20

PHP version history (3 changes)0.32.1PHP &gt;=7.4

1.1.3PHP &gt;=8

1.6.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/9a320969efb03e56f96b4c05e9eb5c574decf76deb9b34c74983cd9675104529?d=identicon)[salsadigital](/maintainers/salsadigital)

---

Top Contributors

[![salsadeploy](https://avatars.githubusercontent.com/u/31296108?v=4)](https://github.com/salsadeploy "salsadeploy (43 commits)")[![IvanZugec](https://avatars.githubusercontent.com/u/104989?v=4)](https://github.com/IvanZugec "IvanZugec (11 commits)")[![richardgaunt](https://avatars.githubusercontent.com/u/57734756?v=4)](https://github.com/richardgaunt "richardgaunt (10 commits)")[![AlexSkrypnyk](https://avatars.githubusercontent.com/u/378794?v=4)](https://github.com/AlexSkrypnyk "AlexSkrypnyk (5 commits)")[![joshua-salsadigital](https://avatars.githubusercontent.com/u/83997348?v=4)](https://github.com/joshua-salsadigital "joshua-salsadigital (2 commits)")[![joshua1234511](https://avatars.githubusercontent.com/u/14798955?v=4)](https://github.com/joshua1234511 "joshua1234511 (1 commits)")[![gargsuchi](https://avatars.githubusercontent.com/u/120015?v=4)](https://github.com/gargsuchi "gargsuchi (1 commits)")[![alan-cole](https://avatars.githubusercontent.com/u/12739575?v=4)](https://github.com/alan-cole "alan-cole (1 commits)")

### Embed Badge

![Health badge](/badges/civictheme-civictheme-govcms/health.svg)

```
[![Health](https://phpackages.com/badges/civictheme-civictheme-govcms/health.svg)](https://phpackages.com/packages/civictheme-civictheme-govcms)
```

###  Alternatives

[hybridlogic/phantomjs

A PHP library to execute PhantomJS scripts and return their results.

57158.3k](/packages/hybridlogic-phantomjs)[syntaxlexx/chatmessenger

Simple one-to-one/group chat messaging tool for Laravel 5, 6, 7, 8, 9 &amp; 10 with Pusher Integration

10510.2k](/packages/syntaxlexx-chatmessenger)

PHPackages © 2026

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