PHPackages                             mooeypoo/mwstew-builder - 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. mooeypoo/mwstew-builder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mooeypoo/mwstew-builder
=======================

A PHP backend to creating mediawiki extension files

v1.1.1(7y ago)11061[3 issues](https://github.com/mooeypoo/MWStew-builder/issues)[1 PRs](https://github.com/mooeypoo/MWStew-builder/pulls)1GPL-2.0-or-laterPHP

Since Dec 26Pushed 6y ago1 watchersCompare

[ Source](https://github.com/mooeypoo/MWStew-builder)[ Packagist](https://packagist.org/packages/mooeypoo/mwstew-builder)[ RSS](/packages/mooeypoo-mwstew-builder/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (10)Used By (1)

[![Build Status](https://camo.githubusercontent.com/942bf5df33e3e575c96fc9d93cb82919668aff9f53903ca8fb237c2405ea020b/68747470733a2f2f7472617669732d63692e6f72672f6d6f6f6579706f6f2f4d57537465772e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/mooeypoo/MWStew-builder)[![Coverage Status](https://camo.githubusercontent.com/41b3a8bc1a246332474fe87108318bf1d95f3fb9ee503b0bd3b39110a4e5f9d8/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6d6f6f6579706f6f2f4d57537465772d6275696c6465722f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/mooeypoo/MWStew-builder?branch=master)[![GitHub license](https://camo.githubusercontent.com/5a601345f9bdef686558fc22a68cab9bb85b6720705a743e0d449b5d8d9ceb6e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c76322d626c75652e7376673f7374796c653d706c6173746963)](https://raw.githubusercontent.com/mooeypoo/MWStew-builder/master/LICENSE)

MWStew-builder: A backend PHP library for building MediaWiki extension files
============================================================================

[](#mwstew-builder-a-backend-php-library-for-building-mediawiki-extension-files)

**Feel free to contribute!**

Usage
-----

[](#usage)

This tool is available on packagist. Add it to your project with

```
composer install mooeypoo/mwstew-builder

```

To create MediaWiki extension files, you need to pass the required parameters to the `Generator`:

```
    // Send $data with the definition of required values for the extension
    $generator = new MWStew\Builder\Generator( $data );
    // The file structure is available by request
    $generator->getFiles();
```

The builder does not write files to the file system, it only builds the structure and lets you handle the rest.

### Expected data

[](#expected-data)

To make an extension bundle, the generator expects data with expected keys. The 'name' key is mandatory, all others are optional:

```
$data = [
  'name' => (string) Extension name; English only, no spaces (Mandatory)
  'title' => (string) Extension title or display name
  'author' => (string) Extension author
  'version' => (string|number) Extension version
  'description' => (string) A short description for the extension.
  'url' => (string) A URL for the extension
  'license' => (string) License code for the extension. Expected a valid value to be used in composer.json and package.json
  'dev_php' => (bool) Whether the extension should have the base files needed for a PHP development environment.
  'dev_js' => (bool) Whether the extension should have the base files needed for a JavaScript development environment.
  'specialpage_name' => (string) A name for a sepcial page. Must use valid characters for MediaWiki title.
  'specialpage_title' => (string) A title for the special page.
  'specialpage_intro' => (string) A short description or introduction text for the special page. This will appear at the top of the new special page that is created.
  'hooks' => (array) An array of strings representing hooks to be added to the system.
]
```

### Using the files

[](#using-the-files)

You can then use the Zipper to add the files into a .zip file and output for download:

```
    $tempFolder = dirname( __DIR__ ) . '/temp';
    $zip = new MWStew\Builder\Zipper( $tempFolder, 'someName' );
    $zip->addFilesToZip( $generator->getFiles() );
    $zip->download();
```

Or you can create the fils on the file system yourself. To see an example of that, see [MWStew-CLI](https://github.com/mooeypoo/MWStew-CLI) for the command line tool.

Contribute
----------

[](#contribute)

This is fully open source tool. Pull requests are welcome! Please participate and help make this a great tool!

If you have suggestions or bug reports, please [submit an issue](https://github.com/mooeypoo/MWStew-builder/issues).

If you want to contribute to the code, clone and initialize locally:

1. Clone the repo
2. Run `composer install`
3. Run `composer run test` to run tests

- See [MWStew](https://github.com/mooeypoo/MWStew) for the graphical interface.
- See [MWStew-CLI](https://github.com/mooeypoo/MWStew-CLI) for the command line tool.

Changelog
---------

[](#changelog)

See [CHANGELOG](CHANGELOG.md)

Authors
-------

[](#authors)

Moriel Schottlender (mooeypoo)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity66

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 ~3 days

Total

9

Last Release

2667d ago

Major Versions

v0.1.0 → v1.0.02018-12-30

### Community

Maintainers

![](https://www.gravatar.com/avatar/407bb94d07cfa0ae1522aaa5092f33c28bac2e742fd8649b71a75fd15c389a0b?d=identicon)[mooeypoo](/maintainers/mooeypoo)

---

Top Contributors

[![mooeypoo](https://avatars.githubusercontent.com/u/261238?v=4)](https://github.com/mooeypoo "mooeypoo (34 commits)")

---

Tags

boilerplatemediawikimediawiki-extension

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mooeypoo-mwstew-builder/health.svg)

```
[![Health](https://phpackages.com/badges/mooeypoo-mwstew-builder/health.svg)](https://phpackages.com/packages/mooeypoo-mwstew-builder)
```

###  Alternatives

[stfalcon/tinymce-bundle

This Bundle integrates TinyMCE WYSIWYG editor into a Symfony2 project.

2692.9M24](/packages/stfalcon-tinymce-bundle)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[leapt/core-bundle

Symfony LeaptCoreBundle

2529.1k4](/packages/leapt-core-bundle)

PHPackages © 2026

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