PSR-15 · middleware-first architecture
A headless platform for building modern web applications
Dotkernel is a set of open-source PHP applications - REST API, admin, and queue - that ship assembled on Mezzio and Laminas, over one shared Doctrine domain layer called Core. OAuth2, RBAC, HAL, and a generated OpenAPI spec are wired together on install, not left for you to choose.
Standards
PSR-7 · PSR-11 · PSR-15
Headless Platform
API, Admin, and Queue declare the same Core namespaces - the same entities, repositories, and services. Three deployables that scale independently and never disagree about the domain.
Developer tooling
A production-like environment on your machine, and the context your AI tools need to write Dotkernel code - both ready before anything reaches your users.
Tooling · Local environment
Development Environment
A controlled local workspace for building and testing before release.
AlmaLinux on WSL2 for a RHEL-compatible local stack. One install script configures PHP, Apache, MariaDB, Git, Composer, Node.js, and phpMyAdmin.
Tooling · AI context
Dotboost
Faster AI-assisted development, grounded in Dotkernel's own standards.
Dotkernel context for AI coding tools - current standards, architectural patterns, and framework idioms, so generated code matches the ecosystem instead of guessing at it.
Other skeletons
Not every project needs the full platform. These two skeletons stand on their own, outside the Headless Platform above.
Packages
Small, independent dot-* packages - pull in what you need. Lifecycle status for each lives on the Packages Lifecycle page.
Application
dot-controllercontrollers usable like middleware inside Dotkernel or Mezzio
dot-navigationconfigurable navigation elements, configuration-based approach
Security
dot-auth-socialauthenticate users through social networks, return credentials + user details
dot-rbacRBAC authorization implementation
dot-rbac-guardRBAC handler/controller guard for authorizing app sections
dot-sessionextends and customizes laminas/laminas-session
dot-totpTime-Based One-Time Password (TOTP) authorization component
Tools
dot-cachecache component based on symfony/cache
dot-clibuild console applications based on laminas/laminas-cli
dot-eventextends and customizes laminas/laminas-eventmanager
dot-geoipgeographical details about an IP address
dot-helpershelper structures and classes, based on mezzio/mezzio-helpers
dot-logstructured application logging
dot-mailmail component based on symfony/mailer
dot-makergenerates Dotkernel project files and directories
dot-routercomplex routing, based on mezzio/mezzio-fastroute
Also used, without a dedicated package page: doctrine/orm (object-relational mapper for PHP), doctrine/dbal (DB abstraction, schema introspection).
Contributing and Support
Support
If you need support with the project, join us on Slack.