PHPackages                             typicms/typicms - 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. [Localization &amp; i18n](/categories/localization)
4. /
5. typicms/typicms

ActiveProject[Localization &amp; i18n](/categories/localization)

typicms/typicms
===============

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

16.1.10(2mo ago)1.6k3↑2900%498[4 issues](https://github.com/typicms/typicms/issues)MITPHPPHP ^8.3

Since Dec 28Pushed 1mo ago71 watchersCompare

[ Source](https://github.com/typicms/typicms)[ Packagist](https://packagist.org/packages/typicms/typicms)[ GitHub Sponsors](https://github.com/typicms)[ RSS](/packages/typicms-typicms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (38)Versions (581)Used By (0)

TypiCMS
=======

[](#typicms)

[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Larastan](https://camo.githubusercontent.com/4470f8df20a6d13b9eac69d9a1f3abcd72eb30f8436f5355e69f06cb6bd970ab/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230352d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/nunomaduro/larastan)

TypiCMS is a modular multilingual content management system built with [Laravel](https://laravel.com). Out of the box you can manage pages, events, news, places, menus, translations, and more.

[![TypiCMS screenshot](https://camo.githubusercontent.com/0eb3c36e379509c09d41679c011c173791fd49d2b3434104c324fe509d2a57a6/68747470733a2f2f74797069636d732e6f72672f75706c6f6164732f66696c65732f74797069636d732d73637265656e73686f742e706e673f32)](https://camo.githubusercontent.com/0eb3c36e379509c09d41679c011c173791fd49d2b3434104c324fe509d2a57a6/68747470733a2f2f74797069636d732e6f72672f75706c6f6164732f66696c65732f74797069636d732d73637265656e73686f742e706e673f32)

Table of contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
    - [Assets](#assets)
    - [Locales configuration](#locales-configuration)
    - [Installation of a module](#installation-of-a-module)
    - [Module scaffolding](#module-scaffolding)
- [Available modules](#available-modules)
    - [Pages](#pages)
    - [Menus](#menus)
    - [Projects](#projects)
    - [Tags](#tags)
    - [Events](#events)
    - [News](#news)
    - [Contacts](#contacts)
    - [Partners](#partners)
    - [Files](#files)
    - [Users and roles](#users-and-roles)
    - [Blocks](#blocks)
    - [Translations](#translations)
    - [Sitemap](#sitemap)
    - [Settings](#settings)
    - [History](#history)
- [Artisan commands](#artisan-commands)
- [Change log](#change-log)
- [Contributing](#contributing)
- [Credits](#credits)
- [Licence](#licence)

Features
--------

[](#features)

- **Multilingual** — full support for multiple languages with locale-prefixed URLs
- **Modular** — install only the modules you need; publish and customize any of them
- **Dark mode** — the admin panel supports both light and dark themes
- **Rich text editing** — [TipTap](https://tiptap.dev) editor with support for floating images, tables, YouTube embeds, iframes, and an HTML source view
- **Passkey and OTP authentication** — secure, passwordless login options for admin users
- **Page sections** — pages can have multiple content sections, each with its own template
- **Nestable pages and menus** — drag-and-drop reordering with automatic URI generation
- **File management** — upload and organize images, documents, and folders with [Uppy](https://uppy.io), image cropping with [Cropper.js](https://fengyuanchen.github.io/cropperjs/), and SVG sanitization on upload
- **Roles and permissions** — fine-grained access control via [spatie/laravel-permission](https://github.com/spatie/laravel-permission)
- **History log** — create, update, delete, online, and offline events are logged and shown in the dashboard
- **Vue.js 3** frontend powered by [Vite](https://vitejs.dev) and written in TypeScript

### URLs

[](#urls)

The CMS manages the following URL patterns:

**Modules:**

- /en/events/slug-in-english
- /fr/evenements/slug-en-francais

**Pages:**

- /en/parent-page-slug/subpage-slug/page-slug
- /fr/slug-parent/slug-sous-page/slug-page

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

[](#requirements)

- PHP 8.4+
- One of the database engines supported by Laravel (MySQL, PostgreSQL, SQLite, SQL Server)

For all server requirements, see the [Laravel deployment documentation](https://laravel.com/docs/master/deployment#server-requirements).

Installation
------------

[](#installation)

```
composer create-project typicms/typicms mywebsite

```

---

Go to  and log in using a password.

### Assets

[](#assets)

Assets are bundled with [Vite](https://laravel.com/docs/master/vite). Install [Bun](https://bun.sh), then run:

1. Install npm packages:

    ```
    bun install

    ```
2. Start the development server:

    ```
    bun run dev

    ```
3. Build for production:

    ```
    bun run prod

    ```

### Locales configuration

[](#locales-configuration)

1. Set the locales in `config/typicms.php`. The first key of this array is the main locale and must match the locale defined in `config/app.php`.
2. Set `main_locale_in_url` in `config/typicms.php` to `true` or `false` depending on whether you want the main locale to appear in the URL.

### Installation of a module

[](#installation-of-a-module)

The following example installs the News module. After these steps, the module will appear in the admin sidebar.

1. Install the module with Composer:

    ```
    composer require typicms/news

    ```
2. Publish the views and migrations:

    ```
    php artisan vendor:publish

    ```
3. Run the database migration:

    ```
    php artisan migrate

    ```

### Module scaffolding

[](#module-scaffolding)

To generate a new custom module called Cats:

1. Create the module:

    ```
    php artisan typicms:create cats

    ```
2. The module is created in `/Modules/Cats`. Customize it as needed.
3. Add `TypiCMS\Modules\Cats\Providers\ModuleServiceProvider::class,` to `bootstrap/providers.php`, in the *TypiCMS Modules Service Providers* section.
4. Run the migration:

    ```
    php artisan migrate

    ```

Available modules
-----------------

[](#available-modules)

Each module can be [published](#publish-a-module) to be tracked by git and customized locally.

### Pages

[](#pages)

Pages are nestable with drag and drop. On a drop, URIs are regenerated and saved in the database. Each translation of a page has its own route. A page can be linked to a module and can have multiple sections, each using its own template.

The admin panel includes a searchable pages tree with keyboard-accessible expand/collapse controls.

### Menus

[](#menus)

Each menu has nestable entries. An entry can link to a page or a URL, and can optionally link to a specific section of a page.

Render an HTML menu in a Blade file with `@menu('menuname')`.

### Projects

[](#projects)

Projects have categories. Project URLs follow this pattern: `/en/projects/category-slug/project-slug`.

### Tags

[](#tags)

Tags support polymorphic many-to-many relations, so they can be linked to any module. The tag input uses [Tom Select](https://tom-select.js.org).

### Events

[](#events)

Events have starting and ending dates.

### News

[](#news)

News module.

### Contacts

[](#contacts)

Frontend contact form with admin-side records management. Notifications are sent to the visitor and the webmaster.

### Partners

[](#partners)

A partner has a logo, website URL, title, and body content.

### Files

[](#files)

The file manager lets you upload and organize images, documents, and folders. File uploads use [Uppy](https://uppy.io) with drag-and-drop support and a compression step before upload. Images can be cropped using [Cropper.js](https://fengyuanchen.github.io/cropperjs/). SVG files are sanitized on upload. Images can be swapped in place from the file manager.

To store original images on a remote service such as Amazon S3 while serving cropped images from local disk, set `FILESYSTEM_DRIVER=s3` in your `.env` file and configure `croppa.php` accordingly.

### Users and roles

[](#users-and-roles)

Admins can authenticate with a passkey or a one-time password in addition to a standard password. User registration can be enabled in the settings panel (`/admin/settings`). Roles and permissions are managed with [spatie/laravel-permission](https://github.com/spatie/laravel-permission). Admins can impersonate users.

### Blocks

[](#blocks)

Blocks let you display custom content in your views.

Render a block in Blade with `Blocks::render('blockname')` or `@block('blockname')`.

### Translations

[](#translations)

Translations can be managed in the database via the admin panel (`/admin/translations`).

Retrieve a translation using the standard Laravel helpers: `__('Key')`, `trans('Key')`, or `@lang('Key')`.

### Sitemap

[](#sitemap)

A sitemap is generated automatically from all published pages. It is available at `/sitemap.xml`.

### Settings

[](#settings)

Manage the website title, logo, and other global options in the settings panel.

### History

[](#history)

Create, update, delete, online, and offline events are logged in the database. The most recent records are shown on the back-office dashboard.

Artisan commands
----------------

[](#artisan-commands)

### Install TypiCMS

[](#install-typicms)

```
php artisan typicms:install

```

### Run the initial migration and seed

[](#run-the-initial-migration-and-seed)

```
php artisan typicms:database

```

This command is called automatically by `typicms:install`.

### Create a superuser

[](#create-a-superuser)

```
php artisan typicms:user

```

### Publish a module

[](#publish-a-module)

To customize a module — for example, to add fields or a relation — publish it:

```
php artisan typicms:publish

```

This will:

1. Publish the module's views and migrations.
2. Copy the module source to `/Modules/`.
3. Remove the Composer package with `composer remove typicms/`.

Once published, the module lives in `/Modules/` and is tracked by git, so changes are preserved across `composer update` runs.

Changelog
---------

[](#changelog)

Please see [CHANGELOG](https://github.com/TypiCMS/Base/blob/master/CHANGELOG.md) for more information on what has changed.

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

[](#contributing)

Please see [CONTRIBUTING](https://github.com/TypiCMS/Base/blob/master/CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Samuel De Backer](https://github.com/sdebacker)
- [All contributors](https://github.com/TypiCMS/Base/graphs/contributors)

License
-------

[](#license)

TypiCMS is open-source software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

67

—

FairBetter than 99% of packages

Maintenance90

Actively maintained with recent releases

Popularity33

Limited adoption so far

Community32

Small or concentrated contributor base

Maturity98

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.2% 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 ~7 days

Total

580

Last Release

65d ago

Major Versions

11.0.x-dev → 12.0.02025-01-23

12.0.x-dev → 13.0.02025-03-03

13.0.x-dev → 14.0.02025-03-26

14.0.x-dev → 15.0.02025-08-18

15.0.25 → 16.0.02025-11-02

PHP version history (10 changes)2.5.19PHP &gt;=5.5.9

3.0.0PHP &gt;=7.0.0

4.0.x-devPHP ^7.1.3

7.0.0PHP ^7.2

8.0.0PHP ^7.3

9.0.15PHP ^7.3|^8.0

10.0.0PHP ^8.0.2

11.0.0PHP ^8.1

12.0.0PHP ^8.2

16.1.9PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/b93740e4c6b40a6219441696db5db9c4b635dad91339c1893dfe0813434e8d94?d=identicon)[Samuel De Backer](/maintainers/Samuel%20De%20Backer)

---

Top Contributors

[![sdebacker](https://avatars.githubusercontent.com/u/134503?v=4)](https://github.com/sdebacker "sdebacker (2499 commits)")[![rperello](https://avatars.githubusercontent.com/u/1245082?v=4)](https://github.com/rperello "rperello (7 commits)")[![ldaril](https://avatars.githubusercontent.com/u/6200296?v=4)](https://github.com/ldaril "ldaril (4 commits)")[![hooper21](https://avatars.githubusercontent.com/u/2732860?v=4)](https://github.com/hooper21 "hooper21 (2 commits)")[![enlightened88](https://avatars.githubusercontent.com/u/198119344?v=4)](https://github.com/enlightened88 "enlightened88 (1 commits)")[![HDVinnie](https://avatars.githubusercontent.com/u/12850699?v=4)](https://github.com/HDVinnie "HDVinnie (1 commits)")[![04cb](https://avatars.githubusercontent.com/u/111667698?v=4)](https://github.com/04cb "04cb (1 commits)")[![kezkankrayon](https://avatars.githubusercontent.com/u/4531909?v=4)](https://github.com/kezkankrayon "kezkankrayon (1 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![chriskonnertz](https://avatars.githubusercontent.com/u/4319323?v=4)](https://github.com/chriskonnertz "chriskonnertz (1 commits)")[![scil](https://avatars.githubusercontent.com/u/2786775?v=4)](https://github.com/scil "scil (1 commits)")[![Cadranel-Kael](https://avatars.githubusercontent.com/u/12846923?v=4)](https://github.com/Cadranel-Kael "Cadranel-Kael (1 commits)")

---

Tags

cmslaravelmultilingualphpwebsite-builderlaravelmultilingualcmsTypi

###  Code Quality

Static AnalysisRector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/typicms-typicms/health.svg)

```
[![Health](https://phpackages.com/badges/typicms-typicms/health.svg)](https://phpackages.com/packages/typicms-typicms)
```

###  Alternatives

[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.3k](/packages/typicms-base)[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[asgardcms/platform

The AsgardCms application.

78860.8k](/packages/asgardcms-platform)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)

PHPackages © 2026

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