ambengers/kinetic
Kinetic is a Laravel package for adding state machines to Eloquent models. Define states and allowed transitions, guard changes with conditions, and hook into lifecycle events so status workflows stay explicit, consistent, and easy to maintain.
Inertia::share / Inertia::render. That's roughly 1–3 days of design, implementation, review, and tests. Kinetic is MIT-licensed and small enough to vendor or replace later, so "buy" (adopt) is the cheaper first move unless your sharing rules are genuinely bespoke.Dashboard/Index gets analytics data).Adopt when:
Inertia::share calls or duplicating prop arrays.Look elsewhere / proceed cautiously when:
Inertia::share or the HandleInertiaRequests middleware is sufficient; don't add a dependency for that.For executives (one paragraph): Kinetic is a small, MIT-licensed developer tool that plugs into our Laravel + Inertia stack and removes repetitive code for feeding data into pages. In practice it means faster delivery of new screens, fewer copy-paste bugs where a dashboard forgets to load the user or tenant, and cleaner code that's easier to test and hand over. Cost is effectively zero (open source, no license), risk is low (easily removed or replaced), and the only real investment is a short ramp-up for the team.
For engineering leads (one paragraph):
Kinetic adds view-composer-style composition to Inertia's Laravel adapter: you register classes that attach props to named page components, so shared data (auth, tenant, flags, flash) is defined once and injected consistently, while controllers stay focused on page-specific data. It follows familiar Laravel patterns, keeps prop logic isolated and testable, and reduces controller bloat. Trade-offs: it's a small community package (~90 stars), so we should pin the version, read the source, and confirm Laravel/Inertia compatibility before adoption; and we should avoid layering it on top of existing HandleInertiaRequests sharing without consolidating, or we'll end up with two competing sources of truth for shared props.
How can I help you explore Laravel packages today?