PHPackages                             geekish/crap - 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. geekish/crap

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

geekish/crap
============

Define aliases for your favorite Composer packages.

v1.0.1(8y ago)83394[7 issues](https://github.com/geekish/crap/issues)MITPHPPHP ^5.6|^7.0

Since Nov 23Pushed 1y ago3 watchersCompare

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

READMEChangelog (7)Dependencies (10)Versions (8)Used By (0)

crap: Composer Require Aliased Packages
=======================================

[](#crap-composer-require-aliased-packages)

[![Latest Version on Packagist](https://camo.githubusercontent.com/5c6bfc232ffb8d30af1455d480ffe43d1c6d4abcfb829cd74617ba4cbf4adad4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6765656b6973682f637261702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/geekish/crap)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/2283dc25d9f6ba879926440ff3175db6f3ea806afdf1f4c5c87a75bda1b35f7f/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6765656b6973682f637261702f6d61737465722e7376673f7374796c653d666c61742d737175617265)](//travis-ci.org/geekish/crap)[![Coverage Status](https://camo.githubusercontent.com/00ffb3b4d9bbcedc0bc543e270e64a2d559391b9291ed7f97f89977d3a6bf660/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6765656b6973682f637261702f62616467652e737667)](//coveralls.io/github/geekish/crap)[![Quality Score](https://camo.githubusercontent.com/c033a4607e0528f4aae620a30e03b6d15950fa0e3cb6cf11a318b1660bdee958/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6765656b6973682f637261702e7376673f7374796c653d666c61742d737175617265)](//scrutinizer-ci.com/g/geekish/crap)[![Total Downloads](https://camo.githubusercontent.com/76286c30224d06550c6a2598034a474c10998cc7d25f4965a80f681fc39b070f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6765656b6973682f637261702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/geekish/crap)

Define aliases for your favorite packages, making usage as simple as `crap require monolog`.

[![](example.gif)](example.gif)

Install
-------

[](#install)

PHP 5.6+ or 7.0+ required.

Because using multiple global Composer packages can create dependency conflicts, I recommend using [`consolidation/cgr`](//github.com/consolidation/cgr) over `composer global require`:

```
cgr geekish/crap
```

If you *don't* mind descending into global dependency hell:

```
composer global require geekish/crap
```

Usage
-----

[](#usage)

To define your aliases (version constraints are optional):

```
crap alias monolog monolog/monolog:^1.21
```

To use your aliases:

```
crap require monolog
crap update monolog
crap remove monolog
```

To remove an alias:

```
crap unalias monolog
```

View a list of defined alias:

```
crap list
```

These commands simply find your aliases, and call the Composer commands with the real package names. If you provided a version constraint when defining your alias, `crap` will use this by default. You may provide a version constraint on the require and update commands; this will override any default.

The commands `project`, `require`, `update`, and `remove` all accept the same options/flags as the Composer commands that they call. For reference, see Composer's [Commands documentation](//getcomposer.org/doc/03-cli.md).

Why?
----

[](#why)

I'm lazy. I tried to create global shell aliases for packages that I used often. It worked, but if I typed out the full package name, I would get `monolog/monolog/monolog/monolog`. I also tried to write a Composer plugin, but there was no way to override the incoming package argument. So, I wrote `crap`.

Oh, the name? I was going to call it `cra`, and call the main class `Crapp`. Then I thought of the acronym, and it was just too good not to use.

Yes, it is totally inspired by Spongebob's [POOP](//poop.urbanup.com/340199#.WC3kAiMiBbo.twitter).

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Testing
-------

[](#testing)

After a composer install, to run the unit tests via `phpunit`:

```
composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [asciinema](//asciinema.org/) &amp; [asciinema2gif](//github.com/tav/asciinema2gif) - for the terminal recording
- [consolidation/cgr](//github.com/consolidation/cgr) - for the inspiration to write this.
- [Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 95.8% 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 ~111 days

Recently: every ~137 days

Total

6

Last Release

2946d ago

### Community

Maintainers

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

---

Top Contributors

[![geekish](https://avatars.githubusercontent.com/u/684339?v=4)](https://github.com/geekish "geekish (46 commits)")[![flyingluscas](https://avatars.githubusercontent.com/u/6232791?v=4)](https://github.com/flyingluscas "flyingluscas (2 commits)")

---

Tags

clicomposerphputilitycrapgeekish

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/geekish-crap/health.svg)

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

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)[illuminate/console

The Illuminate Console package.

13045.3M6.2k](/packages/illuminate-console)[magento/community-edition

Magento 2 (Open Source)

12.1k53.0k12](/packages/magento-community-edition)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M524](/packages/shopware-core)[whatsdiff/whatsdiff

See what's changed in your project's dependencies

771.1k](/packages/whatsdiff-whatsdiff)

PHPackages © 2026

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