PHPackages                             stickee/canary - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. stickee/canary

ActiveMetapackage[Testing &amp; Quality](/categories/testing)

stickee/canary
==============

Canary provides linting and static analysis for Stickee Laravel projects

v4.0.0(1y ago)114.6k↓19.4%11MITPHP ^8.3CI passing

Since Nov 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/stickeeuk/canary)[ Packagist](https://packagist.org/packages/stickee/canary)[ Docs](https://github.com/stickeeuk/canary)[ RSS](/packages/stickee-canary/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (23)Used By (1)

    ![Stickee Canary](.github/images/logo-dark.png)

 [![Contributors](https://camo.githubusercontent.com/12584c484ba946d52fc64cbe45e372355d8977afd82b1d2118ca462188193197/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f737469636b6565756b2f63616e617279)](https://camo.githubusercontent.com/12584c484ba946d52fc64cbe45e372355d8977afd82b1d2118ca462188193197/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f737469636b6565756b2f63616e617279) [![Total Downloads](https://camo.githubusercontent.com/f4ccbb5dd077fe27fa088bd9f01d26612ba7b12ca95dbf10bd9d77a0112a1d4a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f737469636b65652f63616e617279)](https://packagist.org/packages/stickee/canary) [![License](https://camo.githubusercontent.com/de13c8c3a1cf79eeaea43b55e67a9644f9add0942d18bab08ce024ae8fe98b33/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f737469636b65652f63616e617279)](https://packagist.org/packages/stickee/canary) [![Latest Stable Version](https://camo.githubusercontent.com/acd8118f7c6c5d9d4af02ffb59acdc3de32b4caf690dd3f233f68e04b233f435/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f737469636b65652f63616e617279)](https://packagist.org/packages/stickee/canary) [![PHP Version](https://camo.githubusercontent.com/bdb666a8e0d1ab4cb5e828313968ff336f7c6bf8ab3aae4a4ec8908910522c33/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f737469636b65652f63616e6172792f706870)](https://packagist.org/packages/stickee/canary)

Introduction
============

[](#introduction)

**Canary** provides **linting** and **static analysis** for stickee Laravel projects.

It includes:

- the stickee [PHP CS Fixer config](https://github.com/stickeeuk/php-cs-fixer-config/) to adhere to our code styles
- the stickee [Larastan config](https://github.com/stickeeuk/larastan-config/) to analyse your code
- the stickee [Rector config](https://github.com/stickeeuk/rector-config) to refactor your code

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

[](#installation)

### Composer

[](#composer)

```
composer require --dev stickee/canary

# Add scripts to composer.json
composer config --json scripts.analyse "vendor/bin/phpstan analyse -c phpstan.dist.neon"
composer config --json scripts.analyze "composer analyse"
composer config --json scripts.fix "vendor/bin/php-cs-fixer fix --config .php-cs-fixer.php"
composer config --json scripts.improve "vendor/bin/rector"
composer config --json scripts.suggest "vendor/bin/rector --dry-run"
```

### Config

[](#config)

```
cp vendor/stickee/php-cs-fixer-config/dist/.php-cs-fixer.php .
cp vendor/stickee/larastan-config/dist/phpstan.dist.neon .
cp vendor/stickee/larastan-config/dist/phpstan.ci.neon .
cp vendor/stickee/rector-config/dist/rector.php .
```

You should commit these config files.

### .gitignore

[](#gitignore)

```
if grep -q '.php-cs-fixer.cache' .gitignore;
then
    echo ".gitignore contains .php-cs-fixer.cache";
else
    echo "Adding .php-cs-fixer.cache to .gitignore";
    echo ".php-cs-fixer.cache" >> .gitignore;
    echo "Done";
fi
```

Usage
-----

[](#usage)

Canary provides a unified package that brings together powerful linting and static analysis tools that we make heavy use of at stickee.

### Tools

[](#tools)

### `analyse`

[](#analyse)

[PHPStan](https://github.com/nunomaduro/larastan)

```
composer analyse
# or vendor/bin/phpstan analyse -c phpstan.dist.neon
```

This command will perform static-analysis of your whole project.

It *could* be run as part of a `pre-commit` hook.

See [stickee/larastan-config](https://github.com/stickeeuk/larastan-config) for more details.

### `fix`

[](#fix)

[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)

```
composer fix
# or vendor/bin/php-cs-fixer fix --config .php-cs-fixer.php
```

This command will attempt to fix minor code style issues.

It *can* be run against a single file.

It *could* be run against staged files as part of a `pre-commit` hook.

See [stickee/php-cs-fixer-config](https://github.com/stickeeuk/php-cs-fixer-config) for more details.

### `improve`

[](#improve)

[Rector](https://github.com/rectorphp/rector)

```
composer improve
# or vendor/bin/rector
```

This command will refactor your code in an attempt to improve it.

Any `improve`d code **must** be checked before committing.

It *can* be run against a single file.

It should **not** be run as part of a `pre-commit` hook.

See [stickee/rector-config](https://github.com/stickeeuk/rector-config) for more details.

### `suggest`

[](#suggest)

[Rector](https://github.com/rectorphp/rector) in `--dry-run` mode

```
composer suggest
# or vendor/bin/rector --dry-run
```

This command will suggest improvements as diffs in the terminal.

See [stickee/rector-config](https://github.com/stickeeuk/rector-config) for more details.

Contributions
-------------

[](#contributions)

Contributions are welcome!

Improvements to any of the amalgamated open source tools should be directed towards their respective repositories.

License
-------

[](#license)

Canary is open source software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance43

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 55.7% 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 ~40 days

Recently: every ~50 days

Total

21

Last Release

468d ago

Major Versions

v1.1.0 → v2.0.02022-12-13

v2.1.3 → v3.0.02024-05-03

v3.2.0 → v4.0.02025-02-04

PHP version history (3 changes)v1.0.1PHP ^7.4

v2.0.0PHP ^8.1

v3.1.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/48593081?v=4)[Greg Pinnington](/maintainers/stickeegreg)[@stickeegreg](https://github.com/stickeegreg)

![](https://avatars.githubusercontent.com/u/17043581?v=4)[James Nestoruk](/maintainers/stickeejamesn)[@stickeejamesn](https://github.com/stickeejamesn)

![](https://www.gravatar.com/avatar/b48c05eff46af005b9fa5e924383921172dc8c0f7ec04e9005b2f07ad2f196ae?d=identicon)[stickeepaul](/maintainers/stickeepaul)

---

Top Contributors

[![stickeepaul](https://avatars.githubusercontent.com/u/46900932?v=4)](https://github.com/stickeepaul "stickeepaul (78 commits)")[![stickeeoliver](https://avatars.githubusercontent.com/u/77276885?v=4)](https://github.com/stickeeoliver "stickeeoliver (29 commits)")[![semantic-release-bot](https://avatars.githubusercontent.com/u/32174276?v=4)](https://github.com/semantic-release-bot "semantic-release-bot (17 commits)")[![oliverearl](https://avatars.githubusercontent.com/u/14837181?v=4)](https://github.com/oliverearl "oliverearl (8 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![stickeegreg](https://avatars.githubusercontent.com/u/48593081?v=4)](https://github.com/stickeegreg "stickeegreg (2 commits)")[![ZebraNorth](https://avatars.githubusercontent.com/u/6115962?v=4)](https://github.com/ZebraNorth "ZebraNorth (1 commits)")

---

Tags

laravellintingphpstatic-analysis

### Embed Badge

![Health badge](/badges/stickee-canary/health.svg)

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

###  Alternatives

[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[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.2k26.2M1.8k](/packages/infection-infection)[maglnet/composer-require-checker

CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package

99810.9M671](/packages/maglnet-composer-require-checker)[orchestra/testbench-core

Testing Helper for Laravel Development

27043.7M310](/packages/orchestra-testbench-core)

PHPackages © 2026

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