PHPackages                             getkirby/composer-installer - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. getkirby/composer-installer

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

getkirby/composer-installer
===========================

Kirby's custom Composer installer for the Kirby CMS and for Kirby plugins

1.2.1(5y ago)4495.8k↓18.3%120MITPHP

Since Sep 22Pushed 1y ago6 watchersCompare

[ Source](https://github.com/getkirby/composer-installer)[ Packagist](https://packagist.org/packages/getkirby/composer-installer)[ Docs](https://getkirby.com)[ Fund](https://getkirby.com/buy)[ RSS](/packages/getkirby-composer-installer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (2)Versions (10)Used By (20)

Kirby Composer Installer
========================

[](#kirby-composer-installer)

[![CI Status](https://github.com/getkirby/composer-installer/workflows/CI/badge.svg)](https://github.com/getkirby/composer-installer/actions?query=workflow%3ACI)[![Coverage Status](https://camo.githubusercontent.com/54a0d6214e143de1e97a483622cd6534ae701dd07cc1b35c22ef2b01a9cb3dce/68747470733a2f2f62616467656e2e6e65742f636f6465636f762f632f67682f6765746b697262792f636f6d706f7365722d696e7374616c6c65722f6d61696e3f6c6162656c3d636f766572616765)](https://codecov.io/gh/getkirby/composer-installer)

This is Kirby's custom [Composer installer](https://getcomposer.org/doc/articles/custom-installers.md) for the Kirby CMS. It is responsible for automatically choosing the correct installation paths if you install the CMS via Composer.

It can also be used to automatically install Kirby plugins to the `site/plugins` directory.

Installing the CMS
------------------

[](#installing-the-cms)

### Default configuration

[](#default-configuration)

If you `require` the `getkirby/cms` package in your own `composer.json`, there is nothing else you need to do:

```
{
  "require": {
    "getkirby/cms": "^3.0"
  }
}
```

Kirby's Composer installer (this repo) will run automatically and will install the CMS to the `kirby` directory.

### Custom installation path

[](#custom-installation-path)

You might want to use a different installation path. The path can be configured like this in your `composer.json`:

```
{
  "require": {
    "getkirby/cms": "^3.0"
  },
  "extra": {
    "kirby-cms-path": "kirby" // change this to your custom path
  }
}
```

### Disable the installer for the CMS

[](#disable-the-installer-for-the-cms)

If you prefer to have the CMS installed to the `vendor` directory, you can disable the custom path entirely:

```
{
  "require": {
    "getkirby/cms": "^3.0"
  },
  "extra": {
    "kirby-cms-path": false
  }
}
```

Please note that you will need to modify your site's `index.php` to load the `vendor/autoload.php` file instead of Kirby's `bootstrap.php`.

Installing plugins
------------------

[](#installing-plugins)

### Support in published plugins

[](#support-in-published-plugins)

Plugins need to require this installer as a Composer dependency to make use of the automatic installation to the `site/plugins` directory.

You can find out more about this in our [plugin documentation](https://getkirby.com/docs/guide/plugins/plugin-setup-basic).

### Usage for plugin users

[](#usage-for-plugin-users)

As a user of Kirby plugins that support this installer, you only need to `require` the plugins in your site's `composer.json`:

```
{
  "require": {
    "getkirby/cms": "^3.0",
    "superwoman/superplugin": "^1.0"
  }
}
```

The installer (this repo) will run automatically, as the plugin dev added it to the plugin's `composer.json`.

### Custom installation path

[](#custom-installation-path-1)

If your `site/plugins` directory is at a custom path, you can configure the installation path like this in your `composer.json`:

```
{
  "require": {
    "getkirby/cms": "^3.0",
    "superwoman/superplugin": "^1.0"
  },
  "extra": {
    "kirby-plugin-path": "site/plugins" // change this to your custom path
  }
}
```

---

License
-------

[](#license)

Author
------

[](#author)

Lukas Bestle

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community40

Growing community involvement

Maturity68

Established project with proven stability

 Bus Factor1

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

Recently: every ~173 days

Total

9

Last Release

1967d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/da0d3433a1b7637495d024760cdce2fb9e4174d1a3f80d707626f95c81724534?d=identicon)[bastianallgeier](/maintainers/bastianallgeier)

![](https://www.gravatar.com/avatar/38dee61adefb0d9fae59254a74cdaf33d8b4fcac96b451b9f9c46e0ab3ec1279?d=identicon)[distantnative](/maintainers/distantnative)

![](https://www.gravatar.com/avatar/e89dc1e09ef4dbe7986140a861a0a2630011c6b8ad62f26e67e0ef10eb2f501c?d=identicon)[texnixe](/maintainers/texnixe)

![](https://www.gravatar.com/avatar/910e459690c98761ff47c8f5b0af29b440005ed926b2f386a2aeb033030d35e8?d=identicon)[lukasbestle](/maintainers/lukasbestle)

---

Top Contributors

[![lukasbestle](https://avatars.githubusercontent.com/u/1595007?v=4)](https://github.com/lukasbestle "lukasbestle (42 commits)")[![bastianallgeier](https://avatars.githubusercontent.com/u/24532?v=4)](https://github.com/bastianallgeier "bastianallgeier (4 commits)")[![distantnative](https://avatars.githubusercontent.com/u/3788865?v=4)](https://github.com/distantnative "distantnative (1 commits)")

### Embed Badge

![Health badge](/badges/getkirby-composer-installer/health.svg)

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

###  Alternatives

[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)[olvlvl/composer-attribute-collector

A convenient and near zero-cost way to retrieve targets of PHP 8 attributes

184108.8k8](/packages/olvlvl-composer-attribute-collector)[lullabot/drainpipe

An automated build tool to allow projects to have a set standardized operations scripts.

41716.4k2](/packages/lullabot-drainpipe)

PHPackages © 2026

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