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.
Authentication
dot-authenticationcore authentication interfaces
dot-auth-socialFacebook auth via oauth2-client
Authorization
dot-authorizationcore authorization interfaces
dot-rbacRBAC implementation
dot-rbac-guardRBAC for authorizing app sections
Logging & error handling
dot-logstructured application logging
dot-errorhandlercentralized error handling
Session
dot-sessionextends laminas-session
dot-flashmessengershort-lived session messages
dot-cacheextends symfony/cache
Database
doctrine/ormobject-relational mapper for PHP
doctrine/dbalDB abstraction, schema introspection
dot-data-fixturesextends doctrine/data-fixtures
Tools
dot-cliextends laminas-cli
dot-eventextends laminas-eventmanager
dot-helpersshared utility helpers
Contributing and Support
Support
If you need support with the project, join us on Slack.