PHPackages                             gecka/composer-installer-dolibarr - 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. gecka/composer-installer-dolibarr

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

gecka/composer-installer-dolibarr
=================================

Composer installer for Dolibarr modules. Routes packages of type dolibarr-module to htdocs/custom/{name}/.

v1.0.0(3w ago)0226MITPHPPHP &gt;=8.1CI passing

Since May 18Pushed 3w agoCompare

[ Source](https://github.com/Gecka-Apps/composer-installer-dolibarr)[ Packagist](https://packagist.org/packages/gecka/composer-installer-dolibarr)[ Docs](https://gecka.nc)[ RSS](/packages/gecka-composer-installer-dolibarr/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (6)Versions (2)Used By (0)

Composer Installer for Dolibarr
===============================

[](#composer-installer-for-dolibarr)

[![Packagist](https://camo.githubusercontent.com/c0854f490cc8e12727fafd07972ba6fc54bc8cd0ce7b431aa361687622b33d3a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6765636b612f636f6d706f7365722d696e7374616c6c65722d646f6c69626172722e737667)](https://packagist.org/packages/gecka/composer-installer-dolibarr)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)[![PHP](https://camo.githubusercontent.com/04744bae0a61d2ffe29c26f07a9612eae20445fc6feaeb77b3af1f0e9be6447c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e312d3838393242462e737667)](composer.json)

Composer plugin that installs Dolibarr modules from any Composer repository (Packagist, Satis, VCS) into the standard `custom/` directory.

Pair with [`gecka/dolibarr-module-modulemanager`](https://packagist.org/packages/gecka/dolibarr-module-modulemanager) for an in-Dolibarr UI on top, or use it standalone from the CLI.

Features
--------

[](#features)

- **Standard `custom/` layout** — Packages of type `dolibarr-module` land in `custom//` relative to your `composer.json`.
- **Single flat vendor** — Module PHP dependencies share one `vendor/` tree, resolved once. Surfaces version conflicts at install time, not at runtime.
- **Dolibarr version guard** — Modules can declare `extra.dolibarr.min_version` / `max_version`; the installer reads the running Dolibarr version from `version.inc.php` and refuses incompatible installs before any download.
- **Configurable target name** — `extra.dolibarr.name` lets module authors override the default name derived from the package.
- **Zero-config for callers** — Add the plugin to your root `composer.json` and `composer require ` does the right thing.

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

[](#requirements)

- PHP 8.1 or newer
- Composer 2.x

Installation
------------

[](#installation)

From your Dolibarr `htdocs/` directory:

```
composer init        # only if you don't already have a composer.json
composer require gecka/composer-installer-dolibarr
```

That's it. The plugin is now active for the project.

Usage
-----

[](#usage)

Install any Dolibarr module published as a Composer package:

```
composer require /dolibarr-module-
```

The module's files land in `custom//`. Activate the module the regular way through Dolibarr's `Setup > Modules` page.

To remove it:

```
composer remove /dolibarr-module-
```

For module authors
------------------

[](#for-module-authors)

See [CONVENTION.md](CONVENTION.md) for the packaging convention your module needs to follow to be installable through this plugin.

How it works
------------

[](#how-it-works)

Composer resolves the root `composer.json` and routes every package whose `type` is `dolibarr-module` through this installer. The installer computes the target directory as follows:

1. If the package declares `extra.dolibarr.name`, use it verbatim.
2. Else, strip the `dolibarr-module-` prefix from the suffix of the package name (`gecka/dolibarr-module-foo` becomes `foo`).
3. Else, fall back to the suffix as-is.

The resolved name is validated against path-traversal and filesystem-unsafe characters before being used.

Development
-----------

[](#development)

```
composer install
composer test       # run Pest test suite
composer lint       # check coding style (Pint)
composer fix        # apply coding style fixes
```

License
-------

[](#license)

MIT, see [LICENSE](LICENSE).

Authors
-------

[](#authors)

**Laurent Dinclaux**  — [Gecka](https://gecka.nc)

---

Built with 🥥 and ☕ by [Gecka](https://gecka.nc) — Kanaky-New Caledonia 🇳🇨

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance95

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

22d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9995?v=4)[Eugenio](/maintainers/gecka)[@gecka](https://github.com/gecka)

---

Top Contributors

[![loxK](https://avatars.githubusercontent.com/u/136687?v=4)](https://github.com/loxK "loxK (1 commits)")

---

Tags

plugincomposerinstallerDolibarrmodule

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k40.0M2.6k](/packages/ergebnis-composer-normalize)[sllh/composer-versions-check

Checks if packages are up to date to last major versions after update

2352.4M16](/packages/sllh-composer-versions-check)[craftcms/plugin-installer

Craft CMS Plugin Installer

283.4M9](/packages/craftcms-plugin-installer)[automattic/jetpack-autoloader

Creates a custom autoloader for a plugin or theme.

545.9M110](/packages/automattic-jetpack-autoloader)[laminas/laminas-component-installer

Composer plugin for injecting modules and configuration providers into application configuration

304.3M105](/packages/laminas-laminas-component-installer)[infinum/eightshift-libs

WordPress libs developed by Eightshift team to use in modern WordPress.

63123.8k3](/packages/infinum-eightshift-libs)

PHPackages © 2026

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