PHPackages                             joshdonnell/laravel-starter-kit-vue - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. joshdonnell/laravel-starter-kit-vue

ActiveProject[Framework](/categories/framework)

joshdonnell/laravel-starter-kit-vue
===================================

e2e typesafe starter kit with auto TS type generation and Nuxt UI for fast front-end prototyping

v1.1.0(1mo ago)11MITVuePHP ^8.4.0CI passing

Since Feb 12Pushed 1mo agoCompare

[ Source](https://github.com/joshdonnell/laravel-starter-kit-vue)[ Packagist](https://packagist.org/packages/joshdonnell/laravel-starter-kit-vue)[ RSS](/packages/joshdonnell-laravel-starter-kit-vue/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (46)Versions (3)Used By (0)

  ![Logo for Laravel Starter Kit](art/header-light.png)
 [![Build Status](https://github.com/joshdonnell/laravel-starter-kit-vue/actions/workflows/tests.yml/badge.svg)](https://github.com/joshdonnell/laravel-starter-kit-vue/actions) [![Latest Stable Version](https://camo.githubusercontent.com/e1abb99e66821c464b94d37541dcb1799f88822dd92f4bbf470c540bfcc5e077/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6f7368646f6e6e656c6c2f6c61726176656c2d737461727465722d6b69742d767565)](https://packagist.org/packages/joshdonnell/laravel-starter-kit-vue) [![License](https://camo.githubusercontent.com/7b6490a31f274140461889c3f93d17a2ed038925112cedec0b3b1701b221a467/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6a6f7368646f6e6e656c6c2f6c61726176656c2d737461727465722d6b69742d767565)](https://packagist.org/packages/joshdonnell/laravel-starter-kit-vue)

An end-to-end type-safe Laravel 13 starter kit with auto-generated TypeScript types, Vue, and shadcn-vue for fast front-end prototyping. Built on top of [Nuno Maduro's Laravel Starter Kit (Maintained by me)](https://github.com/nunomaduro/laravel-starter-kit-inertia-vue), 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.

Tech Stack
----------

[](#tech-stack)

**Backend:** PHP 8.4+, Laravel 13, Inertia.js v3, Spatie Laravel Data

**Frontend:** Vue 3, shadcn-vue, TypeScript, Tailwind CSS v4

**Type Generation:** Laravel Wayfinder (auto-generated route &amp; action types), Spatie Laravel Data (auto-generated DTO types)

**DX Tooling:** unplugin-auto-import (Nuxt-style auto imports for Vue APIs and composables)

**Code Quality:** PHPStan (level 9), Rector, Pint, Vite Plus, oxlint, oxfmt, Pest v5 (100% coverage)

Local Development
-----------------

[](#local-development)

> **Requires [PHP 8.4+](https://php.net/releases/), [npm](https://nodejs.org/) or [pnpm](https://pnpm.io/), and a code coverage driver like [Xdebug](https://xdebug.org/docs/install).**

### Installation

[](#installation)

```
composer create-project joshdonnell/laravel-starter-kit-vue --prefer-dist example-app
cd example-app
```

### Setup

[](#setup)

```
# Install dependencies and configure the project
composer setup

# Start the development server (Laravel, queue, logs, and vite plus)
composer dev
```

### Optional: Browser Testing

[](#optional-browser-testing)

If you plan to use Pest's browser testing capabilities:

```
# npm
npm install playwright && npx playwright install

# pnpm
pnpm add playwright && pnpx playwright install
```

### Verify Installation

[](#verify-installation)

```
composer test
```

You should see 100% test coverage and all quality checks passing.

Available Commands
------------------

[](#available-commands)

### Development

[](#development)

- `composer dev` — Starts Laravel server, queue worker, log monitoring, and Vite dev server concurrently

### Code Quality

[](#code-quality)

- `composer lint` — Runs Rector (refactoring), Pint (PHP formatting), and oxfmt (JS/TS formatting)
- `composer test:lint` — Dry-run mode for CI/CD pipelines

### Testing

[](#testing)

- `composer test:type-coverage` — Ensures 100% type coverage with Pest
- `composer test:types` — Runs PHPStan at level 9 (maximum strictness)
- `composer test:unit` — Runs Pest tests with 100% code coverage requirement
- `composer test` — Runs the complete suite (type coverage, unit tests, linting, static analysis)

### Maintenance

[](#maintenance)

- `composer update:requirements` — Updates all PHP and NPM dependencies to latest versions

Code Style
----------

[](#code-style)

This project enforces a strict, automated code style across both PHP and JavaScript/TypeScript:

- **PHP:** Laravel Pint for formatting, Rector for automated refactoring and modernisation
- **JS/TS/Vue:** oxlint for linting, oxfmt for formatting
- **Types:** 100% type coverage enforced on both PHP (PHPStan level 9) and TypeScript (strict mode)

Run `composer lint` to auto-fix formatting across the entire codebase.

Code Standards
--------------

[](#code-standards)

- **Actions-Oriented Architecture:** Every operation is encapsulated in a single-action class
- **Cruddy by Design:** Standardised CRUD operations for all controllers, actions, and Inertia pages
- **Immutable-First:** Data structures favour immutability to prevent unexpected mutations
- **Fail-Fast:** Errors are caught at compile-time through strict static analysis, not at runtime
- **Strict Laravel Defaults:** Strict models, auto eager loading, immutable dates via [Essentials](https://github.com/nunomaduro/essentials)
- **AI Guidelines:** Integrated AI guidelines to assist in maintaining code quality and consistency

Testing
-------

[](#testing-1)

The project uses [Pest](https://pestphp.com) with a full testing suite of 150+ tests. The following standards are enforced:

- **100% code coverage** — the test suite will fail if coverage drops below 100%
- **100% type coverage** — every method, property, and parameter must be explicitly typed
- **Static analysis** — PHPStan at level 9 (maximum strictness)

Run the full suite with:

```
composer test
```

Or run individual checks:

```
composer test:unit            # Unit & feature tests
composer test:types           # PHPStan static analysis
composer test:type-coverage   # Type coverage check
composer test:lint            # Linting dry-run
```

Contributing
------------

[](#contributing)

Contributions are welcome from everyone! To get started:

1. Fork the repository
2. Create a feature branch (`git checkout -b feat/my-feature` or `git checkout -b fix/my-fix`)
3. Make your changes
4. Ensure CI is passing (`composer test`)
5. Commit your changes (`git commit -m 'Add my feature'`)
6. Push to your branch (`git push origin feat/my-feature`)
7. Open a Pull Request

Please ensure all tests and quality checks pass before submitting your PR.

License
-------

[](#license)

This project was created by **[Josh Donnell](https://x.com/developedbyjosh)** under the **[MIT license](https://opensource.org/licenses/MIT)**.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance89

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~39 days

Total

2

Last Release

56d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0e84904640ee422baef8e0ace057d93fb2ada8a5adce3b5db28247da0647b52d?d=identicon)[joshdonnell](/maintainers/joshdonnell)

---

Top Contributors

[![joshdonnell](https://avatars.githubusercontent.com/u/17536271?v=4)](https://github.com/joshdonnell "joshdonnell (23 commits)")[![FrameworkJosh](https://avatars.githubusercontent.com/u/227569606?v=4)](https://github.com/FrameworkJosh "FrameworkJosh (3 commits)")

---

Tags

frameworklaravelnuxt-ui

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/joshdonnell-laravel-starter-kit-vue/health.svg)

```
[![Health](https://phpackages.com/badges/joshdonnell-laravel-starter-kit-vue/health.svg)](https://phpackages.com/packages/joshdonnell-laravel-starter-kit-vue)
```

###  Alternatives

[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
