PHPackages                             componenta/cycle-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. [Framework](/categories/framework)
4. /
5. componenta/cycle-app

ActiveLibrary[Framework](/categories/framework)

componenta/cycle-app
====================

Componenta application integration for Cycle ORM discovery and console commands

v1.0.1(1mo ago)08MITPHPPHP ^8.4

Since Jun 16Pushed 3d agoCompare

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

READMEChangelog (3)Dependencies (14)Versions (3)Used By (0)

Componenta Cycle App
====================

[](#componenta-cycle-app)

Application integration for `componenta/cycle`. This package connects Cycle runtime services to framework discovery, compiled configuration, and console commands.

Use it in a Componenta application that wants framework-managed Cycle discovery. Libraries should depend on `componenta/cycle` only.

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

[](#installation)

```
composer require componenta/cycle-app
```

Register its provider after the Cycle runtime provider:

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

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

[](#related-packages)

PackageWhy it matters here`componenta/cycle`Owns repositories, data fetchers, filters, typecasts, and runtime factories.`componenta/class-finder`Finds entities and embeddables in configured directories.`componenta/app`Runs cache compilation and chooses development or production loading.`cycle/orm`Consumes the final ORM configuration.What It Adds
------------

[](#what-it-adds)

The package provides app-level integration for:

- entity and embeddable discovery
- locator services backed by the configured class iterator
- `ClassFinderConfigKey::LISTENERS` entries for `EntityLocator` and `EmbeddingLocator`
- Cycle-related console commands registered through `Componenta\App\Console\ConfigKey::COMMANDS`
- cache/compiler integration used by the application build process

Console Commands
----------------

[](#console-commands)

When `componenta/app-console` is installed, this package contributes the database commands below to the shared console command graph. They are registered through configuration, so they are available in production builds without relying on attribute scanning.

CommandPurpose`db:create`Create the configured database when the driver supports it.`db:generate`Generate migrations from the current ORM schema diff.`db:schema`Generate and cache the Cycle ORM schema.`db:migrate`Execute pending migrations.`db:rollback`Roll back migrations.`db:status`Show migration status.`db:sync`Generate and apply migrations, then regenerate ORM schema.```
php bin/console.php db:status
php bin/console.php db:migrate
php bin/console.php db:sync
```

Development Mode
----------------

[](#development-mode)

In development, the application may scan configured source directories and derive Cycle mappings from discovered classes. This keeps module configuration focused on the classes it owns.

Production Mode
---------------

[](#production-mode)

In production, the application should use compiled config and generated cache artifacts. It should not scan source directories or rebuild ORM metadata during each request.

Boundaries
----------

[](#boundaries)

This package should not contain persistence behavior that a runtime consumer needs directly. Repositories, data fetchers, filters, typecasts, and runtime factories belong to `componenta/cycle`.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance97

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

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

Every ~10 days

Total

2

Last Release

33d 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 (3 commits)")

###  Code Quality

TestsPest

### Embed Badge

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

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.6k](/packages/laravel-framework)[drupal/core-recommended

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

6942.5M426](/packages/drupal-core-recommended)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[sulu/sulu

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

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

The SilverStripe framework

7313.7M2.8k](/packages/silverstripe-framework)[oro/platform

Business Application Platform (BAP)

645143.5k116](/packages/oro-platform)

PHPackages © 2026

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