An end-to-end type-safe Laravel 13 starter kit with auto-generated TypeScript types, Vue 3, and shadcn-vue components for fast front-end prototyping
joshdonnell/laravel-starter-kit-vue is a Laravel package for an end-to-end type-safe laravel 13 starter kit with auto-generated typescript types, vue 3, and shadcn-vue components for fast front-end prototyping.
It currently has 2 GitHub stars and 18 downloads on Packagist (latest version v1.3.6).
Install it with composer require joshdonnell/laravel-starter-kit-vue.
Discover more Laravel packages by joshdonnell
or browse all Laravel packages to compare alternatives.
Last updated
An end-to-end type-safe Laravel 13 starter kit with auto-generated TypeScript types, Vue 3, and shadcn-vue components for fast front-end prototyping. Built on top of Nuno Maduro's Laravel Starter Kit, this kit extends it with Wayfinder, Laravel Data, and unplugin-auto-import to provide a Nuxt-like developer experience when writing Vue code within a Laravel Inertia application.
Backend: PHP 8.5+, Laravel 13, Inertia.js v3, Laravel Fortify, Spatie Laravel Data, Nuno Maduro's Essentials
Frontend: Vue 3, reka-ui, shadcn-vue, TypeScript, Tailwind CSS v4
Type Generation: Laravel Wayfinder (auto-generated route & action types), Spatie Laravel Data + TypeScript Transformer (auto-generated DTO types)
DX Tooling: Vite Plus, unplugin-auto-import, unplugin-vue-components, vite-plugin-watch
Code Quality: PHPStan (level max via Larastan), Rector, Pint, oxlint, oxfmt, Pest v5 (100% coverage)
app/Data or app/Enums automatically triggers TypeScript type generationRequires PHP 8.5+, Node 22+, pnpm (used in CI), and a code coverage driver like Xdebug.
SQLite is used by default for database, session, cache, and queue storage.
composer create-project joshdonnell/laravel-starter-kit-vue --prefer-dist example-app
cd example-app
# Install dependencies, create .env, generate key, run migrations, and build assets
composer setup
# Start the development server (Laravel, queue, logs, and Vite)
composer dev
If you plan to use Pest's browser testing capabilities:
pnpm add playwright && pnpm exec playwright install
composer test
You should see 100% test coverage and all quality checks passing.
composer dev — Starts Laravel server, queue worker, log monitoring (Pail), and Vite dev server concurrentlycomposer transform-types — Manually regenerates TypeScript types from PHP Data and Enumscomposer lint — Runs Rector (refactoring), Pint (PHP formatting), and Vite Plus (JS/TS/Vue linting and formatting)composer test:lint — Dry-run mode for CI/CD pipelinescomposer test:type-coverage — Ensures 100% type coverage with Pestcomposer test:types — Runs PHPStan (level max) and TypeScript (tsc --noEmit) type checkingcomposer test:unit — Runs Pest tests with 100% code coverage requirementcomposer test — Runs the complete suite (type coverage, unit tests, linting, static analysis)composer update:requirements — Updates all PHP and NPM dependencies to latest versionsThis project enforces a strict, automated code style across both PHP and JavaScript/TypeScript:
vp CLIRun composer lint to auto-fix formatting across the entire codebase.
The project uses Pest with a comprehensive testing suite. The following standards are enforced:
Run the full suite with:
composer test
Or run individual checks:
composer test:unit # Unit & feature tests
composer test:types # PHPStan + TypeScript type checking
composer test:type-coverage # Type coverage check
composer test:lint # Linting dry-run
Contributions are welcome from everyone! To get started:
git checkout -b feat/my-feature or git checkout -b fix/my-fix)composer test)git commit -m 'Add my feature')git push origin feat/my-feature)Please ensure all tests and quality checks pass before submitting your PR.
This project was created by Josh Donnell under the MIT license.