Modern web development moves fast. When building a web application from scratch, developers often begin with a clear idea — a business model, some planned features, and a database schema. Frameworks like Symfony, Laravel, or CakePHP provide a solid starting point, and it all seems simple at first.
But then reality strikes.
Beyond the business logic and core functionality, there are countless infrastructure requirements every app eventually needs:
- User authentication and password recovery
- Role-based access control and permissions
- Administration dashboards
- Navigation menus
- Configurable settings
- Widgets, plugins, and theming support
- Media handling and file management
- Localization, logging… the list goes on.
These are not unique selling points. They are expected features — necessary, but repetitive and time-consuming to build, especially when starting from scratch for each new project.
So developers turn to content management systems (CMSs) or boilerplate platforms. But that too introduces new challenges.
When CMSs become a constraint
Many popular CMSs are rich in features, but they come at a cost:
- Steep learning curves
- Rigid architecture that forces compromise
- Difficult-to-customize interfaces
- Bloated codebases with limited developer ergonomics
- Plugins that do too much, or not enough
Instead of empowering developers, they often introduce friction. Customizing behavior becomes a struggle. Debugging becomes guesswork. The project’s momentum slows.
Introducing BakeKit — If you can make it, bake it!
BakeKit was created to solve this dilemma.
Built on the solid foundation of CakePHP, BakeKit is not just another CMS — it’s a developer-first application starter kit that offers a flexible admin panel, modular architecture, and modern UI, while staying out of the way when you don’t need it.
It doesn’t try to control your application. It simply provides the essentials that every app needs — thoughtfully designed, easily extendable, and fully under your control.
A CakePHP developer’s dream
If you know the CakePHP Cookbook, you know BakeKit.
BakeKit is deeply aligned with the CakePHP way of doing things. You can build plugins and themes just as you would for any CakePHP app. There's no new plugin format, no rewritten rendering layer, no complex abstractions to learn.
You only need to slightly adapt your plugin if:
- You want to store plugin settings in the CMS database via the built-in Settings interface
- You want to dynamically retrieve plugin actions and add them to the admin left menu accordion
- You want to expose your plugin's cells (CakePHP’s mini-controllers) as dynamic blocks in user-defined regions
BakeKit introduces a powerful block and region system, allowing users to dynamically compose content areas of the site. Blocks can be plain text, HTML, or fully dynamic, powered by your plugin’s cells. And with CMS settings attached to each block instance, your plugin's widgets can be fully configurable from the admin panel — without additional code.
Composer integration, done right
BakeKit comes with Composer installed during CMS setup, and makes it seamlessly available through a local bin/composer
executable. This allows the system to manage packages reliably, without assuming Composer is globally installed or configured.
Even better, BakeKit uses Composer programmatically. Whenever you load a plugin or theme, BakeKit:
- Automatically updates the autoloader with
composer dump-autoload -o
- Ensures all your plugin classes are instantly available without restarting anything
- Keeps your project lean and production-optimized with classmap autoloading
This workflow means zero friction for plugin and theme developers. You can focus on writing clean CakePHP code, and BakeKit will take care of the Composer plumbing behind the scenes.
Why CakePHP?
In a world dominated by Laravel and Symfony, CakePHP remains a hidden gem for developers who prioritize rapid development, sensible conventions, and clarity over complexity.
BakeKit is built on CakePHP because:
✅ Convention Over Configuration: CakePHP’s philosophy reduces boilerplate and speeds up development without sacrificing flexibility.
✅ Built-In ORM: Its powerful and intuitive ORM makes dealing with database entities clean and consistent.
✅ Batteries Included: CakePHP provides tools for authentication, authorization, form handling, validation, and testing — right out of the box.
✅ Lightweight but Capable: It offers structure without bloat, making it a great balance between Laravel’s ease and Symfony’s enterprise rigor.
✅ Long-Term Stability: CakePHP has been around for over a decade with a proven track record of security and backward-compatible upgrades.
While Symfony is a great choice for large-scale, highly structured enterprise applications, it can be overly verbose for projects that need to move quickly. CakePHP lets you build with confidence, without drowning in configuration or complex service layers.
Why BakeKit?
✅ Admin Panel Included
A clean, responsive, modern AdminLTE-powered interface — with menus, CRUD tools, and dashboard widgets out of the box.
✅ Authentication & Authorization
User accounts, roles, and permissions are already baked in. Easily extendable to fit your logic.
✅ Menus, Plugins, Themes
Structured for modular growth. Whether you need multilingual support, custom UI blocks, or reusable plugin features, the architecture supports it.
✅ CakePHP Core
No reinvention. Leverage the power, familiarity, and rapid development capabilities of CakePHP. BakeKit integrates seamlessly with your models, controllers, and views.
✅ Developer Friendly
No surprises. No magic. Just clean, maintainable code and the flexibility to override or extend anything.
Bake smarter, not harder
BakeKit is ideal for developers who:
- Need a custom web application with typical admin features
- Want to start fast, without reinventing user/role systems
- Prefer flexibility over rigid CMS patterns
- Work with CakePHP and want something that feels native
- Care about clean code, maintainability, and control
Whether you’re developing internal business tools, SaaS platforms, e-commerce apps, or portals, BakeKit gets you started faster, without sacrificing long-term maintainability.
🚀 What's new in v1.1.0
- Refactored core services for modularity and testability
- Introduced dependency injection across the codebase
- Added PHPUnit test coverage (57.75%)
- Integrated PHPStan (level 8) and PHPCS compliance
- Enforced stricter database constraints on the settings table
- No breaking changes — plugins and themes remain fully compatible
These are behind-the-scenes improvements — BakeKit now has a cleaner architecture and a stronger foundation for future development.
Get started today
BakeKit is open source and available on GitHub:
👉 https://github.com/bakewizard/BakeKit
Installation is as easy as baking your first CakePHP app — and from there, the structure is yours to build upon.
If you are a developer and can make it, bake it.
If you are an end-user, take it.BakeKit – Your app deserves more than boilerplate.
Top comments (4)
While I don't mind that you promote your work. I don't appreciate you put others work in the shadow.
The whole section is just about putting down other CMS solutions.
Drupal is know for being modular, people think it is too much of a framework and that it takes to long to set it up. That is why they now have Drupal CMS.
Statamic and Craft CMS are easy to learn CMS solutions and easy to extend.
Symfony is a great choice for all sorts of projects, The example I like to use to counter the enterprise label is the single file framework from the documentation.
With this paragraph you put your own solution down, because you call it a "fully-featured CMS foundation" in your project readme.
Hi David, thank you for taking the time to read the article and share your feedback — I truly appreciate it.
You’re absolutely right: the section on other CMSs and frameworks came across as dismissive, and that wasn’t my intention. I have a lot of respect for projects like Drupal, Statamic, Craft, and Symfony — they’ve helped shape the web, and each offers real strengths depending on the use case.
What I was trying to express is that, for developers like me who prefer a lighter, code-centric foundation — especially in CakePHP — many existing CMSs feel more complex than necessary. But that’s a perspective, not a universal truth, and I could have communicated it with more balance.
Thanks again for calling it out. It means a lot, and it helps me keep BakeKit aligned with the spirit of open source — collaboration, not competition.
I love how BakeKit keeps the power in the developer’s hands instead of locking you into a rigid system. Any plans to support other frameworks, or is it CakePHP all the way?
Thanks so much, @dotallio — I’m really glad that came across! That’s exactly the spirit of BakeKit: giving developers power and flexibility without locking them into anything.
For now, it’s CakePHP all the way — BakeKit is deeply tied to its conventions and plugin architecture. But the philosophy behind it (developer-first, modular, no unnecessary magic) could definitely inspire something similar in other ecosystems down the line. But for now, I want to make the CakePHP experience as smooth and powerful as possible.
Would love to hear what frameworks you’re working with or thinking about!
Appreciate the support — and if you’re building anything with it, I’d love to hear about it!