v1 LiVue v1 is here — server-driven reactivity for Laravel using Vue.js Get Started →
1.5.15 Stable

Server-driven reactivity
for Laravel using Vue.js

Server-driven reactivity for Laravel using Vue.js. Write reactive components with PHP on the server and Vue.js on the client, combining the best of both worlds.

$ composer require livue/livue

Why LiVue?

The best of Laravel and Vue.js in one package

Server-Driven State

PHP controls the source of truth. Your business logic stays on the server where it belongs.

Vue.js Reactivity

Full Vue 3 directive support in Blade templates. Use v-model, v-if, v-for, and more.

Automatic AJAX

Request pooling, state synchronization, and optimized batching out of the box.

Secure by Default

HMAC checksums, CSRF protection, method guards, and automatic validation.

File Uploads

Built-in support for single and multiple file uploads with progress tracking and previews.

Real-time Streaming

Stream responses for AI integrations, progress updates, and live content.

Simple & Intuitive

Write reactive components with familiar Laravel patterns

Counter.php
class Counter extends Component
{
    public int $count = 0;

    public function increment(): void
    {
        $this->count++;
    }

    public function decrement(): void
    {
        $this->count--;
    }
}
counter.blade.php
<div>
    <h2>Counter: {{ $count }}</h2>

    <button v-click="decrement">-</button>
    <button v-click="increment">+</button>
</div>