jonquihote / steroid
A Laravel umbrella library that bundles a curated set of dependencies.
Fund package maintenance!
Requires
- php: ^8.5
- diglactic/laravel-breadcrumbs: ^10.1
- illuminate/support: ^13.0
- robertboes/inertia-breadcrumbs: ^1.0
- saloonphp/laravel-plugin: ^5.0
- saloonphp/saloon: ^4.0
- spatie/laravel-activitylog: ^5.0
- spatie/laravel-data: ^4.21
- spatie/laravel-medialibrary: ^11.0
- spatie/laravel-model-states: ^2.13
- spatie/laravel-permission: ^8.0
- spatie/laravel-query-builder: ^7.2
- spatie/laravel-sluggable: ^4.0
- spatie/laravel-typescript-transformer: ^3.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A Composer library that bundles a curated set of Laravel dependencies into a single requirement.
This package contains no code of its own. Requiring it pulls in a consistent set of upstream packages so your application can depend on one requirement instead of many.
Requirements
- PHP
^8.5 - Laravel
^13.0(viailluminate/support)
Installation
Install via Composer:
composer require jonquihote/steroid
All bundled packages support Laravel's package auto-discovery; their service providers will be registered automatically.
Inertia Breadcrumbs
robertboes/inertia-breadcrumbs uses diglactic/laravel-breadcrumbs as its default collector. After installation, publish its configuration and select the Diglactic collector so Inertia Breadcrumbs can resolve your application's breadcrumbs:
php artisan vendor:publish --tag=inertia-breadcrumbs-config
Refer to the Inertia Breadcrumbs documentation and the Diglactic Laravel Breadcrumbs documentation for full setup instructions.
Bundled Packages
| Package | Constraint | Description |
|---|---|---|
| illuminate/support | ^13.0 |
Laravel support helpers and collections. |
| robertboes/inertia-breadcrumbs | ^1.0 |
Share Laravel breadcrumbs with Inertia.js. |
| saloonphp/laravel-plugin | ^5.0 |
Laravel integration for Saloon HTTP clients. |
| saloonphp/saloon | ^4.0 |
Build beautiful, testable API integrations. |
| spatie/laravel-activitylog | ^5.0 |
Log user activity and Eloquent model changes. |
| spatie/laravel-data | ^4.21 |
Create rich data objects. |
| spatie/laravel-medialibrary | ^11.0 |
Associate files with Eloquent models. |
| spatie/laravel-model-states | ^2.13 |
State machine support for Eloquent models. |
| spatie/laravel-permission | ^8.0 |
Associate users with roles and permissions. |
| spatie/laravel-query-builder | ^7.2 |
Build Eloquent queries from API requests. |
| spatie/laravel-sluggable | ^4.0 |
Generate slugs for Eloquent models. |
| spatie/laravel-typescript-transformer | ^3.0 |
Transform PHP types to TypeScript. |
| diglactic/laravel-breadcrumbs | ^10.1 |
A simple breadcrumb package for Laravel. |
Laravel Boost
This package mirrors Laravel Boost skills and guidelines from a subset of its bundled packages. When this library is a direct dependency of your Laravel application, Boost's normal package discovery picks them up automatically.
The following six skills are mirrored under resources/boost/skills/:
inertia-breadcrumbs(fromrobertboes/inertia-breadcrumbs)saloon-development(fromsaloonphp/laravel-plugin)medialibrary-development(fromspatie/laravel-medialibrary)laravel-permission-development(fromspatie/laravel-permission)laravel-query-builder(fromspatie/laravel-query-builder)sluggable-development(fromspatie/laravel-sluggable)
Four guideline files are mirrored under resources/boost/guidelines/:
robertboes-inertia-breadcrumbs.core.blade.phpsaloonphp-laravel-plugin.core.blade.phpspatie-laravel-activitylog.core.blade.phpspatie-laravel-medialibrary.core.blade.php
The mirror is version-pinned: each mirrored file is copied from a specific upstream release tag. Mirrored SKILL.md and guideline files carry a leading HTML provenance comment recording the upstream package, tag, and source URL; mirrored reference files are exact upstream copies and carry no comment. The .mirror-manifest.json records the exact tags and commit SHAs used, and MIRRORED-LICENSES.md preserves the upstream MIT license texts for attribution.
Bundled packages that do not ship their own Boost skills or guidelines do not get synthetic ones here; only genuine upstream Boost assets are mirrored.
Mirror Audit
A CI workflow (.github/workflows/boost-mirror-audit.yml) runs .github/scripts/verify-boost-mirror.php to prove the mirror stays in sync with what this package requires. It fails unless:
- Every direct Composer
requirewhose installed tree containsresources/boost/**files has a correspondingsources[]entry in.mirror-manifest.json. - Each manifest source is a direct
requirewhosedeclared_constraintexactly matchescomposer.json, whoseresolved_tagexactly matches the version pinned incomposer.lock, whose lock entry is an immutable release tag (nodev-*/*-devaliases), and whoseresolved_commitequals the lockfile'ssource.reference. - The upstream
resources/boost/**inventory matches the manifest'sskills[].mirrored_filesandguidelines[].source_fileentries (new or removed upstream files are errors). - Every mirrored file exists;
SKILL.mdand guideline copies match upstream content byte-for-byte after stripping the leading provenance HTML comment; reference files match upstream exactly and carry no comment. - Mirrored
SKILL.mdand guideline provenance comments record the manifest's package, resolved tag, and expected raw GitHub source URL. - No local file under
resources/boost/skills/orresources/boost/guidelines/is orphaned; each is uniquely declared as a manifest destination. - Upstream
SKILL.mdfiles have unique YAMLname:values, and each manifestskills[].namematches its upstreamSKILL.md. MIRRORED-LICENSES.mdexists and contains every manifest source's copyright string and license URL..gitattributesdoes not markresources/or any of its children asexport-ignore, so mirrored assets ship in package archives.
The workflow runs on pull_request and on push when composer.json, .gitattributes, resources/boost/**, or the workflow/script change, on a daily cron schedule, and on manual workflow_dispatch. It builds a scratch composer.json/lock/vendor tree under /tmp/boost-mirror-audit (so repository metadata placeholders do not need to be resolved) and invokes the verifier against the repository's resources/boost/ tree.
When a bundled dependency adds, removes, or modifies its upstream Boost assets — or when composer.json adds or drops a Boost-capable direct requirement — update the mirrored files, .mirror-manifest.json, and MIRRORED-LICENSES.md in the same PR.
Package-Specific Setup
This umbrella package does not ship its own configuration, migrations, routes, views, or assets, so there is nothing to publish from it.
Some bundled packages require their own post-install steps (publishing configuration or migrations, running migrations, registering middleware, and so on). Refer to each package's upstream documentation for setup instructions:
- Inertia Breadcrumbs
- Saloon Laravel Plugin
- Spatie Laravel Activitylog
- Spatie Laravel Data
- Spatie Laravel Medialibrary
- Spatie Laravel Model States
- Spatie Laravel Permission
- Spatie Laravel Query Builder
- Spatie Laravel Sluggable
- Spatie Laravel TypeScript Transformer
- Diglactic Laravel Breadcrumbs
License
The MIT License (MIT). Please see License File for more information.