PHPackages                             tschallacka/mage2-magecommands - 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. tschallacka/mage2-magecommands

ActiveMagento2-module

tschallacka/mage2-magecommands
==============================

Magento 2 Command Utilities to aid developers in their development process

1.0.5(5y ago)181[2 issues](https://github.com/tschallacka/mage2-magecommands/issues)MITPHP

Since Apr 23Pushed 4y ago1 watchersCompare

[ Source](https://github.com/tschallacka/mage2-magecommands)[ Packagist](https://packagist.org/packages/tschallacka/mage2-magecommands)[ RSS](/packages/tschallacka-mage2-magecommands/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (4)Used By (0)

Magento Helper commands
-----------------------

[](#magento-helper-commands)

This Magento Module is purely for developer aid, and not to be used in production.

This Magento Module is only intended currently for Magento 2.4. It might work in 2.3 too, but testing only happens on 2.4 CE

To install this module run in your magento root folder

```
composer require --dev tschallacka/mage2-magecommands && \
bin/magento module:enable Tschallacka_MageCommands && \
bin/magento setup:di:compile
```

With this a couple commands are added in the `tsch` namespace so it will be easier to start developing certain magento modules.

Workspace setup
===============

[](#workspace-setup)

This plugin will require that you do your module development in a folder named `local` in your magento root.

If you create your modules via the MageCommands, it will automatically register a local directory repository in your development Magento root composer.json that points to the newly created module in the `local` folder, so you can install your newly created module into the correct vendor folder via symlink via composer require and everything works as if it's a properly installed module.

Quick workflow for creating a module and installing it:

```
bin/magento tsch:module:create HappyCoder_AwesomeModule && \
composer require happy-coder/awesome-module && \
bin/magento module:enable HappyCoder_AwesomeModule \
bin/magento setup:di:compile
```

creating a module
=================

[](#creating-a-module)

When paths are not started with a / you can assume your current working directory is the magento root folder, /var/www/html for the examples below.

**command**: `bin/magento tsch:module:create `

**requires**: &lt;module\_name&gt; A module name in the format of "AuthorName\_ModuleName". Example: "Tschallacka\_SalesMonitor"

**performs**:

- Creates a bare bones plugin development folder in /magento/root/folder/local/authorname/modulename
- registers plugin in /magento/root/composer.json
- creates tests/unit/phpunit.xml for running local unit tests, code for these tests should be placed in tests/code
- creates tests/unit/framework/bootstrap.php for bootstrapping the magento bootstrap
- creates etc/di.xml
- creates etc/module.xml
- creates composer.json
- creates registration.php
- outputs which commands you need to execute to install the plugin

creating a command
==================

[](#creating-a-command)

**command**: `bin/magento tsch:module:create:command   [...]`

**requires**:

- **&lt;module\_name&gt;** A module name in the format of `AuthorName_ModuleName`. Example: `Tschallacka_SalesMonitor`
- **&lt;command\_name&gt;** the name of the command, unique for your module. The command will become `authorname:modulename:commandname`

[![Image of output](https://camo.githubusercontent.com/61fa596c45a692b489308d19fe10fd356794476691a85b72817ae588de65a621/68747470733a2f2f692e696d6775722e636f6d2f57334f656745362e706e67)](https://camo.githubusercontent.com/61fa596c45a692b489308d19fe10fd356794476691a85b72817ae588de65a621/68747470733a2f2f692e696d6775722e636f6d2f57334f656745362e706e67)

**optional:**
Command arguments can be provided in the format of `"[==]argument_name:::"`
If you start your command argument with `==` then it will become an input option. Othewise it becomes an argument.
You can only use type none with an optional command(`==argumentname`)

**Examples**

*bin/magento author:module:command --quiet*
`bin/magento tsch:module:create:command Author\_Module command "==quiet::none:stop from outputting to console"

*bin/magento author:module:command --name=foobar*
`bin/magento tsch:module:create:command Author\_Module command "==name:required::A name is required for this command option"

*bin/magento author:module:command --make="stew" carrots beef apples*
`bin/magento tsch:module:create:command Author\_Module command "==make:required:string:what to cook stew or soup" "ingredients:required:array:what to put in the stew"

[![Image of output](https://camo.githubusercontent.com/64b1ec24736390a80d8ed5385e63c1c79fcdece81d48e88353f7dc9744c0bc7e/68747470733a2f2f692e696d6775722e636f6d2f7854417a4f53622e706e67)](https://camo.githubusercontent.com/64b1ec24736390a80d8ed5385e63c1c79fcdece81d48e88353f7dc9744c0bc7e/68747470733a2f2f692e696d6775722e636f6d2f7854417a4f53622e706e67)

**performs:**

- creates file Console/Commands/CommandName.php
- registers command in etc/di.xml
- outputs which commands you need to run to activate the command

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity54

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

Every ~10 days

Total

2

Last Release

1833d ago

### Community

Maintainers

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

---

Top Contributors

[![tschallacka](https://avatars.githubusercontent.com/u/8638425?v=4)](https://github.com/tschallacka "tschallacka (29 commits)")

### Embed Badge

![Health badge](/badges/tschallacka-mage2-magecommands/health.svg)

```
[![Health](https://phpackages.com/badges/tschallacka-mage2-magecommands/health.svg)](https://phpackages.com/packages/tschallacka-mage2-magecommands)
```

PHPackages © 2026

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