PHPackages                             brunocfalcao/cerebrus - 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. brunocfalcao/cerebrus

ActiveLibrary

brunocfalcao/cerebrus
=====================

Session management for data that needs to persist connect to a session id

0213PHP

Since Aug 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/brunocfalcao/cerebrus)[ Packagist](https://packagist.org/packages/brunocfalcao/cerebrus)[ RSS](/packages/brunocfalcao-cerebrus/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![](https://camo.githubusercontent.com/c0ede5dc34ebda1fd1543462cfe6a71154e0e9e2ba02d3e21d8faf14136f94d8/68747470733a2f2f6173736574732e776179676f752e636f6d2f666c616d652d6769746875622d6865616465722e6a7067)](https://camo.githubusercontent.com/c0ede5dc34ebda1fd1543462cfe6a71154e0e9e2ba02d3e21d8faf14136f94d8/68747470733a2f2f6173736574732e776179676f752e636f6d2f666c616d652d6769746875622d6865616465722e6a7067)

[![Latest Stable Version](https://camo.githubusercontent.com/cd6a438ff728a190957d279a961a50c266604f556e73f65885f0ccf959498486/68747470733a2f2f706f7365722e707567782e6f72672f6272756e6f6366616c63616f2f666c616d652f762f737461626c652e737667)](https://packagist.org/packages/brunocfalcao/flame)[![License](https://camo.githubusercontent.com/e980a566315a9b309fd53f08b6ce0562b2ba1ca41d962bdc3b42289512d8a410/68747470733a2f2f706f7365722e707567782e6f72672f6272756e6f6366616c63616f2f666c616d652f6c6963656e73652e737667)](https://packagist.org/packages/brunocfalcao/flame)[![Style CI](https://camo.githubusercontent.com/c411417eb3a64e3b8865f92733153c3c80a0a9507b29a372d0c76e0ccdfb9917/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3134353137373937362f736869656c64)](https://github.styleci.io/repos/145177976)

About Flame
-----------

[](#about-flame)

Flame is a Feature Development-driven framework that will improve the way you structure and develop your Laravel application features.

This free package will allow you to:

- Create your features organized in a standard code-convention way, each of them inside a directory.
- Create and re-use "intelligent" widgets, called Twinkles, that will make you improve your layout code structure.
- Render Panels and Twinkles automatically given the route action that it's being called at a request.
- Be able to execute Twinkle controller actions prior to its rendering on the screen.
- Structure your application as feature modules, having a much better code readability, structure and reusability!

Why Flame
---------

[](#why-flame)

I've built Flame because I was starting to have medium size web apps (like [Laraning](https://www.laraning.com) or [Laraflash](https://www.laraflash.com)) with a lot of Blade views, Blade Components, etc. It was starting to be difficult to organize my features in a way that I could load data inside those views given for the respective controller action that I was running at a certain moment.

> A thought came to me: "What if I have a way to know automatically what actions am I running and then automatically load my graphical layout accordingly to that action, reusing the layout and not just create more and more views?"

That's where Flame started. Flame will automate this behaviour for you. Let's see how.

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

[](#installation)

You can install this package via composer using this command:

```
composer require brunocfalcao/flame
```

###### The package will automatically register itself (using [auto-discover](https://laravel-news.com/package-auto-discovery)).

[](#the-package-will-automatically-register-itself-using-auto-discover)

Next step is to publish the flame.php configuration file into your config folder.

```
php artisan vendor:publish --tag=flame-configuration
```

All done! 😄

How it works
------------

[](#how-it-works)

> The flame.php configuration file already have an entry to put all your features in the App\\Flame\\Features namespace.

Create a new feature using the following command:

```
php artisan make:feature
```

Select the "flame" namespace group, then create a "Manage Cars" feature, and the action "index". At the end, the route example that the command give you will be:

```
Route::get('manage-cars', '\App\Flame\Features\ManageCars\Controllers\ManageCarsController@index')
     ->name('manage-cars.index');
```

##### 👉 Copy+Paste this route example to your web.php file (or other route file you're using with web middleware).

[](#point_right-copypaste-this-route-example-to-your-webphp-file-or-other-route-file-youre-using-with-web-middleware)

##### 💾 A new folder "ManagesCars" is created inside your "app\\Flame\\Features" folder.

[](#floppy_disk-a-new-folder-managescars-is-created-inside-your-appflamefeatures-folder)

#### Feature "Manage Cars" file structure

[](#feature-manage-cars-file-structure)

```
  + ManageCars
    + Controllers
      > ManageCarsController.php
      > WelcomeController.php
    + Panels
      > index.blade.php
    + Twinkles
      > welcome.blade.php
```

Let's now see what was scaffolded on each of those files. The magic starts ❤️ !

##### Controllers/ManageCarsController.php

[](#controllersmanagecarscontrollerphp)

```
class ManageCarsController extends Controller
{
    public function index()
    {
        return flame();
    }
```

🎉 This is where you mapped your route file You just need to return the flame() helper so Flame will load your respective Panel and Twinkles for the "index" action. Meaning, if your Twinkles have the "index" action defined, they will run prior to the Panel content rendering.

> In case you don't have a Panel with the same name, then it will fall back to default.blade.php. If you have a Panel with this name, it will be loaded for all of your actions that don't have a specific Panel action. Double sweet!

##### Panels/welcome.blade.php

[](#panelswelcomebladephp)

```
@twinkle('welcome')
```

The Twinkle works like an "intelligent widget". It will render content defined in your Twinkes/ folder, given the argument passed. In this case, the Twinkle will load the "welcome.blade.php".

BUT! More magic happens ❤️ ...

Before rendering the Twinkle, it will try to find its own respective controller (studly case) name. In our case we do have it in the Controllers/WelcomeController.php, so let's check it:

##### Controllers/WelcomeController.php

[](#controllerswelcomecontrollerphp)

```
class WelcomeController extends Controller
{
    public function index()
    {
        return ['text' => 'Hi there! This is a Twinkle!'];
    }
```

Since there is the same action defined for the current route action running, it will use reflection to run the method and pass the data as an array. So you can then use it inside your Twinkle as a [Blade variable](https://laravel.com/docs/5.7/blade#displaying-data). Meaning on this case, it will run the "index" method and return the data to the Welcome Twinkle.

> The Twinkle methods also work with implicit binding. Meaning if you define your arguments from the route parameters they will be dynamically injected into your method arguments!

Current development status
--------------------------

[](#current-development-status)

- Finish core development.
- Finish identified issues/improvements for Alpha release 0.1.x.
- Close Alpha (0.1.x) release.
- Finish identified issues/improvements for Beta release 0.2.x.
- Close Beta (0.2.x) release.
- Test coverage &gt; 90%.
- Finalize documentation.
- Finalize video tutorials.
- Release for General Public use.

Getting started
---------------

[](#getting-started)

Flame creates a demo route on your /flame url. You can try it and should see:

[![](https://camo.githubusercontent.com/bec89c9f5b331ced8b398f238a20b7dc3a11f8ca1e23bccbffc45f8c76007057/68747470733a2f2f666c616d652e6272756e6f66616c63616f2e6d652f6173736574732f6769746875622f707265766965772e6a7067)](https://camo.githubusercontent.com/bec89c9f5b331ced8b398f238a20b7dc3a11f8ca1e23bccbffc45f8c76007057/68747470733a2f2f666c616d652e6272756e6f66616c63616f2e6d652f6173736574732f6769746875622f707265766965772e6a7067)

This means that you have can see the Demo feature located in the Brunocfalcao\\Flame\\Features\\Demo namespace.

Creating your first Feature
---------------------------

[](#creating-your-first-feature)

Simple as this. Just write the following command:

```
php artisan make:feature
```

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

[](#contributing)

At the moment you don't need to contribute since Flame is still in development.

License
-------

[](#license)

Waygou Flame is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity17

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/525c935c766b8289c38b87a2453f5b1480b2025b23ac51cfb41f46deef8469ec?d=identicon)[brunofalcao](/maintainers/brunofalcao)

---

Top Contributors

[![brunocfalcao](https://avatars.githubusercontent.com/u/34269950?v=4)](https://github.com/brunocfalcao "brunocfalcao (12 commits)")

### Embed Badge

![Health badge](/badges/brunocfalcao-cerebrus/health.svg)

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

PHPackages © 2026

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