kaue-f/laravel-structura
Laravel Structura provides a structured, modular foundation for Laravel apps, with generators and conventions for domains, services, repositories, actions, and DTOs. It keeps business logic organized, reduces boilerplate, and makes large codebases easier to maintain.
--raw escape hatches) shortens the path from ticket to working endpoint. This is directly relevant to roadmap commitments where delivery velocity is the constraint.make(), from(), fromRequest(), fromArray(), Arrayable, JsonSerializable) plus default CacheSupport establishes conventions for request-to-domain handoff and serialization. This supports decisions to consolidate multiple ad-hoc patterns into one, reducing review friction and onboarding cost.Request/FormRequest support and JSON serialization mean Data objects can serve as the contract boundary for API payloads and third-party integrations — a relevant input when deciding how to model external contracts.SKILL.md) supports AI-assisted and onboarding workflows, which is a lever for reducing ramp-up time on new hires or contract teams.Consider adopting when:
composer update-only upgrade path (v5.1.0 is explicitly non-breaking from v5.0.0).Look elsewhere or defer when:
For executives (one paragraph): Structura is a Laravel code-generation package that standardizes how we build the repetitive scaffolding around every feature — data transfer objects, services, caches, helpers. Adopting it on new work reduces boilerplate hours per feature, makes codebases look the same across teams, and shortens onboarding because conventions are encoded in tooling rather than documents. The v5.1.0 release is additive and non-breaking: better Data object construction (including directly from HTTP requests), JSON serialization, safer generator defaults, and expanded test coverage including syntax validation of generated files. Risk is contained: it is a single-maintainer open-source dependency, so we recommend adopting it on new services first, keeping generated code reviewable, and budgeting for periodic upgrades — not mandating it retroactively across existing systems.
For engineering leadership:
v5.1.0 matures the Data layer introduced in v5.0.0. InteractsWithData now covers make(), from(), fromArray(), and fromRequest() (including FormRequest), plus Arrayable inputs and JsonSerializable output — meaning Data objects can sit cleanly at the HTTP boundary and in API responses without custom adapters. Generators now lean on package config rather than per-command options, Cache classes extend CacheSupport by default with --raw as the opt-out, and helper/service generation gained configurable paths and ServiceResult/Makeable integration. Critically for risk: generated files are now PHP-syntax-validated in tests, and the release is explicitly non-breaking from v5.0.0 — composer update plus an optional structura:config review. If we are on v4.x, the v5.0.0 DTO → Data migration must be sequenced first.
For engineering teams (adoption ask):
Use Structura for new modules; run structura:config to review defaults before generating; keep generated output in code review (it is a starting point, not an untouchable artifact); and update the Boost skill via boost:install if used. Track upgrade notes each release, since the package has demonstrated willingness to make breaking architectural changes between majors.
How can I help you explore Laravel packages today?