PHPackages                             mr-luke/framekit - 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. mr-luke/framekit

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

mr-luke/framekit
================

Event Sourcing package

1.0.0(5y ago)25.0k1[4 PRs](https://github.com/mr-luke/framekit/pulls)MITPHPPHP &gt;=7.1

Since Dec 10Pushed 1y agoCompare

[ Source](https://github.com/mr-luke/framekit)[ Packagist](https://packagist.org/packages/mr-luke/framekit)[ RSS](/packages/mr-luke-framekit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (25)Used By (0)

Framekit
========

[](#framekit)

[![Latest Stable Version](https://camo.githubusercontent.com/34aa592a417ae51e3e9bbf06760fd1602e016b3165bf03e1d58edfbdf58f9238/68747470733a2f2f706f7365722e707567782e6f72672f6d722d6c756b652f6672616d656b69742f76)](//packagist.org/packages/mr-luke/framekit)[![Total Downloads](https://camo.githubusercontent.com/bad4e2e582457b0036669151caf1a3da481ea35155b840e5b5a04f45212bbea5/68747470733a2f2f706f7365722e707567782e6f72672f6d722d6c756b652f6672616d656b69742f646f776e6c6f616473)](//packagist.org/packages/mr-luke/framekit)[![License](https://camo.githubusercontent.com/ce205506695dee6dd5597da90998d8d30536c5374a212748e3d5b549dc75327f/68747470733a2f2f706f7365722e707567782e6f72672f6d722d6c756b652f6275732f6c6963656e7365)](//packagist.org/packages/mr-luke/framekit)

[![Tests Workflow](https://github.com/mr-luke/framekit/actions/workflows/run-testsuit.yaml/badge.svg)](https://github.com/mr-luke/framekit/actions/workflows/run-testsuit.yaml/badge.svg)[![Quality Gate Status](https://camo.githubusercontent.com/7b2335145bf5bb3d0edbc9bddae500bb208d764904d9ae6a80acade653a792cf/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6d722d6c756b655f6672616d656b6974266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/summary/new_code?id=mr-luke_framekit)[![Security Rating](https://camo.githubusercontent.com/812bc9e94fd505809f760a1a5c6d90c893e47f1b247fdbc1144b9c420d676772/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6d722d6c756b655f6672616d656b6974266d65747269633d73656375726974795f726174696e67)](https://sonarcloud.io/summary/new_code?id=mr-luke_framekit)[![Reliability Rating](https://camo.githubusercontent.com/3a6ea46a875771e8eb03f07a5a90ec3381bfa0aacc347374f5d3cad198b4a144/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d6d722d6c756b655f6672616d656b6974266d65747269633d72656c696162696c6974795f726174696e67)](https://sonarcloud.io/summary/new_code?id=mr-luke_framekit)

Getting Started
---------------

[](#getting-started)

Framekit is Laravel package built to speed up DDD modeling with EventSourcing. It implements CQRS architecture. This version will be replaced by `2.0.0` where some concepts will be re-written.

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

[](#installation)

To install through composer, simply put the following in your composer.json file and run `composer update`

```
{
    "require": {
        "mr-luke/framekit": "~1.0"
    }
}
```

Or use the following command

```
composer require "mr-luke/framekit"
```

Configuration
-------------

[](#configuration)

To use `Framekit` we need to set up some `env` variables. To see all of them just run command:

```
php artisan vendor:publish
```

Base Components
---------------

[](#base-components)

### `\Framekit\AggregateRoot`

[](#framekitaggregateroot)

It's main build up component. Due to DDD building blocks it's our root or Model tree. The heart of an aggregate is our Entity model.

### `\Framekit\State`

[](#framekitstate)

This is our Entity abstract, we call it State.

### `\Framekit\Event`

[](#framekitevent)

Every Aggregate uses Events as state flow control blocks.

### `\Framekit\Projection`

[](#framekitprojection)

Since we work with CQRS, it's an instruction how to decompose our model to Query side model.

### `\Framekit\Retrospection`

[](#framekitretrospection)

EventSourcing gives us an ability to walk along the stream to make a retrospection of Events.

There are many more elements to explore...

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 93.8% 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 ~71 days

Recently: every ~119 days

Total

19

Last Release

1052d ago

Major Versions

1.0.0 → 2.0.0-alpha.52020-12-28

PHP version history (4 changes)v1.0.0-rc.23PHP &gt;=7.1

2.0.0-alpha.5PHP &gt;=7.4

2.0.0-beta.7PHP ^8.0

2.0.0-rc.1PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/6df8e77a6f4e11408a5658f9127c96ba429354d6ba71a9a5b43966e19455ed17?d=identicon)[mr-luke](/maintainers/mr-luke)

---

Top Contributors

[![mr-luke](https://avatars.githubusercontent.com/u/12121875?v=4)](https://github.com/mr-luke "mr-luke (60 commits)")[![hsmusz](https://avatars.githubusercontent.com/u/4090847?v=4)](https://github.com/hsmusz "hsmusz (3 commits)")[![plumthedev](https://avatars.githubusercontent.com/u/26173777?v=4)](https://github.com/plumthedev "plumthedev (1 commits)")

---

Tags

dddevent-sourcingeventstorelaravel-5-packagelaravelevent sourcing

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mr-luke-framekit/health.svg)

```
[![Health](https://phpackages.com/badges/mr-luke-framekit/health.svg)](https://phpackages.com/packages/mr-luke-framekit)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[whitecube/laravel-timezones

Store UTC dates in the database and work with custom timezones in the application.

106106.2k](/packages/whitecube-laravel-timezones)[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)[forxer/laravel-gravatar

A library providing easy gravatar integration in a Laravel project.

4235.6k](/packages/forxer-laravel-gravatar)[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)

PHPackages © 2026

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