PHPackages                             decodelabs/effigy - 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. [CLI &amp; Console](/categories/cli)
4. /
5. decodelabs/effigy

ActiveProject[CLI &amp; Console](/categories/cli)

decodelabs/effigy
=================

Universal CLI entry point

v0.10.13(2mo ago)315.9kMITPHPPHP ^8.4CI passing

Since Nov 7Pushed 7mo ago2 watchersCompare

[ Source](https://github.com/decodelabs/effigy)[ Packagist](https://packagist.org/packages/decodelabs/effigy)[ RSS](/packages/decodelabs-effigy/feed)WikiDiscussions develop Synced today

READMEChangelog (10)Dependencies (44)Versions (109)Used By (0)

Effigy
======

[](#effigy)

[![PHP from Packagist](https://camo.githubusercontent.com/cd2a0de34170f825cdbfa36716c7a3717628e063feb073587f4ccee1f21a35c2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465636f64656c6162732f6566666967793f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/effigy)[![Latest Version](https://camo.githubusercontent.com/a79712f83eb8ce3654949bcebb23cd318ad3c02095b9aa9cb5772d6bb021046a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6465636f64656c6162732f6566666967792e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/effigy)[![Total Downloads](https://camo.githubusercontent.com/eb8e85ac02a80ecad7f1eb5ecd4fa9ea974b0f1457f8858a70bd148876af79a6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465636f64656c6162732f6566666967792e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/effigy)[![GitHub Workflow Status](https://camo.githubusercontent.com/9b277dbe426cd727928b5e8c44d5c8883df8a0ebf0a1242c21e80ccf976f7285/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6465636f64656c6162732f6566666967792f696e746567726174652e796d6c3f6272616e63683d646576656c6f70)](https://github.com/decodelabs/effigy/actions/workflows/integrate.yml)[![PHPStan](https://camo.githubusercontent.com/e25c14ce011edabdd0fbd2e10415b41cc5d66ed11ef3e5b7edd074c5bdd35a2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d3434434331312e7376673f6c6f6e6743616368653d74727565267374796c653d666c6174)](https://github.com/phpstan/phpstan)[![License](https://camo.githubusercontent.com/7f8a7b6bc7466f1280f7f1f96c35033675f1818c6177f9a9de7bcbcf83b85821/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6465636f64656c6162732f6566666967793f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/effigy)

### Universal CLI entry point

[](#universal-cli-entry-point)

Effigy is a globally installed universal CLI tool for easily running tasks in your application.

---

Installation
------------

[](#installation)

This package requires PHP 8.4 or higher.

Install via Composer:

```
composer global require decodelabs/effigy
```

You will also need to have added your global composer installation bin directory to your $PATH in your ~/.bash\_profile or ~/.bashrc file:

```
export PATH=~/.config/composer/vendor/bin:$PATH
```

*Note, earlier versions of composer may store global config in `~/.composer/vendor/bin` - adapt your $PATH as necessary. You can find composer's home path with `composer global config home`*

Usage
-----

[](#usage)

Effigy can be used to simplify running tasks in your project from the command line. Its primary job is to locate and load the main entry point to your project via a globally installed executable.

Say for example, you currently run commands in your project though `webroot/index.php` as your primary entry point:

```
php webroot/index.php run-task
```

Define your entry point in your composer.json file:

```
{
    "extra": {
        "effigy": {
            "entry": "webroot/index.php"
        }
    }
}
```

Then you can run CLI commands available in your project via the `effigy` executable directly:

```
effigy run-task
```

Should you need per-environment entry files, specify template keys in your composer config:

```
{
    "extra": {
        "effigy": {
            "entry": "entry/{{env}}.php"
        }
    }
}
```

Then on first run, Effigy will ask for the "env" parameter and save it in a local config file (which gets added to your .gitignore).

### Local installation

[](#local-installation)

If you don't want to install Effigy globally, you can use it as a local executable in your project.

```
composer require decodelabs/effigy
vendor/bin/effigy install-local
```

You can then call effigy like so:

```
./effigy run-task
```

### PHP binary

[](#php-binary)

Effigy can use alternative versions of PHP on a per-project basis:

```
effigy set-php
> php8.1
```

The bin path is stored in your local config and all process launches will use this going forward. Reset it to "php" to use the default system global binary.

### Composer passthrough

[](#composer-passthrough)

Effigy will attempt to run scripts defined in your composer.json:

```
{
    "scripts": {
        "analyze": "phpstan analyze"
    }
}
```

```
effigy analyze
```

You can also run composer commands through effigy directly:

```
effigy composer require decodelabs/atlas
```

This is especially useful if you have defined an alternative version of PHP for your project as global composer will use global PHP.

Licensing
---------

[](#licensing)

Effigy is licensed under the MIT License. See [LICENSE](./LICENSE) for the full license text.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance75

Regular maintenance activity

Popularity26

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity71

Established project with proven stability

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

Recently: every ~39 days

Total

107

Last Release

65d ago

PHP version history (3 changes)v0.1.0PHP ^8.0

v0.4.7PHP ^8.1

v0.4.30PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/8a241d64d12b3b5ee94197862ec1ec30b82ed2efa34a0cd7f4c3565a021daddd?d=identicon)[betterthanclay](/maintainers/betterthanclay)

---

Top Contributors

[![betterthanclay](https://avatars.githubusercontent.com/u/1273586?v=4)](https://github.com/betterthanclay "betterthanclay (440 commits)")

---

Tags

clideveloper-toolsphpclientry

### Embed Badge

![Health badge](/badges/decodelabs-effigy/health.svg)

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

###  Alternatives

[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k28.9M2.3k](/packages/infection-infection)[drush/drush

Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.

2.4k60.6M796](/packages/drush-drush)[helhum/typo3-console

A reliable and powerful command line interface for TYPO3 CMS

2959.5M253](/packages/helhum-typo3-console)[laminas/laminas-cli

Command-line interface for Laminas projects

564.1M71](/packages/laminas-laminas-cli)[automattic/jetpack-changelogger

Jetpack Changelogger tool. Allows for managing changelogs by dropping change files into a changelog directory with each PR.

107.2M174](/packages/automattic-jetpack-changelogger)[wp-cli/wp-cli-tests

WP-CLI testing framework

423.1M139](/packages/wp-cli-wp-cli-tests)

PHPackages © 2026

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