rich-id/tour-bundle
Rich ID Tour Bundle is a PHP package for adding guided tours and onboarding flows to your app. Define multi-step tours, attach contextual steps to pages or features, and help users discover functionality through an in-app walkthrough experience.
if (plan === 'pro') checks through controllers, Blade, and API resources. Directly supports pricing tiers, seat limits, trial expiry, and beta/allowlist access.Adopt when:
Look elsewhere when:
Before committing, verify two things about this release: what "Voter" resolves over (roles, attributes, or arbitrary callables), and whether the addition changes decision resolution order for existing checks. Even additive components can silently alter outcomes if a new voter is consulted in an existing chain — that is the one way a minor bump can break production authorization.
For executives — one paragraph. This release adds a reusable decision layer to a package we already depend on. In plain terms: it lets us define "who is allowed to do what" once, in one place, instead of re-implementing it for every feature. That matters commercially because our plan gating, seat limits, and approval workflows are the mechanics behind monetization and enterprise deals — and they are currently the kind of logic that gets duplicated and drifts. Adopting it is incremental, carries no migration deadline, and reduces the cost of shipping permission-dependent features going forward.
For engineering — the short version. Minor version, additive feature, no breaking changes indicated. The value is a composable voter abstraction that sits alongside Gate/Policy rather than replacing it; you can adopt it for one domain (billing entitlements, say) and leave existing policies untouched. Test it in the domain layer without HTTP. Two things to check in review: the voter precedence semantics, and whether any existing authorization path now resolves through the new component. Cost is a modest abstraction and a learning curve; risk is low, but authorization changes deserve a test around every affected decision.
Recommendation: worth a time-boxed spike on one non-critical permission surface. Do not standardize the whole authorization model on it until the voter semantics are confirmed in code.
How can I help you explore Laravel packages today?