PHPackages                             appsinet/arc-phpstan - 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. appsinet/arc-phpstan

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

appsinet/arc-phpstan
====================

PHPStan linter for Phabricator's Arcanist

v1.0.3(5y ago)416.1k6[2 PRs](https://github.com/appsinet/arc-phpstan/pulls)Apache-2.0PHPPHP ^5.6 || ^7.0

Since Feb 25Pushed 1y ago2 watchersCompare

[ Source](https://github.com/appsinet/arc-phpstan)[ Packagist](https://packagist.org/packages/appsinet/arc-phpstan)[ Docs](https://github.com/appsinet/arc-phpstan)[ RSS](/packages/appsinet-arc-phpstan/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (4)Dependencies (1)Versions (6)Used By (0)

[![OSSAR](https://github.com/appsinet/arc-phpstan/workflows/OSSAR/badge.svg)](https://github.com/appsinet/arc-phpstan/workflows/OSSAR/badge.svg)

Based on [material-foundation/arc-tslint](https://github.com/material-foundation/arc-tslint) and some improvements made in [sascha-egerer/arc-phpstan](https://github.com/sascha-egerer/arc-phpstan). Provides basic support for `arc lint` to execute `phpstan`.

arc-phpstan
===========

[](#arc-phpstan)

Use [phpstan](https://github.com/phpstan/phpstan) to lint your PHP source code with [Phabricator](http://phabricator.org)'s `arc` command line tool.

Features
--------

[](#features)

phpstan generates warning messages.

Example output:

```
>>> Lint for src/AppBundle/Foo.php:

Error  () phpstan violation
Error: AppBundle\Foo::__construct() does not
call parent constructor from AppBundle\Bar.

          33      * constructor
          34      */
>>>       35     public function __construct()
          36     {
          37         Bar::__construct();
          38         $this->property = 0;

```

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

[](#installation)

phpstan is required. You can follow the [official instructions](https://github.com/phpstan/phpstan#installation) to install and put it on your $PATH, or you can run composer `install` and point the `bin` option to `vendor/bin/phpstan`, as in the example below.

### Project-specific installation

[](#project-specific-installation)

You can add this repository as a git submodule. Add a path to the submodule in your `.arcconfig`like so:

```
{
  "load": ["path/to/arc-phpstan"]
}
```

### Global installation

[](#global-installation)

`arcanist` can load modules from an absolute path. But it also searches for modules in a directory up one level from itself.

You can clone this repository to the same directory where `arcanist` and `libphutil` are located. In the end it will look like this:

```
arcanist/
arc-phpstan/
libphutil/
```

Your `.arcconfig` would look like

```
{
  "load": ["arc-phpstan"]
}
```

Setup
-----

[](#setup)

To use the linter you must register it in your `.arclint` file, as in this example

```
{
  "linters": {
    "phpstan": {
      "type": "phpstan",
      "include": "(\\.php$)",
      "config": "var/build/phpstan.neon", /* optional */
      "bin": "vendor/bin/phpstan", /* optional */
      "level": "0" /* optional */
    }
  }
}
```

License
-------

[](#license)

Licensed under the Apache 2.0 license. See LICENSE for details.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Total

4

Last Release

1990d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/66bf51fb6911c7bed7f048a3123edfd53b7b2bd3add2b6ea472f495ac518f124?d=identicon)[cmmata](/maintainers/cmmata)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (15 commits)")[![cmmata](https://avatars.githubusercontent.com/u/4223148?v=4)](https://github.com/cmmata "cmmata (14 commits)")[![marcorosello](https://avatars.githubusercontent.com/u/7166557?v=4)](https://github.com/marcorosello "marcorosello (3 commits)")[![integer](https://avatars.githubusercontent.com/u/160891?v=4)](https://github.com/integer "integer (2 commits)")[![krafas](https://avatars.githubusercontent.com/u/3889275?v=4)](https://github.com/krafas "krafas (1 commits)")[![magnetik](https://avatars.githubusercontent.com/u/345029?v=4)](https://github.com/magnetik "magnetik (1 commits)")

---

Tags

arc-phpstanarcanistlinterphabricatorphpphpstancomposerPHPStan

### Embed Badge

![Health badge](/badges/appsinet-arc-phpstan/health.svg)

```
[![Health](https://phpackages.com/badges/appsinet-arc-phpstan/health.svg)](https://phpackages.com/packages/appsinet-arc-phpstan)
```

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k43.5M5.2k](/packages/larastan-larastan)[ekino/phpstan-banned-code

Detected banned code using PHPStan

2925.6M92](/packages/ekino-phpstan-banned-code)[shipmonk/dead-code-detector

Dead code detector to find unused PHP code via PHPStan extension. Can automatically remove dead PHP code. Supports libraries like Symfony, Doctrine, PHPUnit etc. Detects dead cycles. Can detect dead code that is tested.

3462.2M52](/packages/shipmonk-dead-code-detector)[szepeviktor/phpstan-wordpress

WordPress extensions for PHPStan

3257.8M898](/packages/szepeviktor-phpstan-wordpress)[staabm/phpstan-dba

2912.3M2](/packages/staabm-phpstan-dba)[staabm/phpstan-todo-by

1991.8M55](/packages/staabm-phpstan-todo-by)

PHPackages © 2026

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