PHPackages                             componenta/app-console - 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. [CLI &amp; Console](/categories/cli)
4. /
5. componenta/app-console

ActiveLibrary[CLI &amp; Console](/categories/cli)

componenta/app-console
======================

Console runtime integration for Componenta applications

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

Since Jun 22Pushed 1mo agoCompare

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

READMEChangelog (1)Dependencies (15)Versions (2)Used By (3)

Componenta App Console
======================

[](#componenta-app-console)

Console runtime integration for Componenta applications. The package connects `componenta/app` with Symfony Console, registers console boot targets, provides a command registry, and contributes framework maintenance commands.

Use this package when an application has CLI commands. It does not provide the base application kernel; that belongs to `componenta/app`.

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

[](#installation)

```
composer require componenta/app-console
```

The package exposes `Componenta\App\Console\ConfigProvider` through Composer metadata, so `componenta/composer-plugin` can add it to the generated provider file.

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

[](#dependencies)

The package requires PHP `^8.4`, `componenta/app`, `componenta/class-finder`, `componenta/config`, `componenta/di`, `componenta/error-handler`, `componenta/path-resolver`, `componenta/reflection`, `componenta/var-export`, PSR-11, PSR-3, Symfony Console, Symfony EventDispatcher, and Symfony Lock.

Registered Services
-------------------

[](#registered-services)

`ConfigProvider` registers:

Service or config keyPurpose`ConsoleAppAdapter`Creates a console application for `Scope::CLI`.`ConsoleBootTargetAdapter`Adapts the console application to a boot target.`ConsoleBootloader`Boots console commands into the target registry.`ConsoleCommandRegistryInterface`Alias to `ConsoleCommandRegistry`.`EventDispatcherFactoryInterface`Factory for Symfony Console event dispatchers.`ConfigKey::COMMANDS`List of command service ids registered by packages or the application.Runtime Behavior
----------------

[](#runtime-behavior)

`ConsoleBootloader` runs in console scope. It reads all configured command service ids from `Componenta\App\Console\ConfigKey::COMMANDS`, resolves them from the container, and registers them in the Symfony Console application.

In development mode it also scans the class iterator for Symfony `#[AsCommand]` attributes. Attribute-discovered commands are skipped when the same class was already registered through config. In production mode command discovery is disabled; commands must be present in the built configuration.

Application-local commands can be registered from `config/console.php` when that file is loaded by the application config graph:

```
use App\Console\ImportPostsCommand;
use Componenta\App\Console\ConfigKey;

return [
    ConfigKey::COMMANDS => [
        ImportPostsCommand::class,
    ],
];
```

Packages should contribute commands from their own `ConfigProvider` by appending to the same key.

Maintenance Commands
--------------------

[](#maintenance-commands)

The package registers these commands:

CommandPurpose`app:build`Writes build cache files for configuration and the DI container. Must run with `APP_ENV=development` so it builds from source configuration instead of existing production cache.`app:preload`Generates `preload.php` from existing build cache artifacts.`app:cache:clear`Clears build, development, and runtime cache directories. Use `--build`, `--dev`, or `--runtime` to limit the scope.Public API
----------

[](#public-api)

- `ConsoleCommandRegistryInterface` stores command definitions for the console application.
- `ConsoleBootTargetInterface` is the boot target for packages that want to add commands.
- `InputFactoryInterface`, `OutputFactoryInterface`, and `IOFactory` adapt Symfony Console input and output.
- `ConfigKey::COMMANDS` is the production-safe command registration point.

Related Packages
----------------

[](#related-packages)

- [`componenta/app`](https://github.com/componenta/app/blob/main/README.md) explains scopes, adapters, and bootloaders.
- [`componenta/error-handler`](https://github.com/componenta/error-handler/blob/main/README.md) provides the error handling contracts used by console listeners.
- [`componenta/cycle-app`](https://github.com/componenta/cycle-app/blob/main/README.md) contributes `db:*` commands.
- [`componenta/router-app`](https://github.com/componenta/router-app/blob/main/README.md) contributes `router:list`.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance92

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community10

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

38d 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 (1 commits)")

### Embed Badge

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

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

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6942.5M426](/packages/drupal-core-recommended)[oro/platform

Business Application Platform (BAP)

645143.5k116](/packages/oro-platform)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M607](/packages/shopware-core)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M215](/packages/sulu-sulu)

PHPackages © 2026

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