PHPackages                             componenta/cqrs-app - 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. componenta/cqrs-app

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

componenta/cqrs-app
===================

Componenta application integration for CQRS discovery compilation

v1.0.0(1mo ago)04MITPHPPHP ^8.4

Since Jun 21Pushed 1mo agoCompare

[ Source](https://github.com/componenta/cqrs-app)[ Packagist](https://packagist.org/packages/componenta/cqrs-app)[ RSS](/packages/componenta-cqrs-app/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (12)Versions (2)Used By (0)

Componenta CQRS App
===================

[](#componenta-cqrs-app)

`componenta/cqrs-app` adds application-level discovery and build-time map compilation for `componenta/cqrs`.

It does not contain runtime middleware, transports, or console workers. Install the relevant optional CQRS packages for those concerns.

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

[](#installation)

```
composer require componenta/cqrs-app
```

Dependencies
------------

[](#dependencies)

DependencyPurposePHP `^8.4`Modern language features and strict types.`componenta/app`Compile cache contributor integration.`componenta/arrayable`Shared array conversion contract.`componenta/class-finder`Class discovery and listener compiler integration.`componenta/config`Config provider integration.`componenta/cqrs`Core CQRS runtime contracts and config keys.`componenta/tokenizer`Source inspection for handler map compilation.`psr/container`Service lookup.What It Registers
-----------------

[](#what-it-registers)

Config sectionEntries`factories`Attribute and compiled-map locators for command handlers, command listeners, and query handlers.`invokables`Command/query handler map compilers, command listener map compiler, and command attribute map compiler/contributor.`ClassFinderConfigKey::LISTENERS`Attribute locators used during discovery.`CompileConfigKey::LISTENER_COMPILERS`Map compilers used during build.`AppConfigKey::COMPILE_CACHE_CONTRIBUTORS`Command attribute map contributor.Usage
-----

[](#usage)

Register the provider together with `componenta/cqrs`:

```
return [
    new Componenta\CQRS\ConfigProvider(),
    new Componenta\CQRS\App\ConfigProvider(),
];
```

Use discovery attributes in application code:

```
use Componenta\CQRS\Command\Attribute\AsCommandHandler;

#[AsCommandHandler]
final readonly class PublishPostHandler
{
    public function __invoke(PublishPostCommand $command): void
    {
        // handle command
    }
}
```

In production, build-time maps should be generated and restored from cache. The app provider switches to plain runtime locators when the environment is production and compiled maps are available.

Optional Runtime Packages
-------------------------

[](#optional-runtime-packages)

Install separate packages for runtime concerns:

PackageAdds`componenta/cqrs-policy`Command/query policy middleware.`componenta/cqrs-retry`Retry middleware.`componenta/cqrs-lock`Resource lock middleware.`componenta/cqrs-transaction-cycle`Cycle Database transaction middleware.`componenta/cqrs-transport`Async transport middleware, contracts, serializer, and worker.`componenta/cqrs-transport-cycle`Cycle Database transport implementation.`componenta/cqrs-transport-console``cqrs:worker` Symfony Console command.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance92

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

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

Unknown

Total

1

Last Release

39d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20490712?v=4)[Andrey Shelamkoff](/maintainers/Shelamkoff)[@Shelamkoff](https://github.com/Shelamkoff)

---

Top Contributors

[![Shelamkoff](https://avatars.githubusercontent.com/u/20490712?v=4)](https://github.com/Shelamkoff "Shelamkoff (2 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/componenta-cqrs-app/health.svg)

```
[![Health](https://phpackages.com/badges/componenta-cqrs-app/health.svg)](https://phpackages.com/packages/componenta-cqrs-app)
```

###  Alternatives

[symfony/dependency-injection

Allows you to standardize and centralize the way objects are constructed in your application

4.2k455.6M9.9k](/packages/symfony-dependency-injection)[illuminate/contracts

The Illuminate Contracts package.

706130.3M14.2k](/packages/illuminate-contracts)[illuminate/container

The Illuminate Container package.

31082.0M2.4k](/packages/illuminate-container)[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k54](/packages/ecotone-ecotone)[symfony/type-info

Extracts PHP types information.

20169.8M273](/packages/symfony-type-info)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k47](/packages/civicrm-civicrm-core)

PHPackages © 2026

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