FrankenCMS

FrankenCMS

An Opinionated CMS for Laravel

v1.0.0-beta.1 beta

IT'S ALIVE! ...It's a CMS.

Dr. Von Frankenstein

"After years in the laboratory, I have done what they said was impossible! I have stitched together the finest parts of the TALL stack to create the perfect content management creature!"

Igor

"Master, I think they just call it a CMS. The villagers are going to be so... mildly impressed."

php
composer require frankencms/franken-cms @beta
Scroll to explore

Behold! The Component Parts

Dr. Von Frankenstein

"Each organ has been carefully harvested from the finest open-source specimens and stitched together with surgical precision!"

Igor

"We got most of them legally this time, Master."

Posts & Pages

The brain of the operation! Hierarchical pages, custom post types, and rich text editing that would make even the village scholars weep with joy.

Template Fields

The nervous system! Define editable fields directly in Blade with @frankenText, @frankenRepeater, and more. Pure electrical genius!

Taxonomies

The organizational cortex! Categories, tags, and custom taxonomies to keep your content specimens properly catalogued.

Menu Builder

The skeletal structure! Drag-and-drop navigation that even Igor can operate. "Hey!"

Media Library

The eyes of the creature! Spatie Media Library with responsive images and focal point cropping. It sees everything beautifully!

SEO Tools

The voice box! Meta tags, Open Graph, Twitter cards, XML sitemaps. Your creature will be heard across the land!

Dynamic Settings

The control panel! Type-safe configuration that even external packages can plug into. Like adding a new limb!

Modular Design

Interchangeable parts! Build your own user roles, extend the Filament panel, add custom fields. Your laboratory, your rules!

AI Integration

A brain that thinks for itself! OpenAI and Anthropic support for generating titles, descriptions, and alt text. "Master, should we be worried?"

"Witness My Greatest Innovation!"

Dr. Von Frankenstein

"Conventional scientists define their fields in some distant configuration dungeon. BAH! I define them directly in the template, right where the creation happens!"

Igor

"It's actually quite practical, Master. Very DRY."

  • Fields materialize instantly in the admin panel
  • Smart caching that knows when to regenerate
  • Octane and FrankenPHP compatible (naturally)
Study the Technique
page-home.blade.php

<h1>
    @frankenText('hero.title', [
        'label' => 'Hero Title',
        'default' => 'Welcome'
    ])
</h1>


<meta property="og:title"
      content="{{ frankenField('hero.title') }}">


@frankenRepeater('features', [
    'schema' => [
        ['name' => 'title', 'type' => 'text'],
        ['name' => 'desc', 'type' => 'textarea']
    ]
])
    <div>
        <h3>{{ $franken->title }}</h3>
        <p>{{ $franken->desc }}</p>
    </div>
@endFrankenRepeater

"Why Choose My Creation?"

Dr. Von Frankenstein

"Other CMSs want you to abandon your laboratory and move into theirs. BAH! I built something that moves into YOUR laboratory instead."

Igor

"It's true. We didn't have to throw out any of our existing... equipment."

A Package, Not a Prison

  • Installs into any Laravel app
  • Works alongside your existing code
  • No separate framework to learn
  • Composer require and go

Building Blocks, Not Blueprints

  • Use what you need, skip what you don't
  • No forced conventions or structures
  • Extend or override anything
  • Your architecture, respected

No New Monsters to Tame

  • Just Laravel and Filament
  • No proprietary templating language
  • No custom query builders
  • Your existing skills apply directly

Assembled from the TALL Stack

Dr. Von Frankenstein

"Only the finest components! Each one hand-selected from the crypts of the Laravel ecosystem."

Igor

"Master, you got them from Packagist. I watched you type 'composer require'."

Tailwind CSS

The beautiful skin

Alpine.js

The quick reflexes

Livewire

The beating heart

Laravel

The strong bones

Dr. Von Frankenstein

"And for the brain's interface, FilamentPHP v5! A beautiful admin panel that requires zero configuration. Even Igor figured it out on his first try!"

Igor

"That was actually my second try, Master."

Ready to Create Life?

Dr. Von Frankenstein

"If you want a CMS that does things its own way, with opinions about how content should work, then step into the laboratory! It's not for everyone, but nothing great ever is."

Igor

"Master means it's opinionated. But in a good way. Mostly."

For developers who like things a certain way MIT Licensed Proudly Open Source
Mike Wall

"I got tired of every CMS telling me how to build. So I made my own—a bit of everything, stitched together my way. I built it for myself, had fun doing it, and hope you enjoy it too."

Mike Wall · mikewall.dev