PHPackages                             webmaesther/configuru - 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. webmaesther/configuru

AbandonedArchivedPackage

webmaesther/configuru
=====================

A single source of configuration

1.0.3(9y ago)14MITPHPPHP ^7.1

Since Dec 24Pushed 9y ago1 watchersCompare

[ Source](https://github.com/webmaesther/configuru)[ Packagist](https://packagist.org/packages/webmaesther/configuru)[ RSS](/packages/webmaesther-configuru/feed)WikiDiscussions master Synced 2mo ago

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

webmaesther/configuru
=====================

[](#webmaestherconfiguru)

[![Build status](https://camo.githubusercontent.com/1b0f6d3cac222a9cd469e5b72f8d37e8893b89bde1656bb776a408e326d4ff57/68747470733a2f2f7472617669732d63692e6f72672f7765626d616573746865722f636f6e6669677572752e7376673f6272616e63683d6d6173746572 "Build status")](https://camo.githubusercontent.com/1b0f6d3cac222a9cd469e5b72f8d37e8893b89bde1656bb776a408e326d4ff57/68747470733a2f2f7472617669732d63692e6f72672f7765626d616573746865722f636f6e6669677572752e7376673f6272616e63683d6d6173746572)

About Configuru
---------------

[](#about-configuru)

Sometimes you tweak a configuration file just a little bit, everything seems to be working, but after a couple weeks or months, an annoying bug appears in the system, and you debug for hours only to find the reason of it is that you didn't edit the same configuration in another file.

If you ever ran into this issue then Configuru is just for you! With this tool, you can easily rebuild your configuration files from one single source of truth.

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

[](#installation)

If you are using composer, you can easily install Configuru for your project.

```
composer require webmaesther/configuru --dev

```

It is recommended that you only require this package for development, since this is intended to be a build tool.

Or if you wish, you can always install it globally.

Getting Started
---------------

[](#getting-started)

### Add configuru.yml

[](#add-configuruyml)

Add a configuru.yml file to your root, containing all the key-value pairs to replace.

```
replace:
  key: "value"
```

### Add .guru files

[](#add-guru-files)

For each file you wish to replace, add a guru file in the same folder. For example, if you wish to build your `config.yml` file, add a `config.guru.yml` file to your project and use `:(key)` in the guru file as a placeholder for the value you configured in `configuru.yml`.

### Build with configuru

[](#build-with-configuru)

```
vendor/bin/configuru build

```

This command will look for all the guru files in your project folders recursively and replace the configured keys with the values and save them to a file with the same filename, but without the `.guru` extension.

*Configuru will overwrite any file it encounters!*

Advanced Usage
--------------

[](#advanced-usage)

### Escape keys

[](#escape-keys)

If you have text in your files in the format `:(key)`, but you don't wish to replace it, just add a backslash before the colon to escape that key, like this: `\:(key)`. It will be replaced with the string `:(key)` without the backslash.

### Build path

[](#build-path)

By default, Configuru will build every guru file it can find within the current working directory. You can specify a different path as the first argument of the command.

```
vendor/bin/configuru build path/to/build

```

### All file types

[](#all-file-types)

Notice that Configuru will build any text file, not just the typical config file extensions (yaml, php, json) but any text file you want as long as the filename contains `.guru`, it will use that file to build the same file without `.guru` in the filename.

### Flexible guru file names

[](#flexible-guru-file-names)

Actually, you can place the `.guru` extension anywhere in the filename. For example `.guru.config.yml` will build `.config.yml`. But `.guruconfig.yml` won't build `config.yml`

### Examples

[](#examples)

You can find some examples in the `example` folder. It contains the guru files as well as the built result.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Every ~0 days

Total

4

Last Release

3429d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8bd249ccb57eee60decde468f0faf80e05089d48765e5e9721d7ef7966187772?d=identicon)[webmaesther](/maintainers/webmaesther)

---

Top Contributors

[![eszterczotter](https://avatars.githubusercontent.com/u/9593919?v=4)](https://github.com/eszterczotter "eszterczotter (98 commits)")

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/webmaesther-configuru/health.svg)

```
[![Health](https://phpackages.com/badges/webmaesther-configuru/health.svg)](https://phpackages.com/packages/webmaesther-configuru)
```

###  Alternatives

[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19462.3M1.3k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)

PHPackages © 2026

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