PHPackages                             sleepingmonk/cream - 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. sleepingmonk/cream

ActiveProject

sleepingmonk/cream
==================

Compare any number of arbitrary items across any number of arbitrary dimensions, via a simple voting mechanism. Get a report of what got the most votes in each category, and what got the most votes overall.

1.0.5(2y ago)011MITPHP

Since May 25Pushed 2y ago1 watchersCompare

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

READMEChangelogDependencies (2)Versions (8)Used By (0)

Cream by sleepingmonk
=====================

[](#cream-by-sleepingmonk)

Description
-----------

[](#description)

Cream is a command line application written in PHP that uses a simple voting mechanism to compare an arbitrary number of items across an arbitrary number of dimensions. It returns a report of the results in a table format so you can see what rises to the top for each dimension as well as overall.

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

[](#installation)

`composer global require sleepingmonk/cream`

Make sure your global composer bin directory is in your path.

Usage
-----

[](#usage)

```
Usage:
  bin/cream [options] [--] []

Arguments:
  file                  The file to cream.

Options:
  -r, --report          Show report for existing file.
  -h, --help            Display help for the given command. When no command is given display help for the bin/cream command
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

```

Only use the filename without the extension, Cream will append `.json` to the filename you enter.

If you do not enter a filename, Cream will prompt you for one.

If you enter a filename that does not exist, Cream will create it in the directory you are running the command from.

If you enter a filename that exists, Cream will repeat the voting process and items will accumulate more votes. So you can run the same file multiple times to refine the results, sampling responses in different moods, with different perspectives over a period of time, or even with different people to get a consensus.

### Process

[](#process)

Once you have a filename, Cream will prompt you for items to compare. You can enter as many as you like. When you are done, enter nothing.

Cream will then prompt you for dimensions to compare the items on. You can enter as many as you like. When you are done, enter nothing.

Cream will then prompt you to compare each item to each other item for each dimension. Press 1 for the item on the left or 0 for the item on the right. If you enter anything else, Cream will prompt you again.

When you are done, Cream will show you the results in a table format.

Example
-------

[](#example)

```
$ cream restaurants

Could not open file restaurants.json. Creating it.

0 items found in file. Please add at least 2 items.
Type an item for comparison: [enter to finish] kinjo

1 items found in file. Please add at least 1 items.
Type an item for comparison: [enter to finish] gojiro

2 items found in file. Please add at least 0 items.
Type an item for comparison: [enter to finish]

0 dimensions found in file. Please add at least 2 dimensions.
Type a dimension for comparison: [enter to finish] price

1 dimensions found in file. Please add at least 1 dimensions.
Type a dimension for comparison: [enter to finish] quality

2 dimensions found in file. Please add at least 0 dimensions.
Type a dimension for comparison: [enter to finish] service

3 dimensions found in file. Please add at least 0 dimensions.
Type a dimension for comparison: [enter to finish]

Creaming restaurants.json with dimensions: price,quality,service
Let's GO!

------------------ price ------------------

Dimension: price

1) kinjo vs 0) gojiro
Who wins? [1/0]
gojiro wins!

------------------ quality ------------------

Dimension: quality

1) kinjo vs 0) gojiro
Who wins? [1/0]
kinjo wins!

------------------ service ------------------

Dimension: service

1) kinjo vs 0) gojiro
Who wins? [1/0]
kinjo wins!

The cream has risen!

+--------+-------+---------+---------+-------+
| Item   | price | quality | service | Total |
+--------+-------+---------+---------+-------+
| gojiro | 1     | 0       | 0       | 1     |
| kinjo  | 0     | 1       | 1       | 2     |
+--------+-------+---------+---------+-------+

```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

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

7

Last Release

1088d ago

Major Versions

0.0.0 → 1.0.02023-05-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a878ec244783c4786aafadcd0b9bbc12ce280b5b0ef8a0c4b7e4e698eed89c3?d=identicon)[sleepingmonk](/maintainers/sleepingmonk)

---

Top Contributors

[![sleepingmonk](https://avatars.githubusercontent.com/u/6646958?v=4)](https://github.com/sleepingmonk "sleepingmonk (14 commits)")

### Embed Badge

![Health badge](/badges/sleepingmonk-cream/health.svg)

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

###  Alternatives

[phan/phan

A static analyzer for PHP

5.6k11.2M1.1k](/packages/phan-phan)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-soap/wsdl

Deals with WSDLs

173.5M12](/packages/php-soap-wsdl)[php-soap/wsdl-reader

A WSDL reader in PHP

212.3M9](/packages/php-soap-wsdl-reader)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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