21torr/rad
RAD Bundle is a Symfony package for rapid application development, bundling commonly used features and 21TORR's opinionated conventions so teams can scaffold and ship applications faster.
symfony/* 7+, Doctrine ORM 3, PHP 8.4+. If the roadmap assumes Laravel, the decision is closed; nothing here transfers.BaseController, EntityModel (persist/update/refresh), EntityFieldsTrait (ID + timestamps), ApiResponse/ApiResponseNormalizer, ArgumentBag, ImportData, InMemoryCache, AbilitiesVoter (CAN_* attributes), Linkable, EnumValue, TranslationHelper. The real decision is "adopt these opinions" vs. "write ~500 lines of our own internal conventions." Framing it as a dependency choice overstates it.ApiResponse + ApiResponseNormalizer + user-readable error messages (3.3.0, 3.4.5 createResponse()) is the most defensible adoption driver — a consistent JSON envelope and error shape is a genuine cross-team contract decision affecting mobile/partner consumers.getService() for PhpStan/PhpStorm), and import helpers compress the cost of internal tools — where differentiation is near-zero and speed dominates.CAN_* abilities voter is an opinionated authorization model; adopting it is an architecture decision, not a utility decision, and should be reviewed by whoever owns the security model.Model, Routable, sortable handlers, and simple entity search. Plan for it as source you fork, not a vendor you rely on.Consider it when:
CAN_* voting) are acceptable as house style.Look elsewhere when:
To executives (one paragraph): This is a small, MIT-licensed Symfony helper bundle that shortens delivery of internal CRUD/API features by standardizing controllers, entity handling, and API response shapes. It is not a strategic platform bet — it has negligible community adoption (2 stars, 0 dependents, one maintainer) and encodes one agency's conventions. The risk is contained and reversible: MIT license, no lock-in data, and the code is small enough to fork and own. Recommendation: use it as a time-to-market accelerator and pattern reference for internal tools only, with a pinned version and an internal fork; do not build customer-facing or long-lived product architecture on it. First confirm the stack decision, since this bundle targets Symfony, not Laravel.
To engineering (the actual ask): Evaluate against our stack — Symfony 7+, PHP 8.4+, Doctrine ORM 3. Review the CAN_* abilities voter as a security-model decision, and the API envelope as an external contract decision, before adopting anything else. Treat the repo as upstream source: pin the major, vendor the parts we use, and budget for one migration (2.x→3.x removed Model, Routable, sortable handlers, and DoctrineChangeChecker is already deprecated as of 3.4.5 — expect churn). Verify Doctrine ORM 3 and Symfony 7 compatibility in a spike, not in production. If the spike succeeds, fork and own it; if not, copy the four or five patterns we actually want and close the ticket.
How can I help you explore Laravel packages today?