PHPackages                             mecha-cms/mecha - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. mecha-cms/mecha

ActiveProject[Parsing &amp; Serialization](/categories/parsing)

mecha-cms/mecha
===============

Minimalist content management system.

v3.2.1(11mo ago)18725425GPL-3.0-or-laterPHPPHP &gt;=7.3

Since Oct 12Pushed 4d ago18 watchersCompare

[ Source](https://github.com/mecha-cms/mecha)[ Packagist](https://packagist.org/packages/mecha-cms/mecha)[ Docs](https://mecha-cms.com)[ GitHub Sponsors](https://github.com/sponsors/mecha-cms)[ OpenCollective](https://opencollective.com/mecha-cms)[ RSS](/packages/mecha-cms-mecha/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (8)Versions (30)Used By (0)

Mecha CMS
=========

[](#mecha-cms)

Mecha is a flat-file content management system for minimalists.

[![Code Size](https://camo.githubusercontent.com/2f9b6630b00717053f242b17d3057a0fb33aa3d6d85abf46914b85e4172e9f05/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f6d656368612d636d732f6d656368613f636f6c6f723d253233343434267374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/2f9b6630b00717053f242b17d3057a0fb33aa3d6d85abf46914b85e4172e9f05/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f6d656368612d636d732f6d656368613f636f6c6f723d253233343434267374796c653d666f722d7468652d6261646765) [![License](https://camo.githubusercontent.com/c38d590903503beda1f49d025616d3ced655397c12582de80771982e00a8a7af/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d656368612d636d732f6d656368613f636f6c6f723d253233343434267374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/c38d590903503beda1f49d025616d3ced655397c12582de80771982e00a8a7af/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d656368612d636d732f6d656368613f636f6c6f723d253233343434267374796c653d666f722d7468652d6261646765)

[![Meme](https://user-images.githubusercontent.com/1669261/187597836-936abaa2-6898-4817-a968-346c4a678d93.png)](https://vincentdnl.com/drawings/developers-side-projects)

Front-End
---------

[](#front-end)

The [default layout](https://github.com/mecha-cms/y.log "Log Layout") uses only Serif and Mono fonts. Different operating systems may produce slightly different results. This preview was taken from a computer running [Arch Linux](https://github.com/taufik-nurrohman/arch "My Minimalist Desk Setup") operating system. The Serif font shown in the preview should be [DejaVu Serif](https://commons.wikimedia.org/wiki/File:DejaVuSerifSpecimen.svg "DejaVu Serif · Wikimedia Commons"):

[![Front-End](https://user-images.githubusercontent.com/1669261/190838629-860bfd9c-0444-4426-990f-71a604b95c32.png)](https://user-images.githubusercontent.com/1669261/190838629-860bfd9c-0444-4426-990f-71a604b95c32.png)

Back-End ([Optional](https://github.com/mecha-cms/x.panel "Panel Extension"))
-----------------------------------------------------------------------------

[](#back-end-optional)

To be able to activate the back-end feature requires you to install our [Alert](https://github.com/mecha-cms/x.alert "Alert Extension"), [Panel](https://github.com/mecha-cms/x.panel "Panel Extension"), and [User](https://github.com/mecha-cms/x.user "User Extension") extensions. This feature is forever optional. You can use this feature on the local version only, and remove it on the public version to secure your website (only if you don’t trust this extension).

[![Back-End](https://user-images.githubusercontent.com/1669261/193995098-3d4ff7c3-6d49-4d77-86e6-ca3ca0039d3f.png)](https://user-images.githubusercontent.com/1669261/193995098-3d4ff7c3-6d49-4d77-86e6-ca3ca0039d3f.png)

Colors and font types in the control panel preview above are generated from the [default skin](https://github.com/mecha-cms/x.panel.skin.default "Default Skin for Mecha’s Panel"). Without them, the display will look like the preview below:

[![Back-End](https://user-images.githubusercontent.com/1669261/193995030-9538357e-a5c4-4292-8ad2-a1e657f40acc.png)](https://user-images.githubusercontent.com/1669261/193995030-9538357e-a5c4-4292-8ad2-a1e657f40acc.png)

Features
--------

[](#features)

- Writing pages with ease using [Markdown](https://github.com/mecha-cms/x.markdown "Markdown Extension") extension.
- Unlimited page children.
- Unlimited page fields.
- Extensible as hell.
- Create unique design for each blog post by adding special CSS and JavaScript files using [Art](https://github.com/mecha-cms/x.art "Art Extension") extension.
- Built-in commenting system using [Comment](https://github.com/mecha-cms/x.comment "Comment Extension") extension.
- RSS and Sitemap using the [Feed](https://github.com/mecha-cms/x.feed "Feed Extension") and [Sitemap](https://github.com/mecha-cms/x.sitemap "Sitemap Extension") extension.
- Easy to use and well documented API.
- Almost everything are optional.
- Control panel using [Panel](https://github.com/mecha-cms/x.panel "Panel Extension") extension.

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

[](#requirements)

- Apache 2.4 and above, with enabled [`mod_rewrite`](http://httpd.apache.org/docs/current/mod/mod_rewrite.html "Apache Module `mod_rewrite`") module.
- PHP 7.3 and above.

Preparations
------------

[](#preparations)

1. Make sure that you already have the required components.
2. Download the available package from the [home page](https://mecha-cms.com "Mecha CMS").
3. Upload Mecha through your FTP/SFTP to the public folder/directory on your site, then extract it!
4. Take a look on the available extensions and layouts that you might be interested.
5. Upload your extension files to `.\lot\x` and your layout files to `.\lot\y`. They’re auto-loaded.
6. Read on how to add pages and tags. Learn on how to create pages from the author by looking at the [source code](https://github.com/mecha-cms/site "GitHub").
7. Install [Panel](https://github.com/mecha-cms/x.panel "Panel Extension") extension if you are stuck by doing everything manually. You always have the full control to remove this extension without having to worry that your site will stop running after doing so.

Alternatives
------------

[](#alternatives)

### Command Line

[](#command-line)

This assumes that your site’s public directory is in `/srv/http`. Make sure the folder is empty, or move the existing files to another place first. Don’t forget with that `.` at the end of the command as written in the example below, to clone the repository into the current root folder.

#### Using Composer

[](#using-composer)

```
cd /srv/http
composer create-project mecha-cms/mecha .
```

You may want to install our [Panel](https://github.com/mecha-cms/x.panel "Panel Extension") extension as well:

```
composer require mecha-cms/x.panel
```

#### Using Git

[](#using-git)

```
cd /srv/http
git clone https://github.com/mecha-cms/mecha.git --depth 1 .
git submodule update --init --recursive
```

You may want to install our [Panel](https://github.com/mecha-cms/x.panel "Panel Extension") extension as well. Here, [Alert](https://github.com/mecha-cms/x.alert "Alert Extension"), and [User](https://github.com/mecha-cms/x.user "User Extension") extension is required to be installed:

```
git submodule add https://github.com/mecha-cms/x.alert.git --depth 1 lot/x/alert
git submodule add https://github.com/mecha-cms/x.user.git --depth 1 lot/x/user
git submodule add https://github.com/mecha-cms/x.panel.git --depth 1 lot/x/panel
```

### Web Browser

[](#web-browser)

Download the installer file from  and then follow the instructions.

---

Contributors
------------

[](#contributors)

This project exists and survives because of you. I would like to thank all those who have taken the time to contribute to this project.

[![Contributors](https://camo.githubusercontent.com/d9159a75680b8d22764a4fa1b6ffe0038bfa9dc6fdd62a3c188672e48fbf4fd0/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f636f6e7472696275746f72732e7376673f6176617461724865696768743d323426627574746f6e3d66616c73652677696474683d383930)](https://github.com/mecha-cms/mecha/graphs/contributors)

Contribute financially to keep the project domain and website accessible to everyone. The website provides complete documentation and latest information regarding the software and future development plans. Some parts of the website also serve to provide a clean and efficient project file download feature which is obtained by managing responses from the [GitHub API](https://docs.github.com/en/rest/reference/repos).

### Backers

[](#backers)

[![Contribute](https://camo.githubusercontent.com/62f752d5a2d5d340b1a8590de5c422e80df66dd9ca5a7b3c9b869bfd99cc875a/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f696e646976696475616c732e7376673f77696474683d383930)](https://opencollective.com/mecha-cms)

### Sponsors

[](#sponsors)

[![0](https://camo.githubusercontent.com/c2c918e5ebae900e5373687ecd9f88ca3c425b9c193b69e1cc8b39584c2ce994/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f302f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/0/website)[![1](https://camo.githubusercontent.com/fd0141c56de109a96f3d19d6bacbec5d192c4b71fef25a05bd3ac04f92b8c79a/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f312f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/1/website)[![2](https://camo.githubusercontent.com/95401e98d06b78fe1f50aea04b004a7baf0be0024d82cece3157ceb13af895eb/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f322f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/2/website)[![3](https://camo.githubusercontent.com/b42b8154f73319c103fa6456c1d30643527633ca4ba2684211105eccb6a5d55b/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f332f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/3/website)[![4](https://camo.githubusercontent.com/7c7870dee8b8c4067feae0cf72c2bb28f15cbf9c14e24e7dbe7fbe83f735b7bd/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f342f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/4/website)[![5](https://camo.githubusercontent.com/2b1018376cee1784be9d9696504f5b45165ad22adaa9c0307e145162fa6db394/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f352f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/5/website)[![6](https://camo.githubusercontent.com/d9f773bd1675afca4263cc98899a6fda03f68d9a6fda08f82165b5d7e52f855b/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f362f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/6/website)[![7](https://camo.githubusercontent.com/8ae09c677c273bb8694ff825ed4381f628f34c9dcd033994495e726bcf4f17dd/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f372f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/7/website)[![8](https://camo.githubusercontent.com/37704a2b50ec7dcce09eb0b7d7c3480aa04263a450657c68a3f7ab03cf0b7059/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f382f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/8/website)[![9](https://camo.githubusercontent.com/e527aca7ab27b7239ccb0d470aeda6d52d2c00ad239d4920ec3d7824d8a87811/68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f6d656368612d636d732f6f7267616e697a6174696f6e2f392f6176617461722e737667)](https://opencollective.com/mecha-cms/organization/9/website)

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance79

Regular maintenance activity

Popularity30

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

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

Recently: every ~42 days

Total

29

Last Release

330d ago

Major Versions

v1.2.8 → v2.0.02018-01-15

v2.6.4 → v3.0.02024-08-26

PHP version history (4 changes)v1.1.4PHP &gt;=5.3.1

v2.0.0PHP &gt;=5.6.0

v2.2.0PHP &gt;=7.1.0

v3.0.0PHP &gt;=7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/c8f3805cca9aeaeb2e2d6a3bc796f98cd9fa9e36d0a064559ffc716c8ce73f0b?d=identicon)[taufik-nurrohman](/maintainers/taufik-nurrohman)

---

Top Contributors

[![taufik-nurrohman](https://avatars.githubusercontent.com/u/1669261?v=4)](https://github.com/taufik-nurrohman "taufik-nurrohman (2103 commits)")[![igoynawamreh](https://avatars.githubusercontent.com/u/12296592?v=4)](https://github.com/igoynawamreh "igoynawamreh (2 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![prayagverma](https://avatars.githubusercontent.com/u/829526?v=4)](https://github.com/prayagverma "prayagverma (1 commits)")[![renovate-bot](https://avatars.githubusercontent.com/u/25180681?v=4)](https://github.com/renovate-bot "renovate-bot (1 commits)")

---

Tags

apachecmsfileflatmarkdownminimalphpsmallstabletiny

### Embed Badge

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

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

###  Alternatives

[mtdowling/jmespath.php

Declaratively specify how to extract elements from a JSON document

2.0k472.8M135](/packages/mtdowling-jmespathphp)[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k230.0M284](/packages/opis-closure)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M65](/packages/sabberworm-php-css-parser)[michelf/php-markdown

PHP Markdown

3.5k52.4M345](/packages/michelf-php-markdown)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)

PHPackages © 2026

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