Generates TypeScript types from Laravel API Resources, Form Requests, and Enums. PHP is the single source of truth—frontend types are never written by hand.
composer require fr3on/laravel-bondGenerate types for your configured paths:
php artisan bond:generateWatch for changes during development:
php artisan bond:watchThe package generates a single TypeScript file (default: resources/js/types/api.ts) containing your definitions:
// auto-generated by laravel-bond — do not edit
// generated: 2026-04-12T10:00:00Z
export interface UserResource {
id: number
name: string
email: string
avatar: string | null
roles: RoleResource[]
created_at: string // ISO 8601
}
export interface CreateUserRequest {
name: string
email: string
password: string
role_id: number
}
export type UserStatus = 'active' | 'suspended' | 'pending'Publish the config file:
php artisan vendor:publish --tag=bond-configCustomize paths and output format in config/bond.php.