PHPackages                             kepawni/twilted - 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. kepawni/twilted

ActiveLibrary[Framework](/categories/framework)

kepawni/twilted
===============

A strictly typed PHP 7 CQRS/ES library/framework suited for PhpSpec and striving for highest IDE intellisense comfort

v2.0.1(5y ago)284[1 issues](https://github.com/kepawni/twilted/issues)1GPL-3.0-onlyPHPCI failing

Since Dec 20Pushed 5y agoCompare

[ Source](https://github.com/kepawni/twilted)[ Packagist](https://packagist.org/packages/kepawni/twilted)[ RSS](/packages/kepawni-twilted/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (16)Used By (1)

twilted
=======

[](#twilted)

CQRS and Event Sourcing—The Way I Like To Engineer Domains

Status
------

[](#status)

[![Build Status](https://camo.githubusercontent.com/0fce385496276511181db3cd70daa61050a29bd59775bdd86503e48b1aab1f68/68747470733a2f2f7472617669732d63692e6f72672f6b657061776e692f7477696c7465642e737667)](https://travis-ci.org/kepawni/twilted)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/af962476b114418bf8d229b243a0a59dcc4b16b7162f41adb2b8376dba1c437c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6b657061776e692f7477696c7465642f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/kepawni/twilted/?branch=master)[![Code Intelligence Status](https://camo.githubusercontent.com/fa32554ccd9ad8e712b9e29ba8a781aa743b0f12231e7565359ffcf2a9e47ddd/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6b657061776e692f7477696c7465642f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/code-intelligence)

[read more...](doc/status.md)

Concepts
--------

[](#concepts)

### Serializing instances

[](#serializing-instances)

Instead of relying on PHP's built-in serialization format on the one hand or enforcing the use of a certain format like JSON (even if it is a wise option) on the other hand, we decided to use an own way of simplifying instances for storing them that doesn't get in your way too much but won't cause a lot of extra work either.

[read more...](doc/serializing-instances.md)

### Immutability

[](#immutability)

It is important to eliminate side effects, which also means waving good-bye to setters. For configuring complex instances we use with…($value) methods that can be chained and always return a new instance.

[read more...](doc/immutability.md)

### Project structure

[](#project-structure)

The core namespace \\Kepawni\\Twilted contains nothing but essential interfaces and an abstract class.

However, some basic convenience classes that can be used as an out-of-the-box solution can be found in \\Kepawni\\Twilted\\Basic. These rely heavily on traits to cater for easy reuse while causing minimal coding.

[read more...](doc/structure.md)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

Established project with proven stability

 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 ~49 days

Recently: every ~62 days

Total

14

Last Release

2053d ago

Major Versions

v1.2.2 → v2.0.02020-09-24

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/45966911?v=4)[Ailis Kepawni](/maintainers/kepawni)[@kepawni](https://github.com/kepawni)

---

Top Contributors

[![kepawni](https://avatars.githubusercontent.com/u/45966911?v=4)](https://github.com/kepawni "kepawni (114 commits)")

---

Tags

cqrs-frameworkevent-sourcingintellisenselibraryphp-libraryphp-traitsphp71phpspecplantuml-diagramsscrutinizerstrict-typestraitsuml-class-diagramphpspecevent sourcingcqrs

### Embed Badge

![Health badge](/badges/kepawni-twilted/health.svg)

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

###  Alternatives

[broadway/broadway

Infrastructure and testing helpers for creating CQRS and event sourced applications.

1.5k2.0M53](/packages/broadway-broadway)[broadway/broadway-bundle

Symfony bundle for broadway/broadway.

68853.8k7](/packages/broadway-broadway-bundle)[nwidart/laravel-broadway

A Laravel adapter for the Broadway ES/CQRS package.

12315.0k](/packages/nwidart-laravel-broadway)[event-sourcery/event-sourcery

A Minimalistic PHP Event Sourcing / CQRS Library with GDPR Support

641.5k2](/packages/event-sourcery-event-sourcery)[smoothphp/cqrs-es-framework-laravel

Laravel adapter for the SmoothPhp CQRS-ES-Framework

1546.2k](/packages/smoothphp-cqrs-es-framework-laravel)[ecotone/laravel

Laravel integration for Ecotone

21307.6k3](/packages/ecotone-laravel)

PHPackages © 2026

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