Skip to content

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.

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.

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.