wadakatu/laravel-spectrum

Zero-annotation OpenAPI/Swagger documentation generator for Laravel - automatic API docs from your existing code
101 1
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
Maintainer: wadakatu

Laravel Spectrum

Laravel Spectrum Banner

Tests Code Coverage Latest Stable Version Total Downloads License

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

📖 Full 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.


Star on GitHub

Made with ❤️ by wadakatu

Related Packages

samody/laravel-smart-postman-generator

A smart Laravel-to-Postman collection generator focused on clean structure, smar...

2,505 1
sdekkers/compass

Zero-config OpenAPI documentation generator for Laravel modular applications

5,348 0
sciarcinski/laravel-swagger

OpenApi or Swagger integration to Laravel

3,344 0
jurager/documentator

OpenAPI specification generator for Laravel

1,698 0
dskripchenko/laravel-api

Versioned Laravel APIs with OpenAPI 3.0 docs auto-generated from PHP docblocks —...

11,340 13

Version History

Version Released PHP Laravel License
v1.1.3 ^8.2 ^11.0|^12.0 MIT
v1.1.2 ^8.2 ^11.0|^12.0 MIT
v1.1.1 ^8.2 ^11.0|^12.0 MIT
v1.1.0 ^8.2 ^11.0|^12.0 MIT
v1.0.1 ^8.2 ^11.0|^12.0 MIT
Pre-releases (22)
Version Released PHP Laravel License
v0.2.2-beta ^8.2 ^11.0|^12.0 MIT
v0.2.1-beta ^8.1 ^11.0|^12.0 MIT
v0.2.0-beta ^8.1 ^10.0|^11.0|^12.0 MIT
v0.1.0-beta ^8.1 ^10.0|^11.0|^12.0 MIT
v0.0.18-alpha ^8.1 ^10.0|^11.0|^12.0 MIT