Meritum is a collection of composable PHP libraries built on the principle of natural aristoi — components that earn their place through demonstrated value, not convention. No all-or-nothing frameworks, no hidden opinions: each package does one thing, has hard boundaries, and can be replaced when something better comes along.
View the GitHub organization →
Get Started#
The fastest path to a working application is a scaffold. Both scaffolds ship with a pre-wired kernel, a devenv.nix, and a placeholder test suite.
Sage — CLI Application
composer create-project meritum/sage my-appPre-wired meritum/cli kernel, devenv shell, ready to add commands.
Virtus — HTTP API
composer create-project meritum/virtus my-apiPre-wired meritum/http kernel, built-in server starts on port 8000.
Explore the Docs#
- georgeff/kernel — dependency injection, modules, and the boot lifecycle. Start here to understand how everything fits together.
- meritum/http — HTTP kernel, routing, and PSR-15 middleware.
- meritum/cli — console kernel and command registration.
- meritum/validation — attribute-driven validation with a fluent rule DSL.
- meritum/database — active-record model, repository pattern, and casting.
- meritum/migrations — schema migration runner with a CLI interface.
- meritum/serialization — pluggable object serialization with item, collection, and pagination support.
- meritum/logger — minimal PSR-3 logger that writes newline-delimited JSON to stdout.
- meritum/structured-logging — domain exception model, translation pipeline, PSR-3 reporting, and correlation ID enrichment.
- meritum/http-exception-handler — translates exceptions into structured JSON error responses.