Skip to content


Repository files navigation

Mecha CMS

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

Code Size License



The default 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 operating system. The Serif font shown in the preview should be DejaVu Serif:


Back-End (Optional)

To be able to activate the back-end feature requires you to install our Alert, Panel, and User 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).


Colors and font types in the control panel preview above are generated from the default skin. Without them, the display will look like the preview below:



  • Writing pages with ease using Markdown 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 extension.
  • Built-in commenting system using Comment extension.
  • RSS and Sitemap using the Feed and Sitemap extension.
  • Easy to use and well documented API.
  • Almost everything are optional.
  • Control panel using Panel extension.


  • Apache 2.4 and above, with enabled mod_rewrite module.
  • PHP 7.3 and above.


  1. Make sure that you already have the required components.
  2. Download the available package from the home page.
  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.
  7. Install Panel 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.


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

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

You may want to install our Panel extension as well:

composer require mecha-cms/x.panel

Using Git

cd /srv/http
git clone --depth 1 .
git submodule update --init --recursive

You may want to install our Panel extension as well. Here, Alert, and User extension is required to be installed:

git submodule add --depth 1 lot/x/alert
git submodule add --depth 1 lot/x/user
git submodule add --depth 1 lot/x/panel

Web Browser

Download the installer file from and then follow the instructions.


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.


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.




0 1 2 3 4 5 6 7 8 9