PHPackages                             pds/composer-script-names - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. pds/composer-script-names

ActiveStandard[PSR &amp; Standards](/categories/psr-standards)

pds/composer-script-names
=========================

Standard for Composer script names.

1.0.0(3y ago)312.5k20CC-BY-SA-4.0

Since Apr 6Pushed 3y ago5 watchersCompare

[ Source](https://github.com/php-pds/composer-script-names)[ Packagist](https://packagist.org/packages/pds/composer-script-names)[ Docs](https://github.com/php-pds/composer-script-names)[ RSS](/packages/pds-composer-script-names/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (20)

pds/composer-script-names
=========================

[](#pdscomposer-script-names)

This publication describes a standard suitable for all PHP packages regarding Composer script names.

Please see [https://github.com/php-pds/composer-script-names\_research](https://github.com/php-pds/composer-script-names_research) for background information.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this publication are to be interpreted as described in [RFC 2119](http://tools.ietf.org/html/rfc2119).

Summary
-------

[](#summary)

Script names in the `composer.json` file MUST be lower-case, and MUST use dashes as word separators.

The `composer.json` file MUST use these script names for these purposes:

If the `composer.json` file defines a script to ...... then it MUST be named:Run tests using a default configuration`test`Run tests using a default configuration, with coverage generation`test-coverage`Run tests using alternative configurations or approaches`test-*` (see below)Run a coding style fixer and/or code linter using a default configuration`cs-fix`Run static analysis using a default configuration`analyse` OR `analyze`Run multiple QA scripts or commands in sequence`check`Naming Convention
-----------------

[](#naming-convention)

Script names in the `composer.json` file MUST be lower-case, and MUST use dashes as word separators.

Examples of compliant script names:

- `foo`
- `foo-bar`
- `foo-bar-baz`

Examples of non-compliant script names:

- `Foo`
- `foo:bar`
- `foo_bar:Baz`

Script Names
------------

[](#script-names)

### `test`

[](#test)

If the `composer.json` file defines a script to run tests using a default configuration, it MUST be named `test`.

This publication does not otherwise define the test tooling.

### `test-coverage`

[](#test-coverage)

If the `composer.json` file defines a script to run tests using a default configuration, with coverage generation, it MUST be named `test-coverage`.

This publication does not otherwise define the test coverage tooling.

### `test-*`

[](#test-)

If the `composer.json` file defines a script to run tests using alternative configurations or approaches, it MUST use the prefix `test-` with a descriptive suffix.

Examples:

- `test-behavior`
- `test-filter`
- `test-integation`
- `test-system`

Aside from `test-coverage`, this publication does not otherwise define the meaning of any `test-*` descriptive suffix.

### `cs-fix`

[](#cs-fix)

If the `composer.json` file defines a script to run a coding style fixer and/or code linter using a default configuration, it MUST be named `cs-fix`.

This publication does not otherwise define the style fixer or code linter tooling.

### `analyse` or `analyze`

[](#analyse-or-analyze)

If the `composer.json` file defines a script to run static analysis using a default configuration, it MUST be named EITHER `analyse` OR `analyze`.

N.b.: The naming alternatives reflect differences in typical usage by American and British English speakers.

This publication does not otherwise define the static analysis tooling.

### `check`

[](#check)

If the `composer.json` file defines a script to run multiple quality-assurance scripts or commands in sequence, it MUST be named `check`.

This publication does not otherwise define the specific scripts or commands, nor the order in which they are to run.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1138d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25754?v=4)[Paul M. Jones](/maintainers/pmjones)[@pmjones](https://github.com/pmjones)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/pds-composer-script-names/health.svg)

```
[![Health](https://phpackages.com/badges/pds-composer-script-names/health.svg)](https://phpackages.com/packages/pds-composer-script-names)
```

###  Alternatives

[league/container

A fast and intuitive dependency injection container.

86787.8M343](/packages/league-container)[stella-maris/clock

A pre-release of the proposed PSR-20 Clock-Interface

7947.5M2](/packages/stella-maris-clock)[wptrt/wpthemereview

PHP\_CodeSniffer rules (sniffs) to verify theme compliance with the rules for theme hosting on wordpress.org

217736.5k29](/packages/wptrt-wpthemereview)[inpsyde/modularity

Modular PSR-11 implementation for WordPress plugins, themes or libraries.

54383.3k3](/packages/inpsyde-modularity)[php-standard-library/phpstan-extension

PHPStan PSL extension

201.2M13](/packages/php-standard-library-phpstan-extension)[elie29/zend-phpdi-config

PSR-11 PHP-DI autowire container configurator for Laminas, Mezzio, ZF2, ZF3 and Zend Expressive applications

20238.6k7](/packages/elie29-zend-phpdi-config)

PHPackages © 2026

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