PHPackages                             jonpugh/maintenance - 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. jonpugh/maintenance

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

jonpugh/maintenance
===================

Tools for Drupal and Composer maintenance.

00

Since Apr 3Pushed 3y ago1 watchersCompare

[ Source](https://github.com/jonpugh/maintenance)[ Packagist](https://packagist.org/packages/jonpugh/maintenance)[ RSS](/packages/jonpugh-maintenance/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Maintenance
===========

[](#maintenance)

This project is here to help maintain Drupal &amp; Composer projects by providing common tools for cleaning up codebases.

> I go through the same 10-20 steps on every project I get to bring it up to speed. There must be a way to get my life back.
>
> - @jonpugh

Features
--------

[](#features)

1. Provides generic documentation for maintaining composer projects.
2. Provides boilerplate code for reference, such as common composer.json configs.

### TODO:

[](#todo)

3. Provide composer command for executing a list of checks on a project.
4. Provide automation to fix things where possible.

Site Maintenance Checklists
---------------------------

[](#site-maintenance-checklists)

This file will document the tasks needed to get a site into a supportable state.

This will help provide a roadmap for tools to make this process easier.

### Composer

[](#composer)

1. Composer Quality

    1. Relevant Project metadata. Remove templated name, description, support, etc.
        - \[\] Add specific items and examples.
    2. Update config &amp; extras to match relevant upstream composer project template:'
        - @TODO: List common projects here
    3. Remove vendor and contributed files.
    4. Ensure .gitignores are in place.
    5. Ensure `composer install` does not cause any git changes.
2. Composer Updates

    1. Update locked dependencies. `rm composer.lock && composer i`
    2. `composer require` as many libraries as possible to get latest required version.
    3. `composer remove` libraries that are required by `drupal/vardot_support`.
    4. Remove all patches that do not apply unless required.
3. Support Package

    1. Move all dependencies to `drupal/vardot_support`. Remove them from parent project to avoid conflicts or accidentally setting a lower version.
    2. *`composer require` will silently require a lessor version if your project dependencies are set. For example, if `drupal/raven` or `drupal/site_audit` are already installed at a certain version, `drupal/vardot_support:^1.0@dev` will be used instead of `^1.1@dev`.*.
    3. To find out why a module is requiring the wrong version, try requiring the right one: `composer require drupal/vardot_support:^1.1@dev`. If it fails, composer will tell you why.
4. Documentation &amp; README

    1. Define README requirements: 2. Project summary. 3. Environments 4. Teams 5. Assets 6. Management 7. etc.
    2. Replace default README files with relevant project metadata.
        - Find or create a README generator that can use composer.json metadata.
    3. Create template README file to ensure completeness.
5. Settings.php

    1. @TODO: Come up with a standardization plan.
6. Drupal

    1. @TODO: Define best practices/quality for Drupal level.

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/10539fb9e887c35b626eba70c97dd9d53ba14e987d4f129b55a488664a834eca?d=identicon)[jonpugh](/maintainers/jonpugh)

---

Top Contributors

[![jonpugh](https://avatars.githubusercontent.com/u/106420?v=4)](https://github.com/jonpugh "jonpugh (3 commits)")

### Embed Badge

![Health badge](/badges/jonpugh-maintenance/health.svg)

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

###  Alternatives

[ihor/nspl

Non-standard PHP library (NSPL) - functional primitives toolbox and more

375369.1k](/packages/ihor-nspl)

PHPackages © 2026

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