wadakatu/laravel-spectrum
| Install | |
|---|---|
composer require wadakatu/laravel-spectrum |
|
| Latest Version: | v1.1.3 |
| PHP: | ^8.2 |
| Laravel: | 11 · 12 |
| License: | MIT |
| Last Updated: | May 23, 2026 |
| Links: | GitHub · Packagist |
Laravel Spectrum
Zero-annotation OpenAPI documentation generator for Laravel
Generate complete API docs from your existing code in seconds. No annotations required.
Documentation • Quick Start • Compare
The Problem
// ❌ Traditional approach: Annotations everywhere
/**
* @OA\Post(
* path="/api/users",
* @OA\RequestBody(
* @OA\JsonContent(
* @OA\Property(property="name", type="string"),
* @OA\Property(property="email", type="string", format="email"),
* // ... 50 more lines of annotations
* )
* ),
* @OA\Response(response="200", description="Success")
* )
*/
public function store(StoreUserRequest $request) { ... }
With Laravel Spectrum: Zero annotations needed. Your existing FormRequest and Resource classes are your documentation.
Quick Start (30 seconds)
# Install
composer require wadakatu/laravel-spectrum --dev
# Generate OpenAPI documentation
php artisan spectrum:generate
# View in browser (HTML, default: Swagger UI)
php artisan spectrum:generate --format=html
# Or choose a viewer
php artisan spectrum:generate --format=html --viewer=elements
# Open: storage/app/spectrum/openapi.html
That's it. Full OpenAPI 3.1 documentation generated from your existing code.
What Gets Analyzed Automatically
| Your Code | Generated Documentation |
|---|---|
FormRequest::rules() |
Request body schemas with validation |
$request->validate([...]) |
Inline validation rules |
API Resources |
Response schemas |
Auth middleware (auth:sanctum) |
Security schemes |
Route parameters ({user}) |
Path parameters with types |
@deprecated PHPDoc |
Deprecated operation flags |
Key Features
Real-time Documentation
php artisan spectrum:watch
# Browser auto-refreshes when you change code
Built-in Mock Server
php artisan spectrum:mock
# Frontend team can develop without waiting for backend
Export to API Clients
php artisan spectrum:export:postman # Postman collection
php artisan spectrum:export:insomnia # Insomnia workspace
php artisan spectrum:sdk typescript # Type-safe SDK client
Validate OpenAPI Spec
php artisan spectrum:validate storage/app/spectrum/openapi.json
php artisan spectrum:validate --generate --strict
Detect API Breaking Changes
php artisan spectrum:diff docs/openapi-v1.json docs/openapi-v2.json
php artisan spectrum:diff --against=last --format=json
php artisan spectrum:version-compare docs/openapi-v1.json docs/openapi-v2.json --migration-guide
High Performance
- Parallel processing for large codebases
- Incremental generation (only changed files)
- Smart caching
Why Laravel Spectrum?
| Laravel Spectrum | Swagger-PHP | Scribe | |
|---|---|---|---|
| Zero annotations | ✅ | ❌ | Partial |
| Setup time | 30 sec | Hours | ~30 min |
| FormRequest detection | ✅ | ❌ | ✅ |
| Mock server | ✅ | ❌ | ❌ |
| Live reload | ✅ | ❌ | ❌ |
| Postman/Insomnia export | ✅ | ❌ | ✅ |
| OpenAPI 3.1 | ✅ | ✅ | ❌ |
Requirements
- PHP 8.2+
- Laravel 11.x or 12.x
Compliance Check (Demo App Matrix)
Use the bundled demo apps to verify OpenAPI 3.0/3.1 compliance in one run:
./demo-app/check-openapi-compliance.sh
Details: demo-app/README.md
Documentation
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
For mutation testing, run composer infection (full run with CI-aligned MSI thresholds).
License
Laravel Spectrum is open-source software licensed under the MIT license.
Made with ❤️ by wadakatu
Related Packages
A smart Laravel-to-Postman collection generator focused on clean structure, smar...
Zero-config OpenAPI documentation generator for Laravel modular applications
Versioned Laravel APIs with OpenAPI 3.0 docs auto-generated from PHP docblocks —...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v1.1.3 | ^8.2 | ^11.0| | MIT | |
| v1.1.2 | ^8.2 | ^11.0| | MIT | |
| v1.1.1 | ^8.2 | ^11.0| | MIT | |
| v1.1.0 | ^8.2 | ^11.0| | MIT | |
| v1.0.1 | ^8.2 | ^11.0| | MIT | |
| v1.0.0 | ^8.2 | ^11.0| | MIT |
Pre-releases (22)
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v0.2.2-beta | ^8.2 | ^11.0| | MIT | |
| v0.2.1-beta | ^8.1 | ^11.0| | MIT | |
| v0.2.0-beta | ^8.1 | ^10.0| | MIT | |
| v0.1.0-beta | ^8.1 | ^10.0| | MIT | |
| v0.0.18-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.17-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.16-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.15-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.14-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.13-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.12-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.11-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.10-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.9-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.8-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.7-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.6-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.5-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.4-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.3-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.2-alpha | ^8.1 | ^10.0| | MIT | |
| v0.0.1-alpha | ^8.1 | ^10.0| | MIT |