Package support
Docuccino reads more than plain Laravel. When your app leans on a well-known package to shape its requests, responses, or query strings, a dedicated integration reads that package’s own vocabulary — so the documentation matches the JSON your app really sends and accepts.
“Supported” means zero setup. Install Docuccino, and each integration below activates the moment its package is present in your app. There is nothing to register, no annotations to add, and no per-package config to write.
The single exception is Spatie Laravel Permission, which is
opt-in: role and permission names are your app’s internal authorization taxonomy, and publishing
them into a public spec should be a deliberate choice. When it’s installed but off, every build tells
you so with one integration.disabled info diagnostic pointing at the switch.
Is my package supported?
Section titled “Is my package supported?”Versions
Section titled “Versions”Docuccino is tested against these major versions on PHP 8.3+ and Laravel 12 or 13:
| Package | Supported |
|---|---|
spatie/laravel-data |
^4.0 |
spatie/laravel-query-builder |
^7.0 |
spatie/laravel-json-api-paginate |
^2.0 |
lorisleiva/laravel-actions |
^2.0 |
spatie/laravel-permission |
^6.0 |
timacdonald/json-api |
^1.0 |
Docuccino never requires any of them: each integration sits behind a class-presence check, so an app without the package pays nothing and sees nothing.
Turning one off
Section titled “Turning one off”Every integration accepts an enabled switch, resolved per document — useful when a package is
installed for one part of your app but you’d rather its parameters stayed out of a particular
document:
// config/docuccino.php → documents.default.integrations'query_builder' => ['enabled' => false],See the integrations reference for all eleven
toggleable bags and the extra options a few of them accept.