PHPackages                             gacela-project/gacela - 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. gacela-project/gacela

ActiveLibrary[Framework](/categories/framework)

gacela-project/gacela
=====================

Gacela helps you separate your project into modules

1.21.0(3w ago)134203.7k↑371.4%8[4 issues](https://github.com/gacela-project/gacela/issues)[2 PRs](https://github.com/gacela-project/gacela/pulls)8MITPHPPHP &gt;=8.1CI passing

Since Apr 2Pushed 5d ago6 watchersCompare

[ Source](https://github.com/gacela-project/gacela)[ Packagist](https://packagist.org/packages/gacela-project/gacela)[ Docs](https://gacela-project.com)[ Fund](https://chemaclass.com/sponsor)[ RSS](/packages/gacela-project-gacela/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (10)Dependencies (60)Versions (81)Used By (8)

   ![Gacela logo](gacela-logo.svg)

 [ ![GitHub Build Status](https://github.com/gacela-project/gacela/actions/workflows/tests.yml/badge.svg) ](https://github.com/gacela-project/gacela/actions/workflows/tests.yml) [ ![Packagist Downloads](https://camo.githubusercontent.com/80a0a18ea23b7a614798bfdacdf82325cf44bc0b20b488bd872d2b11a147c0bf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f676163656c612d70726f6a6563742f676163656c61) ](https://packagist.org/packages/gacela-project/gacela) [ ![Psalm Type-coverage Status](https://camo.githubusercontent.com/22248434eb05330a02983fc79511b60e43631918041434911a3ac8d1c84bc240/68747470733a2f2f73686570686572642e6465762f6769746875622f676163656c612d70726f6a6563742f676163656c612f636f7665726167652e737667) ](https://shepherd.dev/github/gacela-project/gacela) [ ![Mutation testing badge](https://camo.githubusercontent.com/0ec8cabe7082f16778695fa585a2884b4aedac7272b6d571c41f0c66cfd3de4e/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f7374796c653d666c61742675726c3d687474707325334125324625324662616467652d6170692e737472796b65722d6d757461746f722e696f2532466769746875622e636f6d253246676163656c612d70726f6a656374253246676163656c612532466d61696e) ](https://dashboard.stryker-mutator.io/reports/github.com/gacela-project/gacela/main) [ ![MIT Software License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667) ](https://github.com/gacela-project/gacela/blob/main/LICENSE)

Gacela — build modular PHP applications
---------------------------------------

[](#gacela--build-modular-php-applications)

Gacela normalizes module boundaries so parts of your application communicate through a single entry point, without leaking internals.

Each module is built from four pillars — only the first two are required:

- [**Facade**](https://gacela-project.com/docs/facade/) — public API, the only way in
- [**Factory**](https://gacela-project.com/docs/factory/) — creates internal services
- [**Provider**](https://gacela-project.com/docs/provider/) — wires external dependencies *(optional)*
- [**Config**](https://gacela-project.com/docs/config/) — reads project config *(optional)*

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

[](#installation)

```
composer require gacela-project/gacela
```

Requires PHP 8.3+. Coming from 1.x? See [UPGRADE.md](UPGRADE.md).

Module structure
----------------

[](#module-structure)

```
app/
├── gacela.php
├── config/
└── src/
    └── Blog/
        ├── BlogFacade.php
        ├── BlogFactory.php
        ├── BlogProvider.php
        └── BlogConfig.php

```

That is what `make:module App/Blog` below writes. Pass `--short-name` for `Facade.php` instead of `BlogFacade.php` — both resolve; the prefix is the default because it survives being read out of context.

CLI
---

[](#cli)

```
vendor/bin/gacela init                  # scaffold gacela.php
vendor/bin/gacela make:module App/Blog  # scaffold a module
vendor/bin/gacela                       # every command
```

Modules can be inspected, validated and prepared for production — see [CLI commands](docs/cli.md).

Documentation
-------------

[](#documentation)

Start with [getting started](docs/getting-started.md), then [getting a dependency](docs/getting-a-dependency.md) — the one that answers "how do I reach *that* from *here*". [`docs/`](docs/README.md) is the full index; the rest:

- [Upgrading from 1.x](UPGRADE.md)
- [CLI commands](docs/cli.md)
- [Container configuration](docs/container-configuration.md) — bindings, contextual bindings, attributes, hooks
- [Caching](docs/caching.md) and [cacheable methods](docs/cacheable-methods.md)
- [Static analysis (PHPStan / Psalm)](docs/static-analysis.md)
- [Module health checks](docs/module-health-checks.md)
- [Events](docs/events.md)
- [Testing](docs/testing.md)
- [Opcache preload](docs/opcache-preload.md) and [production performance](docs/production-performance.md)
- Full reference: [gacela-project.com](https://gacela-project.com/)
- [Symfony bundle](symfony-bridge/README.md) — bootstrap Gacela from the kernel, reach Symfony services, `bin/console gacela:*`
- [Laravel provider](laravel-bridge/README.md) — bootstrap Gacela when the app boots, reach Laravel services, `artisan gacela:*`
- Examples:
    - [gacela-example](https://github.com/gacela-project/gacela-example)
    - [symfony-gacela-example](https://github.com/gacela-project/symfony-gacela-example) — Gacela with Symfony 7.4
    - [laravel-gacela-example](https://github.com/gacela-project/laravel-gacela-example) — Gacela with Laravel 12

Contributing
------------

[](#contributing)

Report [issues](https://github.com/gacela-project/gacela/issues), share [ideas](https://github.com/gacela-project/gacela/discussions), or open a [pull request](.github/CONTRIBUTING.md).

---

> Inspired by [Spryker](https://github.com/spryker).

###  Health Score

67

—

FairBetter than 99% of packages

Maintenance97

Actively maintained with recent releases

Popularity50

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 83.7% 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 ~29 days

Recently: every ~2 days

Total

68

Last Release

24d ago

Major Versions

0.32.0 → 1.0.02023-01-01

PHP version history (3 changes)0.1.0PHP &gt;=7.4

1.0.0PHP ^8.0, &lt;8.3

1.7.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d166420c6770c5941e10bd68b2d26501eabb432e280d8e6eba0a344bcc1e5ae?d=identicon)[Chemaclass](/maintainers/Chemaclass)

![](https://avatars.githubusercontent.com/u/6381924?v=4)[Jesus Valera Reales](/maintainers/JesusValeraDev)[@JesusValeraDev](https://github.com/JesusValeraDev)

---

Top Contributors

[![Chemaclass](https://avatars.githubusercontent.com/u/5256287?v=4)](https://github.com/Chemaclass "Chemaclass (1712 commits)")[![JesusValeraDev](https://avatars.githubusercontent.com/u/6381924?v=4)](https://github.com/JesusValeraDev "JesusValeraDev (312 commits)")[![localheinz](https://avatars.githubusercontent.com/u/605483?v=4)](https://github.com/localheinz "localheinz (8 commits)")[![antonio-gg-dev](https://avatars.githubusercontent.com/u/13595197?v=4)](https://github.com/antonio-gg-dev "antonio-gg-dev (5 commits)")[![webcraftniray](https://avatars.githubusercontent.com/u/4202977?v=4)](https://github.com/webcraftniray "webcraftniray (5 commits)")[![jenshaase](https://avatars.githubusercontent.com/u/176220?v=4)](https://github.com/jenshaase "jenshaase (2 commits)")[![alexandrajulius](https://avatars.githubusercontent.com/u/23189414?v=4)](https://github.com/alexandrajulius "alexandrajulius (1 commits)")

---

Tags

frameworkgacelalibrarymodularphpphpframeworkkernelmodular

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

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

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

PHPackages © 2026

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