Quickstart
Get from zero to a working Rebel control plane in a few commands. Install the meta-package for the
recommended bundle, or pick the exact packages your app needs — the core supplies the contracts and
value objects, the feature packages add the concrete flows.
Install the suite (or just the core)
# recommended: the curated bundle, wired together composer require padosoft/laravel-rebel-auth # or just the primitives (contracts + value objects) composer require padosoft/laravel-rebel-corePublish the config
php artisan vendor:publish --tag=rebel-core-configSet the pepper — the server-side secret behind every keyed HMAC
# generate a strong value: php -r "echo bin2hex(random_bytes(32));" REBEL_PEPPER_V1=paste-a-long-random-value REBEL_PEPPER_CURRENT=1Run the migrations (creates
rebel_auth_eventsfor the audit trail)php artisan migrateValidate the config — fail-fast, CI-friendly
php artisan rebel:validate-configAdd the channels and bridges you need
composer require padosoft/laravel-rebel-channels padosoft/laravel-rebel-channel-twilio composer require padosoft/laravel-rebel-bridge-fortify padosoft/laravel-rebel-bridge-passkeys
Not sure which packages you need? The Install Matrix lists the exact set per
layer, and the Capability Matrix maps each capability to its
package. New to the concepts? Start with Passwordless Login or the
full Worked Example.
Do not treat a channel provider as an assurance source by itself. Assurance is established by the
Rebel core model and the step-up result — not by an SMS vendor’s response alone. A delivery
receipt means “the message was sent”, never “the user is authenticated”.