A headless CMS. With a REST API.


A headless CMS. With a REST API. mmCMS is a Laravel package that provides a REST interface over creating structured data.

Table of Contents


composer global require thtg88/mmcms-installer

Make sure to place Composer's system-wide vendor bin directory in your $PATH so the mmcms executable can be located by your system. This directory exists in different locations based on your operating system; however, some common locations include:

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux Distributions: $HOME/.config/composer/vendor/bin or $HOME/.composer/vendor/bin

You could also find the composer's global installation path by running composer global about and looking up from the first line.

Once installed, the mmcms new command will create a fresh mmCMS installation in the directory you specify. For instance, mmcms new blog will create a directory named blog containing a fresh mmCMS installation with all of mmCMS's dependencies already installed:

mmcms new blog

Configure your database connection as you normally do within Laravel.

Next from your terminal run:

php artisan mmcms:install


Coming soon!


Clone the repo

# clone the repo
$ git clone mmcms

# create a new Laravel application
$ laravel new mmcms-api

Add mmcms as a dependency of your API project in composer.json:

    "repositories": [
            "type": "path",
            "url": "../mmcms"
    "require": {
        "thtg88/mmcms": "*"

Next from your terminal run:

# Run composer update to bring in mmCMS as dependancy
composer update

# And install mmCMS
php artisan mmcms:install


mmCMS uses PHPUnit for testing.

You can run the whole tests suite using:

composer run-script test

# or
composer test

# or


mmCMS is open-sourced software licensed under the MIT license.

Security Vulnerabilities

If you discover a security vulnerability within mmCMS, please send an e-mail to Marco Marassi at All security vulnerabilities will be promptly addressed.