ComfyCoders TranquilTools
Docs /Laravel Vue FormBuilder
Repository
v1

Installation

Requirements

  • PHP 8.2+
  • Laravel 11, 12, or 13
  • Vue 3 with Inertia.js

1. Install via Composer

composer require tranquil-tools/laravel-vue-form-builder

This package is the Vue renderer. It pulls in tranquil-tools/laravel-form-builder — the PHP core that defines fields, validation, config and the schema — as a dependency, so a single require is still all you need. The service provider is auto-discovered and the TranquilTools\FormBuilder\ namespace is unchanged, so existing application code keeps working.

Core and renderer share a schema contract. The core stamps every payload with a schemaVersion, and this package refuses to render a schema whose major version it does not implement: an error during development, a console warning in production. Keep both packages on matching majors and the check never fires.

2. Install frontend dependencies

The package ships raw .vue files that your application compiles, and Vite resolves their imports against your node_modules — never against the package's own manifest. Everything the components import therefore has to be installed in your project.

The Laravel Vue starter kit already provides vue, @inertiajs/vue3, @vueuse/core, clsx, class-variance-authority and tailwind-merge, so in practice you add two:

npm install reka-ui lucide-vue-next

The package's package.json declares all of them as peerDependencies with supported version ranges. It installs nothing — it exists so a version mismatch is documented rather than discovered through a broken component after an npm update.

No editor dependencies are needed here. A WYSIWYG editor is opt-in: the package never imports one, so your build stays free of Quill and friends unless you register an editor yourself. See WYSIWYG and WYSIWYG Adapters.

3. Add the Vite alias

Add the @form-builder alias to your vite.config.ts:

import { defineConfig } from 'vite';
import path from 'path';

export default defineConfig({
    plugins: [
        // ...
    ],
    resolve: {
        alias: {
            '@form-builder': path.resolve(
                __dirname,
                'vendor/tranquil-tools/laravel-vue-form-builder/resources/js'
            ),
        },
    },
});

4. Add the Tailwind CSS source

Add an @source directive to resources/css/app.css so Tailwind scans the package's Vue components:

@source '../../vendor/tranquil-tools/laravel-vue-form-builder/resources/js/**/*.vue';

5. Build assets

npm run build

6. Publish config (optional)

To customize WYSIWYG or reCAPTCHA settings, publish the config file:

php artisan vendor:publish --tag="form-builder-config"

This creates config/form-builder.php. See Configuration for all options.