BETA We're building something new — all help is welcome! Contribute →
v0.1.0 Beta

Server-driven reactivity
for Laravel using Vue.js

LiVue brings the Livewire development experience to 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 Livewire 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>

Heavily inspired by Livewire. Thank you to Caleb Porzio and the Livewire team.