michaelsieminski / start-vue
Your description here
Package info
github.com/michaelsieminski/start-vue
Type:project
pkg:composer/michaelsieminski/start-vue
dev-main
2026-04-02 20:06 UTC
Requires
- php: ^8.4
- inertiajs/inertia-laravel: 3.0.1
- laravel/framework: 13.3.0
- laravel/tinker: 3.0.0
Requires (Dev)
- fakerphp/faker: 1.24.1
- laravel/boost: 2.4.1
- laravel/pail: 1.2.6
- laravel/pint: 1.29.0
- mockery/mockery: 1.6.12
- nunomaduro/collision: 8.9.2
- pestphp/pest: 4.4.3
- pestphp/pest-plugin-laravel: 4.1.0
- rector/rector: 2.3.9
This package is auto-updated.
Last update: 2026-04-02 20:06:51 UTC
README
A clean, modern and opinionated Laravel starter kit built for speed, maintainability, and AI-assisted development. This starter kit combines the latest versions of Laravel with Inertia.js and Vue, enforcing best practices through strict TDD and the Action pattern.
Getting started
laravel new APPNAME --using=michaelsieminski/start-vue
Philosophy
This starter kit is designed with these core principles:
- Test-Driven Development (TDD): Every feature starts with a test. No exceptions.
- Action Pattern: Business logic lives in dedicated Action classes, keeping controllers thin and logic reusable.
These conventions are enforced through comprehensive AI instructions, making this the perfect starter kit for AI-assisted development with Claude Code or OpenCode.
Tech Stack
Backend
- PHP 8.4 - Latest PHP with modern syntax and performance
- Laravel 12 - Latest Laravel with streamlined structure
- Inertia.js - Server-driven SPA framework with advanced features
- Laravel Boost - AI-powered development tools for Laravel
Frontend
- Vue 3 - Progressive JavaScript framework
- Tailwind CSS 4 - Utility-first CSS with CSS-first configuration
- Vite 7 - Next generation frontend tooling
Development Tools
- Bun - The fastest frontend build tool
- Pest v4 - Modern testing framework with browser testing support
- Laravel Pint - Opinionated code formatter
- Rector - Automated code refactoring
- Biome - Fast JavaScript/TypeScript formatter and linter
- Note: Might consider oxc as soon as the Formatter is stable
- Laravel Herd - Native Laravel development environment
Laravel specific configurations
- Prohibit destructive commands - Prevent accidental data loss in Prod
- Model should be strict – Prevent lazy loading and accessing missing attributes locally
- Model unguard – Remove the need for mass assignment protection in models
- Automatic eagerload relationships – Reduce N+1 queries automatically
- Safer Password defaults – Minimum of 8 characters & check if password is breached in Prod
- Use CarbonImmutable Dates - Use immutable dates everywhere
Project Structure
app/
├── Actions/ # Business logic (Action pattern)
├── Http/
│ └── Controllers/ # Thin controllers (orchestration only)
├── Models/ # Eloquent models
└── Providers/ # Service providers
resources/
├── scripts/ # All TypeScript Files
│ pages/ # Inertia Vue Pages
└── css/ # Tailwind CSS
tests/
├── Feature/ # Feature tests
├── Unit/ # Unit tests
└── Browser/ # Browser tests