---
title: "Composer"
manual: "TYPO3 Core Contribution Guide"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3contribute:composer"
source: "Appendix/Composer.rst"
rendered: "2026-09-26T04:50:59+00:00"
---

...  highlight:: bash

# Composer {#composer}

## About Composer {#about-composer}

Composer is a dependency manager for PHP.

So what it basically does is find packages you have defined to be part of your
application (in our case TYPO3). But what if these packages rely on other
packages as well? This is where Composer jumps in and takes care of keeping all
these packages in sync.

Since we use quite some packages (because why would we invent things ourselves
that are already there?) Composer is an extremely useful tool for us.

## Install Composer {#install-composer}

Follow the installation instructions from [https://getcomposer.org](https://getcomposer.org). Afterwards,
you should have a working executable `composer` available.

Verify composer is working:

```
$ composer --version

```

## Composer Commands {#composer-commands}

Once you have installed Composer, this is the command you should run after you
clone the Git source and after every `git pull` request or switching branches:

```
composer install

```

But, just follow the [setup instructions](https://docs.typo3.org/permalink/t3contribute:setup), it will walk you through the commands
in the correct order!

## Custom TYPO3 Composer Commands {#custom-composer-commands}

Some additional Composer commands have been added for Core development.

Just run:

```
composer

```

to list them. You will see something like:

```none
gerrit:setup                           Enable all the git hooks needed to make contribution easy
gerrit:setup:commitMessageHook:enable  Enable the commit message hook needed for gerrit
gerrit:setup:preCommitHook:disable     Disable pre commit hook to run some checks locally
gerrit:setup:preCommitHook:enable      Enable pre commit hook to run some checks locally
```
