PHPackages                             daa/project-tools - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. daa/project-tools

ActiveProject[Utility &amp; Helpers](/categories/utility)

daa/project-tools
=================

Project development tools

1.0.3(11y ago)526.0k2MITPHPPHP &gt;=5.3.3

Since Feb 4Pushed 9y ago2 watchersCompare

[ Source](https://github.com/danielanteloagra/php-project-tools)[ Packagist](https://packagist.org/packages/daa/project-tools)[ Docs](https://github.com/danielanteloagra/project-tools)[ RSS](/packages/daa-project-tools/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (7)Versions (5)Used By (0)

Php Project Tools
=================

[](#php-project-tools)

Composer based project tools to automate the following:

- Check php files for syntax errors
- Check php files for PSR Coding Standads
- Check php files for possible bugs, unused parameters, suboptimal code, etc.
- Ensure all project tests are being passed
- Lint assets (js, css, etc)

**INSTALLATION:**

Simply add daa/project-tools as a composer dependency.

```
# composer.json

    "require-dev": {
        ...
        "daa/project-tools": "~1.0"
    }

```

**USAGE:**

If you are using git for your project use the scripts provided to configure the automate checks.

```
# composer.json

    "scripts": {
        "post-update-cmd": "Project\\Script\\GitHooks::setup",
        "post-install-cmd": "Project\\Script\\GitHooks::setup"
    }

```

After a composer update --dev, when ever you carry out a git commit, it will ensure there are no errors, coding standard issues or failing tests before processing the commit.

Note: May not work in some IDEs (eg. git hooks are ignored in Netbeans). I tend to use the command line.

You can configure the the pre-commit rules by modifying the $conf array in .git/hooks/pre-commit, the defaults are:

```
$conf = array(
    'excludeTests' => false,
    'codingStandard' => 'PSR2',
    'messRules' => 'controversial',
    ''
);

```

and advanced configuration can be:

```
$conf = array(
    'excludeTests' => true,
    'codingStandard' => array('PSR2', 'symfony2'),
    'messRules' => array('controversial', 'codesize', 'unusedcode'),
    'customChecks' => array(
        array('cmd' => 'scss-lint', 'ext' => 'css'),
        array('cmd' => 'jscs --preset=jquery', 'ext' => 'js')
    )
);

```

As you can see, in this example we hve added linters for our assets, but these extra checks could be anything.

**ALTERNATIVE USE:**

If you are not using git or don't want the checks to be automated hooks, you can use the tools manually.

```
use Project\Tool\CodeQualityTool;

// check an entire composer project
$tool = new CodeQualityTool();
$tool->run();

// check an entire composer project but without executing tests
$tool = new CodeQualityTool();
$tool->excludeTests();
$tool->run();

// check a set of files
$files = array('file1.php', 'file2.php');
$tool = new CodeQualityTool($files);
$tool->run();

// check a set of files without executing tests
$files = array('file1.php', 'file2.php');
$tool = new CodeQualityTool($files, true);
$tool->run();

```

You can also use individual modules

```
use Project\Tool\Checker\SyntaxErrorChecker;
use Project\Tool\Checker\CodingStandardsChecker;

// example of how to use a checker to check whole project
$checker = new SyntaxErrorChecker($projectDir);
if (!$checker->check()) {
    throw new \Exception('There are syntax errors!');
}

// example of how to use a checker to check a set of files
$files = array('file1.php', 'file2.php');
$checker = new SyntaxErrorChecker($projectDir);
if (!$checker->check($files)) {
    throw new \Exception('There are syntax errors!');
}

```

Have a look at Hooks/git/pre-commit and Tools/CodeQualityTool.php for more usage information.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 88.9% 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 ~10 days

Total

4

Last Release

4089d ago

### Community

Maintainers

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

---

Top Contributors

[![danielantelo](https://avatars.githubusercontent.com/u/9608393?v=4)](https://github.com/danielantelo "danielantelo (8 commits)")[![mickaelandrieu](https://avatars.githubusercontent.com/u/1247388?v=4)](https://github.com/mickaelandrieu "mickaelandrieu (1 commits)")

### Embed Badge

![Health badge](/badges/daa-project-tools/health.svg)

```
[![Health](https://phpackages.com/badges/daa-project-tools/health.svg)](https://phpackages.com/packages/daa-project-tools)
```

###  Alternatives

[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[symplify/monorepo-builder

Not only Composer tools to build a Monorepo.

5205.3M82](/packages/symplify-monorepo-builder)[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[shyim/danger-php

Port of danger to PHP

8544.9k](/packages/shyim-danger-php)[acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

32902.4k](/packages/acquia-orca)

PHPackages © 2026

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