The PHP Framework
You Can Actually Read
A truly simple, lightweight PHP framework built by a self-taught developer who spent a month fighting Laravel — then built something better instead.
After 10 years of self-taught PHP — from early security holes to production-ready systems — the decision was made to finally try Laravel. A month later, with barely a working prototype and a head full of magic methods, it was abandoned.
Starting fresh on a new project, the same familiar structure emerged: a router, controllers, views, a database layer. The pattern was already there. So instead of fighting someone else's abstractions, it became a framework.
StackCTL was born from real frustration and real experience. Every decision is intentional, every file is documented, and every rough edge found in production becomes a framework improvement — and a new doc entry.
Nothing you don't.
StackCTL ships production-ready with a full suite of tools — all documented, all readable, all yours to modify.
Router
Clean route registration with middleware, groups, named routes, and redirects. Static routes always win over dynamic ones — no surprises.
Query Builder
A simpler Eloquent. Fluent, chainable, and readable — with relationships, pagination, and transactions. You can read every line of it.
Authentication
Login, register, email verification, OTP, and full MFA support. Built in, wired up, and ready to ship from day one.
Roles & Permissions
Built-in role middleware and a can() helper that works in routes, controllers, and views without any config.
Validator
Simple validation with required, email, min, confirmed, and unique — no config files needed.
Theme System
Light, dark, and system theme support on every page from day one. No extra packages, no setup — it just works.
StackCTL's built-in CLI handles the heavy lifting — scaffolding full resources, managing the database, and deploying to production. Think Artisan, but yours.
Scaffold a complete resource — controller, views, migration, and suggested routes — with one command. Manage migrations, prepare a production build, push to your server, and manage optional packages without ever leaving the terminal. Run php stack help to see everything it can do.
php stack initSet up the framework for the first timephp stack create:resource {name}Scaffold controller, views & migrationphp stack create:page {name}Add a view, update the controllerphp stack db:applyRun all pending migrationsphp stack db:rollback {file}Roll back a specific migrationphp stack db:describe {table}Show table structurephp stack deploy:makereadyPackage everything for productionphp stack deploy:productionUnpack, configure & launch on serverphp stack packages:installInstall optional packages interactivelywho want to understand.
Any developer can use StackCTL — but it shines for those who want to see exactly what's happening under the hood.
Junior Developers
Learn real-world PHP patterns with a codebase documented top to bottom. No magic to hide behind — just clean, readable logic.
Mid-Level Developers
Build production apps fast without fighting the framework. Add what you need, skip what you don't, and understand every layer.
Solo Builders
Perfect for side projects, MVPs, and internal tools. Get from zero to deployed without a month-long learning curve.
What It's Ready For
Auth systems, user management, dashboards, and content platforms. Not yet suited for large-scale ecommerce.
The docs are live. The framework is ready.
All that's missing is your idea.
MIT Licensed · Coming soon to GitHub · Contributors welcome