PHPackages                             decodelabs/integra - 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. decodelabs/integra

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

decodelabs/integra
==================

Composer file inspector and front-end

v0.3.3(7mo ago)115.8k11MITPHPPHP ^8.4CI passing

Since Nov 24Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/decodelabs/integra)[ Packagist](https://packagist.org/packages/decodelabs/integra)[ RSS](/packages/decodelabs-integra/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (25)Used By (1)

Integra
=======

[](#integra)

[![PHP from Packagist](https://camo.githubusercontent.com/17591939fa3a64722de5fddff9317e745a88bf7b889a7f5345ca9c9eba52f0a7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465636f64656c6162732f696e74656772613f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/integra)[![Latest Version](https://camo.githubusercontent.com/4f9079608aa79fd341ed0072cf82782dae4e90834c7a29db0dddc80e19c7d96a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6465636f64656c6162732f696e74656772612e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/integra)[![Total Downloads](https://camo.githubusercontent.com/6354858fdb2751e1ea807834460fbe8c0a7e5d0ae46ad82a4ed32a3a30fc47bf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465636f64656c6162732f696e74656772612e7376673f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/integra)[![GitHub Workflow Status](https://camo.githubusercontent.com/8d78c849cd1a577e17a5adefe44456b7eedd9792fa54377ad193dbe54d6469e8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6465636f64656c6162732f696e74656772612f696e746567726174652e796d6c3f6272616e63683d646576656c6f70)](https://github.com/decodelabs/integra/actions/workflows/integrate.yml)[![PHPStan](https://camo.githubusercontent.com/e25c14ce011edabdd0fbd2e10415b41cc5d66ed11ef3e5b7edd074c5bdd35a2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d3434434331312e7376673f6c6f6e6743616368653d74727565267374796c653d666c6174)](https://github.com/phpstan/phpstan)[![License](https://camo.githubusercontent.com/a9eb4d121e282ecf65b31e5eb06b56810e78e686eaa1b05fbc56f6e710dc8a06/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6465636f64656c6162732f696e74656772613f7374796c653d666c6174)](https://packagist.org/packages/decodelabs/integra)

### Composer file inspector and front-end

[](#composer-file-inspector-and-front-end)

Integra provides inspection tools for your composer.json file and a front end to control composer within your project.

---

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

[](#installation)

This package requires PHP 8.4 or higher.

Install via Composer:

```
composer require decodelabs/integra
```

Usage
-----

[](#usage)

Load a project to work from:

```
use DecodeLabs\Integra\Project;
use DecodeLabs\Monarch;
use DecodeLabs\Systemic;

$project = new Project('path/to/project/', Monarch::getService(Systemic::class));
```

If no path is specified, the current working directory will be used. Integra will search back up the file tree for the nearest composer.json.

```
echo $project->rootDir; // Parent or current dir containing composer.json
echo $project->binDir; // Bin dir relative to composer
echo $project->composerFile; // Location  of composer.json

$project->run('update'); // composer update
$project->runGlobal('update'); // composer global update
$project->runScript('my-script'); // composer run-script my-script
$project->runBin('phpstan', '--debug'); // composer exec phpstan -- --debug
$project->runGlobalBin('phpstan', '--debug'); // composer global exec phpstan -- --debug

if(!$project->hasPackage('package1')) {
    $project->install('package1', 'package2'); // composer require package1 package2
}

$project->installDev('package1', 'package2'); // composer require package1 package2 --dev
$project->installGlobal('package1', 'package2'); // composer global require package1 package2
$project->installDevGlobal('package1', 'package2'); // composer global require package1 package2 --dev
```

### Manifest

[](#manifest)

Access the composer.json manifest:

```
$manifest = $project->getLocalManifest();
echo $manifest->getDescription();

foreach($manifest->getRequiredPackages() as $package) {
    echo $package->name;
}
```

See the Manifest.php class for full data access interface - it maps to the majority of the documented composer config options.

Licensing
---------

[](#licensing)

Integra is licensed under the MIT License. See [LICENSE](./LICENSE) for the full license text.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance67

Regular maintenance activity

Popularity25

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity63

Established project with proven stability

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

Recently: every ~18 days

Total

23

Last Release

232d ago

PHP version history (3 changes)v0.1.0PHP ^8.0

v0.1.8PHP ^8.1

v0.1.11PHP ^8.4

### Community

Maintainers

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

---

Top Contributors

[![betterthanclay](https://avatars.githubusercontent.com/u/1273586?v=4)](https://github.com/betterthanclay "betterthanclay (120 commits)")

---

Tags

composerdeveloper-toolsphp

### Embed Badge

![Health badge](/badges/decodelabs-integra/health.svg)

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

PHPackages © 2026

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