Service Provider
redot/core wires itself into your Laravel app automatically. It is auto-discovered on install — there is nothing to register in the consuming app — and it sets up configuration, publishable resources, the Artisan commands, the sidebar, the bundled packages, and a collection of boot-time behaviors.
This page describes what the package does for you. Most of it is invisible: you just get the behavior.
Publishable resources
The package exposes three publish tags. Each resource works without publishing (config is merged, migrations and stubs are loaded from the package); publish only to override.
php artisan vendor:publish --tag=redot::config # config/redot.php
php artisan vendor:publish --tag=redot::stubs # generator stubs into stubs/
php artisan vendor:publish --tag=redot::migrations # package migrationsSee Installation for the full publishing walkthrough and Configuration for the config keys.
Artisan commands
All the package's operational and scaffolding commands are registered for you, so they show up in php artisan list the moment the package is installed. See Artisan Commands and Scaffolding & Stubs.
Bundled packages
The feature packages come online automatically — you never wire them up yourself:
- Auth — the dashboard's authentication flows.
- Datatables — Livewire data tables.
- Toastify — toast notifications.
- Sidebar — the navigation builder. Your app builds its menu against it in
app/sidebar.php.
What boots automatically
These behaviors apply across the whole consuming app with no setup. Be deliberate if you override them.
- Layout components. Both the class-based and anonymous Blade layouts are exposed under the
layoutsnamespace, so you write<x-layouts::dashboard>and friends. See Layouts. @themerdirective. Injects the theme runtime into a page from the currentthemesetting. The layouts use it for you.- Default pagination view. Paginated results render with the dashboard's pagination view, so you never pass a view to
->links(). - API rate limiting. The
apilimiter allows 60 requests per minute, keyed by the authenticated user (or IP for guests). - Locales & URL defaults. The active locale list is built from your languages (falling back to
redot.localesbefore the table exists), and the first locale becomes the default for localized routes — so you don't passlocaleto everyroute()call. - Validation rules. The
phoneandcaptcharules are available as plain string rules in any validator. - Settings-friendly forms. Empty-string-to-null conversion is skipped for settings updates, so a setting can be deliberately cleared to an empty string.
- Consistent JSON casting. Eloquent JSON columns encode and decode consistently, including non-Latin content (e.g. Arabic) without escaping.
- Production safety. Destructive database commands (
migrate:fresh,db:wipe, …) are blocked in theproductionenvironment. - About section.
php artisan aboutreports the installedredot/coreversion.
See also
- Installation — install and publishing.
- Configuration — the config keys.
- Runtime & Dependency Build — the app kernel and build pipeline.