PHPackages                             artisanpack-ui/cms-framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. artisanpack-ui/cms-framework

ActiveLibrary[Framework](/categories/framework)

artisanpack-ui/cms-framework
============================

Adds in the back end support for building a CMS with any front end framework.

1.0.1(4mo ago)021[11 issues](https://github.com/ArtisanPack-UI/cms-framework/issues)MITPHPPHP ^8.2

Since Jun 2Pushed 1mo agoCompare

[ Source](https://github.com/ArtisanPack-UI/cms-framework)[ Packagist](https://packagist.org/packages/artisanpack-ui/cms-framework)[ RSS](/packages/artisanpack-ui-cms-framework/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (19)Versions (17)Used By (0)

ArtisanPack UI CMS Framework
============================

[](#artisanpack-ui-cms-framework)

[![Latest Version on Packagist](https://camo.githubusercontent.com/d1e9eec884fc4c03a26e5339b8c1b28c754e9f39ea7262e2ccd7888c27446e4f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6172746973616e7061636b2d75692f636d732d6672616d65776f726b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/artisanpack-ui/cms-framework)[![GitHub Tests Action Status](https://camo.githubusercontent.com/965163d17491533b7c2794218c988b88c0dea3887eaa716f9ca34476c43b10ba/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6172746973616e7061636b2d75692f636d732d6672616d65776f726b2f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/artisanpack-ui/cms-framework/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/7fa93784005200dc8774a3d9125103119870bd1e8189007730f734be97fcd900/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f6172746973616e7061636b2d75692f636d732d6672616d65776f726b2f436865636b253230262532306669782532307374796c696e673f6c6162656c3d636f64652532307374796c65)](https://github.com/artisanpack-ui/cms-framework/actions?query=workflow%3A%22Check+%26+fix+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/c4b5d9784762dee910e3c46ef178d399c1d2ad598fbd451fa10f15cc74110f94/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6172746973616e7061636b2d75692f636d732d6672616d65776f726b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/artisanpack-ui/cms-framework)

A comprehensive Laravel package that provides back-end support for building a CMS with any front-end framework. This package offers a complete set of features for content management, user management, authentication, and more.

Features
--------

[](#features)

- **Content Management**: Content types, taxonomies, and media management
- **Admin Interface**: Admin pages, dashboard widgets, and settings management
- **User Management**: User roles, permissions, and profiles
- **Authentication**: Two-factor authentication with Laravel Sanctum integration
- **Notifications**: Comprehensive notification system
- **Themes &amp; Plugins**: Support for themes and plugins ⚠️ **Experimental in Beta**
- **Core Updates**: Automatic update checking and management with rollback support
- **PWA Support**: Progressive Web App features
- **Audit Logging**: Track changes and user actions

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 12.0 or higher
- Laravel Sanctum 4.1 or higher

Quick Installation
------------------

[](#quick-installation)

You can install the CMS Framework package by running the following composer command:

```
composer require artisanpack-ui/cms-framework
```

After installation, publish the configuration file:

```
php artisan vendor:publish --tag=cms-framework-config
```

Run the migrations to set up the database tables:

```
php artisan migrate
```

Documentation
-------------

[](#documentation)

📚 **[Complete Documentation](docs/)**

- **[Installation Guide](docs/installation.md)** - Detailed installation and setup instructions
- **[Configuration](docs/configuration.md)** - Configuration options and environment setup
- **[Usage Guide](docs/usage.md)** - Comprehensive usage examples and tutorials
- **[API Documentation](docs/api.md)** - Complete REST API reference
- **[Migration Guide](docs/migration.md)** - Migrating from other CMS frameworks
- **[Testing](docs/testing.md)** - Testing strategies and examples
- **[Performance &amp; Troubleshooting](docs/performance.md)** - Optimization and common issues
- **[Contributing](docs/contributing.md)** - Development and contribution guidelines

Quick Start
-----------

[](#quick-start)

### Content Types

[](#content-types)

Register a custom content type:

```
use ArtisanPackUI\CMSFramework\Features\ContentTypes\ContentTypeManager;

app(ContentTypeManager::class)->register('product', [
    'name' => 'Product',
    'plural' => 'Products',
    'description' => 'Products for the store',
    'supports' => ['title', 'editor', 'thumbnail'],
]);
```

### Admin Pages

[](#admin-pages)

Register a custom admin page:

```
use ArtisanPackUI\CMSFramework\Features\AdminPages\AdminPagesManager;

app(AdminPagesManager::class)->addPage([
    'title' => 'Custom Settings',
    'slug' => 'custom-settings',
    'callback' => function() {
        return view('custom.settings');
    }
]);
```

### Settings

[](#settings)

Register and retrieve settings:

```
use ArtisanPackUI\CMSFramework\Features\Settings\SettingsManager;

// Register a setting
app(SettingsManager::class)->register('site_name', 'My Awesome Site');

// Get a setting
$siteName = app(SettingsManager::class)->get('site_name');
```

### Customization with Hooks

[](#customization-with-hooks)

The CMS Framework uses hooks and filters for extensive customization:

```
// addFilter and addAction are global helper functions provided by the framework

// Add a filter
addFilter('ap.cms.migrations.directories', function($directories) {
    $directories[] = __DIR__ . '/database/migrations';
    return $directories;
});

// Add an action
addAction('ap.cms.after_content_save', function($content) {
    // Do something after content is saved
});
```

Experimental Features
---------------------

[](#experimental-features)

The following features are **experimental** in the 1.0.0 release and should be used with caution in production environments:

### Plugin System

[](#plugin-system)

The plugin system provides a foundation for extending the CMS with custom functionality.

**What Works:**

- Plugin model with activation/deactivation tracking
- Plugin manager for lifecycle management
- Plugin installation and validation
- Plugin update manager integration

**Known Limitations:**

- Plugin lifecycle hooks not fully implemented
- No plugin dependency management
- Limited plugin configuration API
- No plugin marketplace integration

**Recommendation:** Use for testing and development. Not recommended for production until full lifecycle support is added in a future release.

### Theme System

[](#theme-system)

The theme system allows customization of the CMS appearance.

**What Works:**

- Theme manager with theme discovery
- Theme activation mechanism
- JSON manifest validation
- Basic theme structure

**Known Limitations:**

- Asset compilation not implemented
- No child theme support
- Limited theme customization API
- No theme preview functionality

**Recommendation:** Use for testing and development. Full theme support including asset compilation and child themes will be added in a future release.

### Reporting Issues

[](#reporting-issues)

If you encounter issues with experimental features, please report them on our [issue tracker](https://github.com/ArtisanPack-UI/cms-framework/issues) with the `experimental` label.

Contributing
------------

[](#contributing)

We welcome contributions! Please see **[Contributing Guide](docs/contributing.md)** for details on:

- Development setup
- Code style guidelines
- Testing requirements
- Submission process

Security
--------

[](#security)

If you discover a security vulnerability, please send an email to . All security vulnerabilities will be promptly addressed.

Credits
-------

[](#credits)

- [Jacob Martella](https://github.com/jacobmartella)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Changelog
---------

[](#changelog)

Please see **[CHANGELOG.md](CHANGELOG.md)** for more information on what has changed recently.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance85

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~25 days

Recently: every ~32 days

Total

8

Last Release

129d ago

Major Versions

0.2.4 → 1.0.0-beta12025-12-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/ba2a2c40c9a93470595cd10701d2291434f3a7db61862d9700a9e69e31608c6c?d=identicon)[JacobMartellaWebDesign](/maintainers/JacobMartellaWebDesign)

---

Top Contributors

[![ViewFromTheBox](https://avatars.githubusercontent.com/u/8247489?v=4)](https://github.com/ViewFromTheBox "ViewFromTheBox (118 commits)")

---

Tags

blogcmscontent-managementheadless-cmslaravellaravel-cmslaravel-packagepagesphpthemes

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/artisanpack-ui-cms-framework/health.svg)

```
[![Health](https://phpackages.com/badges/artisanpack-ui-cms-framework/health.svg)](https://phpackages.com/packages/artisanpack-ui-cms-framework)
```

###  Alternatives

[statamic/statamic

Statamic

824170.4k](/packages/statamic-statamic)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
