wsssoftware / laraveltoolkit
A modern toolkit of components and utilities for Laravel applications, developed by WSS Software.
Fund package maintenance!
Requires
- php: ^8.4
- ext-bcmath: *
- ext-dom: *
- ext-intl: *
- czproject/git-php: ^v4.6.0
- illuminate/contracts: ^12.0||^13.0
- inertiajs/inertia-laravel: ^3.0
- jaybizzle/crawler-detect: ^1.3.5
- spatie/laravel-package-tools: ^1.92.7
Requires (Dev)
- laravel/pint: ^v1.29.0
- nunomaduro/collision: ^8.8.2
- orchestra/testbench: ^10.6.0||^v11.1.0
- pestphp/pest: ^v5.0.0
- pestphp/pest-plugin-arch: ^v5.0.0
- pestphp/pest-plugin-laravel: ^v5.0.0
- spatie/laravel-ray: ^1.43.7
This package is auto-updated.
Last update: 2026-07-28 20:04:17 UTC
README
A practical collection of production-ready building blocks for Laravel applications. Laravel Toolkit combines typed measurements, ACL, stored assets, SEO and sitemap generation, FilePond uploads, deployment helpers, validation rules, and small framework extensions behind one package.
Use only the features your application needs. The service provider is discovered automatically and registers the package configuration, routes, migrations, commands, views, translations, and macros.
Important
The Vue, Inertia, and PrimeVue examples use the companion Vuetoolkit package. Backend-only features do not require it.
Requirements
- PHP 8.4 or newer
- Laravel 12 or 13
- Inertia Laravel 3
- PHP extensions: BCMath, DOM, and Intl
- Vuetoolkit 2.x only when using the companion frontend components
| Laravel Toolkit | Laravel | Inertia Laravel | Vuetoolkit |
|---|---|---|---|
| 3.x | 12.x, 13.x | 3.x | 2.x |
| 2.x | 11.x, 12.x | 2.x | 1.x |
| 1.x | 11.x, 12.x | 1.x, 2.x | — |
Installation
Install the package with Composer:
composer require wsssoftware/laraveltoolkit
Publish the configuration when you need to change defaults:
php artisan vendor:publish --tag=laraveltoolkit-config
Features backed by database tables, such as ACL and Stored Assets, also need the package migrations:
php artisan vendor:publish --tag=laraveltoolkit-migrations php artisan migrate
Quick start
The package is a toolkit rather than a single workflow. These examples show a few features that work immediately after installation:
use Illuminate\Support\Number; use Illuminate\Support\Str; use Laraveltoolkit\Measurement\Enums\LengthUnit; use Laraveltoolkit\Rules\DocumentRule; length(2.54, 'cm')->to(LengthUnit::MILLIMETER)->value(); // 25.4 Str::applyMask('12345678901', '000.000.000-00'); // 123.456.789-01 Number::spellCurrency(42.50, in: 'BRL', locale: 'pt_BR'); $request->validate([ 'document' => ['required', DocumentRule::both()], ]);
For an application feature, choose a guide below and follow its setup section.
Features
Application building blocks
| Feature | What it provides |
|---|---|
| Measurements | Precise value objects, conversion, formatting, arithmetic, and Eloquent casts for ten measurement dimensions. |
| ACL | Database-backed policies and roles integrated with Laravel Gate and optional Vue components. |
| Stored Assets | Recipe-driven file storage, Eloquent casts, multiple asset variants, and garbage collection. |
| Utilities | CPF/CNPJ and phone validation, enum helpers, regex utilities, framework macros, and extended fluent objects. |
Inertia and frontend integrations
| Feature | What it provides |
|---|---|
| PrimeVue Data | Server-side filtering, sorting, and pagination for PrimeVue DataTable and DataView. |
| FilePond | Temporary, chunked uploads with request conversion to Laravel uploaded files. |
| Flash | Chainable session messages consumed by the Vuetoolkit PrimeVue toast receiver. |
| Multi-domain Inertia | Cross-domain Inertia redirect handling and the required CORS setup. |
SEO and operations
| Feature | What it provides |
|---|---|
| SEO | Server- and client-rendered metadata, Open Graph, Twitter cards, robots directives, and robots.txt. |
| Sitemap | Cached XML sitemaps, domain-specific entries, query chunking, and sitemap indexes. |
| Deploy | Two-stage deployment commands and a broadcast-aware Inertia maintenance page. |
See the documentation index for the complete guide map and common setup commands.
Configuration
All package settings live in config/laraveltoolkit.php after publishing. They are grouped by feature:
deploy: maintenance route and deployment actionsflash: default lifetime, closability, and toast groupfilepond: temporary disk, path, and garbage collectionseo: metadata defaults and propagationsitemap: routes, caching, timeouts, and XML limitsstored_assets: disk, model, paths, naming, and trash retention
Only publish the configuration when you need to override these defaults.
Testing
composer test
Code style can be checked and fixed with:
composer format
Contributing
Contributions are welcome. Read the contribution guide before opening a pull request.
Changelog
See the changelog for release history and upgrade notes.
Security
Please report security vulnerabilities through the repository's private security advisory form, not a public issue.
Credits
License
Laravel Toolkit is open-source software licensed under the MIT license.