Atelier - A visual page builder plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Atelier - A visual page builder

Community

A visual page builder where developers define blocks in code and clients arrange them in a full-screen editor with a live preview that renders the real page.

Supported versions:
5.x
Abdulkader Safi avatar Author: Abdulkader Safi

Package health

Beta

Automated checks of this plugin's Composer package

90 / 100
Security 85
Maintenance 100
15 checks
  • Skipped: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Skipped: Dependabot or Renovate configured
  • Skipped: Dependency update cooldown configured
  • Failed: Provides a security policy View details on Plumb
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 1 days ago; last release 1 days ago.
  • Skipped: composer.lock not committed by library
  • Skipped: Dist archive is lean
  • Skipped: Current Laravel version supported
  • Skipped: Current PHP version supported
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 18 hours ago

Documentation

A visual page builder for Laravel, built as a Filament plugin.

Watch the demo: Laravel + FilamentPHP, my new page builder project

A developer defines the sections in code. The client builds pages from them in a full-screen editor, and sees the real page render as they type. The public site stays server-rendered Blade, bilingual, and fast.

#Status

MVP, and installable. Blocks, the builder, page settings, SEO and public pages all work. See Docs/installation.md to put it on a project, and the limits at the bottom of that file before you promise anything to a client.

The package is the repository root. example/ is a Laravel 13 app that installs it for testing, and Docs/ holds the spec. Both are export-ignored, so composer require pulls the package and nothing else.

#The idea

A page is stored as a JSON tree of typed blocks and rendered by Blade at request time. That's Gutenberg's data model with Elementor's rendering approach, and it avoids the parts of both that hurt: no HTML stored in the database, no block validation, no deprecation chains.

A block type is one PHP class and one Blade view. The class declares its key, label, icon and category, plus a Filament schema that becomes its settings form. Register it and it shows up in the section picker. Adding a block never means editing a file inside the plugin.

The editor puts the section list on the left and a live iframe beside it. Selecting a section swaps the list for that section's settings. The iframe loads the public layout and the public stylesheet, so what the client sees is what ships. There's a width switcher for desktop, tablet and mobile, because the point of a preview is catching a headline that wraps onto three lines before anyone else does.

#Install

Packagist License

composer require safi/filament-atelier
php artisan vendor:publish --tag=filament-atelier-migrations
php artisan migrate && php artisan storage:link

Register AtelierPlugin::make()->blocks(DefaultBlocks::all()) in your panel, and point Tailwind at the package's views. Full steps, including the one that fails silently if you skip it, are in Docs/installation.md.

#What v1 covers

  • Three-pane editor: add, reorder, duplicate, hide and delete sections, with live preview
  • A marketing block set: header, hero, features, logo wall, testimonials, CTA, FAQ, rich text, image, gallery, contact form, footer, plus raw HTML as an escape hatch
  • English and Arabic on every page, with dir="rtl" and hreflang
  • Draft and published as separate columns, so editing never touches the live page, plus revision snapshots and shareable signed preview links
  • Per-locale SEO fields, JSON-LD, and a sitemap covering both locales
  • Scroll animations picked from a dropdown, backed by GSAP
  • Design tokens shared by the editor and the front end
  • Per-block asset loading and a Core Web Vitals budget

Block types are defined in code in v1. Creating new block types from the panel is planned for v2.

#Built on

Laravel 12/13, Filament v4, Livewire 4, Alpine 3, Tailwind 4, GSAP 3.15.

No page-builder dependency. Atelier owns the page model, slug resolution, routing and rendering, so there's no third-party page abstraction to work around or wait on. The reasoning is in Docs/prd.md under "Why not Fabricator".

#Documentation

Everything lives in Docs/, and later documents override earlier ones.

  • Docs/prd.md is the current spec and the authority
  • Docs/tasks/ is the work breakdown, one file per feature in build order
  • Docs/architecture.md is the technical design, partly superseded, with a banner saying which parts
  • Docs/research/ holds background briefs on Gutenberg, Elementor, Filament plugin development, and preview/drafts/animation/SEO

Start with Docs/overview.md if you want the short version.

#A note on GSAP

GSAP has been free for commercial use since April 2025, including the plugins that used to be behind Club GreenSock. It is not MIT and it is not open source. It ships fine in client projects, but don't describe it as open source.

#Licence

MIT. See LICENSE.md.

The MIT license covers Atelier's own code. It does not extend to dependencies, and GSAP in particular carries its own terms (see the note above).

The author

Abdulkader Safi avatar Author: Abdulkader Safi

I'm Abdulkader, a lead software engineer from Lebanon, based in Kuwait.

I've been building software since I was 13.

I work on web and mobile apps, AI products, and the developer tools in between, and I still treat every project like it's the one people will remember.

Plugins
1
Stars
3