PHPackages                             markocupic/contao-bundle-creator-bundle - 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. markocupic/contao-bundle-creator-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

markocupic/contao-bundle-creator-bundle
=======================================

This bundle provides a bundle maker for Contao 4.\*. The extension will create a fully working backend- or/and frontend module after you have defined a few parameters in the contao backend.

1.9.3(4mo ago)224.7k↓33.3%5[1 issues](https://github.com/markocupic/contao-bundle-creator-bundle/issues)MITPHPPHP ^8.1CI passing

Since Jul 14Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/markocupic/contao-bundle-creator-bundle)[ Packagist](https://packagist.org/packages/markocupic/contao-bundle-creator-bundle)[ RSS](/packages/markocupic-contao-bundle-creator-bundle/feed)WikiDiscussions 1.9.x Synced 1mo ago

READMEChangelogDependencies (7)Versions (129)Used By (0)

[![Marko Cupic](docs/logo.png?raw=true "Marko Cupic")](docs/logo.png?raw=true)

Contao Bundle Creator (Boilerplate für eigene Erweiterungen)
============================================================

[](#contao-bundle-creator-boilerplate-für-eigene-erweiterungen)

Das Modul ist für Entwickler gedacht, und generiert nach Eingabe einiger Parameter ein Grundgerüst (Boilerplate/Skeleton) für ein Contao 4 Bundle.

Es können...

- ein Frontendmodul generiert werden.
- ein Backendmodul generiert werden.
- ein Inhaltselement generiert werden.
- eine custom route ([https://myhostname.ch/my\_custom](https://myhostname.ch/my_custom)) generiert werden.
- eine custom session bag generiert werden.
- eine Basisklasse (mit custom root key) für eine friendly configuration generiert werden.

Alle nötigen Konfigurationsdaten werden automatisch erstellt.

Falls gewünscht, werden auch die für den Betrieb nötigen Einstellungen in der root composer.json automatisch getätigt. Nach der Generierung ist es lediglich nötig,

- im Contao Manager einen Updatedurchlauf zu starten und mit dem Installtool die Datenbank upzudaten
- oder per Konsole den `php composer update` und `php vendor/bin/contao-console contao:migrate` Befehl auszuführen

Via Contao Backend das Bundle konfigurieren
-------------------------------------------

[](#via-contao-backend-das-bundle-konfigurieren)

[![Alt text](docs/backend.png?raw=true "Backend")](docs/backend.png?raw=true)

Verzeichnisstruktur
-------------------

[](#verzeichnisstruktur)

Folgende Verzeichnisstruktur (ohne Resources Verzeichnis) wird im vendor Ordner angelegt.

[![Alt text](docs/directory-structure.png?raw=true "Verzeichnisstruktur")](docs/directory-structure.png?raw=true)

Inbetriebnahme des Bundles
--------------------------

[](#inbetriebnahme-des-bundles)

Nachdem alle Eingaben im Backend gemacht wurden, das Bundle ganz einfach per Knopfdruck generieren lassen. Die Extension sollte nun im Verzeichnis "vendor" erstellt worden sein und kann auch als ZIP-File heruntergeladen werden.

### Variante A (Auch ohne eigenen github-Account möglich)

[](#variante-a-auch-ohne-eigenen-github-account-möglich)

In der composer.json folgende 2 Einträge machen:

```
"repositories": [
    {
      "type": "path",
      "url": "/home/myhosting/public_html/dirtyharryproductions.com/vendor/dirtyharrycoding/hello-world-bundle"
    }
  ],

```

In der composer.json den **absoluten Pfad** zum Bundle im vendor-Verzeichnis angeben. Dieser Schritt kann, wenn so eingestellt, von der Erweiterung auch automatisch erledigt werden.

```
  "require": {
    ....
    ....
    "dirtyharrycoding/hello-world-bundle": "dev-main"
  },

```

Im require-Teil das neu erstellte Bundle registrieren. Dieser Schritt kann, wenn so eingestellt, von der Erweiterung auch automatisch erledigt werden.

Danach via Contao Manager ein vollständiges Update durchführen und das Installtool aufrufen. Fertig!

---

### Variante B

[](#variante-b)

Die Erweiterung auf github.com hochladen und in der composer.json folgende 2 Einträge machen.

```
"repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/dirtyharrycoding/hello-world-bundle"
    }
  ],

```

In der composer.json den Pfad zum github repo angeben.

```
  "require": {
    ....
    ....
    "dirtyharrycoding/hello-world-bundle": "dev-main"
  },

```

Im require-Teil das neu erstellte Bundle registrieren.

Danach via Contao Manager ein vollständige Update durchführen und das Installtool aufrufen. Fertig!

Bei Variante B kann es sein, dass github.com die Verbindungsanfrage ablehnt. Die Erstellung eines **Oauth-Access-Tokens** kann hier Abhilfe schaffen. Das Access Token muss dann in der **config section** der composer.json im Root eingesetzt werden. [Github Oauth-Access-Token generieren](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)

```
   "config": {
     "github-oauth": {
       "github.com": "43dfdfxxxxxxxxxxxxxxxxxxx5645rtzrfhgfe9"
     }
   },

```

---

### Variante C

[](#variante-c)

Die Erweiterung im Backend via "Bundle herunterladen" Button downloaden und dann im Contao Manager als Paket importieren. Installtool aufrufen. Fertig!

---

### Variante D

[](#variante-d)

Die Erweiterung via github auf packagist.org hochladen und dann via Contao Manager installieren. Installtool aufrufen. Fertig!

Anmerkungen
-----------

[](#anmerkungen)

- Falls man in den Einstellungen definiert, dass das Skript während der Erstellung des Bundles auch die die root composer.json anpasst, speichert das Skript zur Sicherheit ein Backup der composer.json in system/tmp ab.
- Bei der Erstellung des Bundles wird im Verzeichnis system/tmp zusätzlich ein zip-package mit dem generierten Bundle abgelegt. Das Package kann per Knopfdruck heruntergeladen werden.

Templates updatesicher anpassen
-------------------------------

[](#templates-updatesicher-anpassen)

Falls man die Standard-Templates anpassen möchte, die der bundle-maker benötigt, um die PHP-Klassen, Konfigurationsdateien, etc. zu generieren, kann man seine eigene Templates im Verzeichnis templates/contao-bundle-creator-bundle/skeleton ablegen.

[![Templates updatesicher überschreiben](docs/custom-templates.png?raw=true "Templates updatesicher überschreiben")](docs/custom-templates.png?raw=true)

Codefixing mit easy-coding-standard
-----------------------------------

[](#codefixing-mit-easy-coding-standard)

Auf Wunsch lässt sich "contao/easy-coding-standard" als Abhängigkeit installieren. Bei der Installation werden die Konfigurationsdateien im "vendor/my-custom-bundle/tools/ecs" abgelegt. Der Fixer kann nun so über das Terminal oder über die batch Dateien aufgerufen werden:

App erweitern
-------------

[](#app-erweitern)

Die Bundle-Dateien werden in dieser App über sogenannte "Maker" dem neu zu erstellenden Bundle hinzugefügt. Mit EventSubscribern können weitere Maker-Klassen hinzugefügt werden. Dazu muss lediglich eine EventSubscriberklasse angelegt werden.

Last but not least
------------------

[](#last-but-not-least)

Der Anwender sollte wissen, was er tut ;-)

Im dümmsten Fall überschreibt man bereits bestehende Erweiterungen und beschädigt so die Installation.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance79

Regular maintenance activity

Popularity32

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.7% 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 ~15 days

Recently: every ~9 days

Total

129

Last Release

136d ago

PHP version history (3 changes)1.4.12PHP ^7.4|^8.0

1.5.1PHP ^8.0

1.5.4PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1525166?v=4)[Marko Cupic](/maintainers/markocupic)[@markocupic](https://github.com/markocupic)

---

Top Contributors

[![markocupic](https://avatars.githubusercontent.com/u/1525166?v=4)](https://github.com/markocupic "markocupic (352 commits)")[![delirius](https://avatars.githubusercontent.com/u/2039398?v=4)](https://github.com/delirius "delirius (1 commits)")

---

Tags

bundleextensioncontaocreatorboilerplateSkeletonmaker

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/markocupic-contao-bundle-creator-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/markocupic-contao-bundle-creator-bundle/health.svg)](https://phpackages.com/packages/markocupic-contao-bundle-creator-bundle)
```

###  Alternatives

[pdir/social-feed-bundle

Social feed extension for Contao CMS

1414.8k](/packages/pdir-social-feed-bundle)

PHPackages © 2026

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