joomla/joomla-cms

Home of the Joomla! Content Management System

5,134

stars

44,865

commits

PHP

primary language

Sep 11, 2026

updated

www.joomla.org
cms
content-management
hacktoberfest
joomla
multilingual-websites
php
php-cms
website-builder

README

Joomla! CMS™

Build Status

ActionsPHPNodenpm
Build StatusPHPnode-ltsnpm

Overview

What is Joomla?

  • Joomla! is a Content Management System (CMS) which enables you to build websites and powerful online applications.
  • It is a simple and powerful web server application which requires a server with PHP and either MySQL, MariaDB or PostgreSQL to run. You can find full technical requirements here.
  • Joomla! is free and Open Source software distributed under the GNU General Public License version 2 or later.

Looking for an installable package?

Joomla is not installable out of the box from this repository, please use:

How to get a working installation from the source

For detailed instructions please visit https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment

You will need:

Steps to setup the local environment:

  • Clone the repository:
git clone https://github.com/joomla/joomla-cms.git
  • Go to the joomla-cms folder:
cd joomla-cms
  • Go to the 5.4-dev branch:
git checkout 5.4-dev
  • Install all the needed composer packages:
composer install
  • Install all the needed npm packages:
npm ci

Things to be aware of when pulling: Joomla creates a cache of the namespaces of its extensions in JOOMLA_ROOT/administrator/cache/autoload_psr4.php. If extensions are created, deleted or removed in git then this file needs to be recreated. You can simply delete the file and it will be regenerated on the next call to Joomla.

Do you want to improve Joomla?

Which branch should my Pull Request target?

Using a simple classification keeps the project stable, transparent, and easy for everyone to contribute.

Type of changeWhat it meansTarget branch
Bug / Patch releaseThe change fixes an actual error. The software crashes, produces the wrong result, or behaves contrary to its specification. It can be resolved without large‑scale refactoring or new functionality.5.4-dev (6.1-dev) *
Feature / Minor releaseAnything that isn’t a strict bug – new behavior, refactoring, performance improvements, enhancements, UI tweaks, etc. These changes are bundled together for the next minor version.6.2-dev

* All bugs that already exist in version 5.4.x should be fixed in 5.4-dev. Only bugs that are introduced for the first time in version 6.x should target the 6.1-dev branch.

A member of the maintainer or bug squad team confirms the classification and sets the appropriate labels when a PR is opened. If a PR is opened in the wrong branch, a maintainer will simply ask you to retarget it to the proper branch.

Contributors

(top 30 of 283)

brianteeman

3,740 commits

wilsonge

3,506 commits

infograf768

2,394 commits

mbabker

2,306 commits

joomla/joomla-cms

Home of the Joomla! Content Management System

5,134

stars

44,865

commits

PHP

primary language

Sep 11, 2026

updated

www.joomla.org
cms
content-management
hacktoberfest
joomla
multilingual-websites
php
php-cms
website-builder

README

Joomla! CMS™

Build Status

ActionsPHPNodenpm
Build StatusPHPnode-ltsnpm

Overview

What is Joomla?

  • Joomla! is a Content Management System (CMS) which enables you to build websites and powerful online applications.
  • It is a simple and powerful web server application which requires a server with PHP and either MySQL, MariaDB or PostgreSQL to run. You can find full technical requirements here.
  • Joomla! is free and Open Source software distributed under the GNU General Public License version 2 or later.

Looking for an installable package?

Joomla is not installable out of the box from this repository, please use:

How to get a working installation from the source

For detailed instructions please visit https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment

You will need:

Steps to setup the local environment:

  • Clone the repository:
git clone https://github.com/joomla/joomla-cms.git
  • Go to the joomla-cms folder:
cd joomla-cms
  • Go to the 5.4-dev branch:
git checkout 5.4-dev
  • Install all the needed composer packages:
composer install
  • Install all the needed npm packages:
npm ci

Things to be aware of when pulling: Joomla creates a cache of the namespaces of its extensions in JOOMLA_ROOT/administrator/cache/autoload_psr4.php. If extensions are created, deleted or removed in git then this file needs to be recreated. You can simply delete the file and it will be regenerated on the next call to Joomla.

Do you want to improve Joomla?

Which branch should my Pull Request target?

Using a simple classification keeps the project stable, transparent, and easy for everyone to contribute.

Type of changeWhat it meansTarget branch
Bug / Patch releaseThe change fixes an actual error. The software crashes, produces the wrong result, or behaves contrary to its specification. It can be resolved without large‑scale refactoring or new functionality.5.4-dev (6.1-dev) *
Feature / Minor releaseAnything that isn’t a strict bug – new behavior, refactoring, performance improvements, enhancements, UI tweaks, etc. These changes are bundled together for the next minor version.6.2-dev

* All bugs that already exist in version 5.4.x should be fixed in 5.4-dev. Only bugs that are introduced for the first time in version 6.x should target the 6.1-dev branch.

A member of the maintainer or bug squad team confirms the classification and sets the appropriate labels when a PR is opened. If a PR is opened in the wrong branch, a maintainer will simply ask you to retarget it to the proper branch.

Contributors

(top 30 of 283)

brianteeman

3,740 commits

wilsonge

3,506 commits

infograf768

2,394 commits

mbabker

2,306 commits

Languages

PHP

89.6%

JavaScript

7.5%

SCSS

1.6%