Download the PHP package frankencms/franken-cms without Composer

On this page you can find all versions of the php package frankencms/franken-cms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package franken-cms

Franken CMS

Latest Version on Packagist GitHub Tests Action Status Total Downloads

A WordPress alternative for Laravel. Powered by FilamentPHP and the TALL stack.

Franken CMS gives you content management — posts, pages, taxonomies, menus, SEO, and a template field system — as a Laravel package. Build your app your way without being locked into a rigid structure.

Beta — Franken CMS is in active development. APIs may change before the stable release.

Documentation

Full documentation is available at frankencms.com.

Quick Start

Requirements

Installation

Then run the installer:

The installer will guide you through publishing config, running migrations, registering the Filament plugin, and setting up your theme.

AI Content Generation (Igor)

Franken CMS ships with optional AI-assisted content generation (SEO titles, meta descriptions, teasers, alt text, blog post drafts) built on the laravel/ai SDK. It's entirely opt-in — the package is not required to run Franken CMS.

Install the SDK

Configure a provider

Add your API key(s) to .env. Franken CMS reads provider credentials straight from config/ai.php, so no key is stored in the database:

See vendor/laravel/ai/config/ai.php for the full list of supported providers (Azure, Bedrock, Cohere, DeepSeek, ElevenLabs, Groq, Jina, Mistral, OpenAI-compatible, OpenRouter, VoyageAI, xAI, and more). Optionally publish the config to customize it further:

Ollama requires no API key. It's disabled by default to avoid advertising a "local" provider that may not actually be running; opt in explicitly in .env:

Enable Igor

With the SDK installed and at least one provider configured, go to CMS Settings → Igor in the Filament admin panel and toggle Igor on. AI features activate only when all three are true: the SDK is installed, a provider has credentials, and the toggle is enabled.

Note: API keys are no longer stored in the database. If you're upgrading from an older Franken CMS version, remove any stale cms_ai.api_key row from your settings table (or run php artisan migrate:fresh) and set the key in .env instead.

Text and image engines

Text generation and image generation are configured independently in CMS Settings → Igor → Provider:

Text Generation — powers SEO titles, meta descriptions, teasers, alt text, and blog post drafts.

Image Generation — powers featured image generation (and any future image features).

Both engines have a Test Model button that fires a minimal probe with the currently selected provider/model and reports either success or the provider's exact error. Use it whenever a model misbehaves — providers (notably OpenAI) list models in their API that your project may not have permission to invoke, and the only reliable way to know is a real call. The image test generates one small low-quality image, so it asks for confirmation first (your provider bills for it, typically a cent or two).

Featured image generation

Igor can generate a post's featured image using the image engine above. Configure the feature itself in CMS Settings → Igor → Prompts → Featured Image Generation:

Once enabled, a Generate with AI button appears next to the featured image upload when editing an existing post or page (it's hidden while creating a new one, since there's no record yet to attach the image to). The button opens a modal with the prompt pre-filled from your template, editable before generating. The generated image's aspect ratio follows the featured image aspect ratio configured in Media settings (21:9 and custom ratios fall back to 16:9), and it replaces the current featured image on success.

Troubleshooting

Open Graph Images

Franken CMS can generate og:image and twitter:image previews automatically for posts and pages, built on spatie/laravel-og-image. It's entirely opt-in — without the package, manual per-post uploads and the site default image keep working exactly as before.

Install the package

The franken-cms:install command will also offer to install and wire it up for you.

Map templates

Templates are mapped by post type in config/franken-cms.php. Publish the config if you haven't (php artisan vendor:publish --tag=franken-cms-config) — the mappings ship commented out, so generation stays off until you enable them:

Each template is a plain Blade view rendered on a 1200×630 canvas and receives $post — do not wrap it in <x-og-image> yourself, Franken CMS's component handles that.

The example theme ships two ready-made designs in theme/og-templates/:

Both are fully self-contained (fonts and CSS live inside the template, no asset rebuild needed), scale the title to its length, honor each image's focal point, and degrade gracefully when data is missing — edit them freely, or use them as a reference for your own. Preview any page's card by appending ?ogimage to its URL; the image URL contains a content hash, so design changes bust caches automatically.

Add the component

Drop <x-franken-og-image /> into your theme layout before </body> (the example theme ships with it already in place).

Resolution order

For each page, an image is resolved in this order: per-post uploaded image → mapped template → site default image → site-wide fallback template. The fallback template is opt-in — point og_image.default_template in config/franken-cms.php at a Blade view (the example theme ships one at theme.og-templates.default) and it generates an image for any page that would otherwise have none. Posts that opt into Twitter summary cards (instead of large-image cards) keep the classic manual og:image/twitter:image tag path.

Rendering environment

Image generation needs Chrome and Node available on the server:

If that's not an option, set the following in .env to render via Cloudflare's Browser Rendering API instead:

Cloudflare needs a publicly reachable URL. Its browser runs in Cloudflare's cloud and fetches your page to screenshot it, so it cannot see local domains like https://myapp.test — screenshots fail with a network error. Use the local Chrome driver for local development (leave the CLOUDFLARE_* vars unset there) and enable Cloudflare in deployed environments.

Hand-coded pages

For routes outside the CMS (hand-coded, non-post/page views), use <x-og-image> directly per Spatie's documentation.

FrankenCMS's OG image generation is scoped to CMS-managed pages, so on these non-CMS routes it keeps emitting its own classic tags (including a site default og:image, if one is configured). That means a page using <x-og-image> directly will end up with Spatie's generated tag alongside FrankenCMS's classic tag. Crawlers generally take the first og:image they encounter, so if that matters, either remove the site default or skip the <x-og-image> component on that page.

Previewing

Append ?ogimage to any page URL to preview the generated image directly in the browser.

Testing

Changelog

See CHANGELOG for version history.

Contributing

See CONTRIBUTING for details.

Security

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). See License File for more information.


All versions of franken-cms with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
diglactic/laravel-breadcrumbs Version ^10.0
filament/filament Version ^v5.0.0
filament/spatie-laravel-media-library-plugin Version ^v5.0.0
filament/spatie-laravel-settings-plugin Version ^v5.0.0
illuminate/contracts Version ^13.0
illuminate/support Version ^13.0
laravel/head Version ^0.1.0
league/html-to-markdown Version ^5.1.1
mallardduck/blade-lucide-icons Version ^1.26
spatie/laravel-medialibrary Version ^11.17.8
spatie/laravel-package-tools Version ^1.92.7
spatie/laravel-sitemap Version ^7.3.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package frankencms/franken-cms contains the following files

Loading the files please wait ...