PHPackages                             kalenjordan/magerun-addons - 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. [CLI &amp; Console](/categories/cli)
4. /
5. kalenjordan/magerun-addons

ActiveLibrary[CLI &amp; Console](/categories/cli)

kalenjordan/magerun-addons
==========================

Addon commands for N98 MageRun

11627230[10 issues](https://github.com/kalenjordan/magerun-addons/issues)[4 PRs](https://github.com/kalenjordan/magerun-addons/pulls)PHP

Since Oct 30Pushed 9y ago11 watchersCompare

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

READMEChangelogDependenciesVersions (2)Used By (0)

MageRun Addons
==============

[](#magerun-addons)

Some additional commands for the excellent N98-MageRun Magento command-line tool.

The purpose of this project is just to have an easy way to deploy new, custom commands that I need to use in various places. It's easier for me to do this than to maintain a fork of n98-magerun, but I'd be happy to merge any of these commands into the main n98-magerun project if desired.

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

[](#installation)

There are a few options. You can check out the different options in the [MageRun docs](http://magerun.net/introducting-the-new-n98-magerun-module-system/).

Here's the easiest:

1. Create ~/.n98-magerun/modules/ if it doesn't already exist.

    ```
     mkdir -p ~/.n98-magerun/modules/

    ```
2. Clone the magerun-addons repository in there

    ```
     cd ~/.n98-magerun/modules/
     git clone git@github.com:kalenjordan/magerun-addons.git

    ```
3. It should be installed. To see that it was installed, check to see if one of the new commands is in there, like `diff:files`.

    ```
     mr diff:files

    ```

Commands
--------

[](#commands)

### Bust Frontend Browser Caches

[](#bust-frontend-browser-caches)

This command modifies the skin and js base URLs with a timestamp-specific URL, so that browsers will pull down fresh CSS and JS.

```
$ mr design:refresh

```

It's intended to be used in conjunction with a web server rewrite rule that will rewrite, for example:

```
//skin/...

```

to

```
/skin/...

```

Note: I should mention that the URL parsing to generate the URLs needs work. It supports either a URL ending in .com or a URL relative to the base (.e.g. {{base\_url}}skin).

### Create dummy order

[](#create-dummy-order)

This is very experimental and has some defaults in it such as the default billing address for a customer that aren't very international-friendly.

```
$ mr order:create:dummy [--customer="..."] [--product="..."] [--store="..."] [--shipping="..."] count

```

Unless specified it picks a random customer, random product, and a random order creation date up to two years ago from the present time, and creates a defined number of orders order for a selected store.

The product can be specified either explicitly by providing a SKU or from a range of SKUs by using a wildcard (e.g. `--product="2456%"`).

Due to obvious reasons not all shipping methods are supported. Currently you can specify either `flatrate_flatrate` or `tablerate_bestway`. If no shipping method is specified `flatrate_flatrate` will be used by default.

### Assign order to new customer

[](#assign-order-to-new-customer)

Assign an order to a new customer by ID.

This is very experimental - doesn't modify all of the places that customer data exists on the order models, such as the shipping and billing address - just the customer name, email, ID on the order entity.

```
$ mr order:assign 10000000001 10

```

Assigns the order #10000000001 to customer ID 10.

### Anonymize customer data

[](#anonymize-customer-data)

Anonymize customer email addresses across a bunch of tables: order, order address, newsletter, quotes, newsletter subscriber.

```
$ mr customer:anon

```

### Core file diff

[](#core-file-diff)

Diff core files to see if they've been modified

```
$ mr diff:files

```

This just does a simple diff against a fresh copy of the Magento version's code base. Need to add support for it to understand overrides such as a file in app/code/local or lib/.

### Theme diff

[](#theme-diff)

Diff theme files to see what has been modified.

```
$ mr diff:theme customtheme/default default/default

```

See what customizations have been made in your custom theme against the base theme.

Summary screenshot: [![Image](https://camo.githubusercontent.com/8c2313921b4cd40f9aaad5051737f0cc1c8b39720b94cb3d90fc679327dcde46/68747470733a2f2f7261772e6769746875622e636f6d2f6b616c656e6a6f7264616e2f6d61676572756e2d6164646f6e732f6d61737465722f646f63732f696d672f646966662d73756d6d6172792e706e67)](https://camo.githubusercontent.com/8c2313921b4cd40f9aaad5051737f0cc1c8b39720b94cb3d90fc679327dcde46/68747470733a2f2f7261772e6769746875622e636f6d2f6b616c656e6a6f7264616e2f6d61676572756e2d6164646f6e732f6d61737465722f646f63732f696d672f646966662d73756d6d6172792e706e67)

Details screenshot: [![Image](https://camo.githubusercontent.com/f1168dda9d2169b9d409a417a87e562876d052add0281c7b0aac07d96df3c559/68747470733a2f2f7261772e6769746875622e636f6d2f6b616c656e6a6f7264616e2f6d61676572756e2d6164646f6e732f6d61737465722f646f63732f696d672f646966662d64657461696c732e706e67)](https://camo.githubusercontent.com/f1168dda9d2169b9d409a417a87e562876d052add0281c7b0aac07d96df3c559/68747470733a2f2f7261772e6769746875622e636f6d2f6b616c656e6a6f7264616e2f6d61676572756e2d6164646f6e732f6d61737465722f646f63732f696d672f646966662d64657461696c732e706e67)

### Grab mailchimp unsubscribes

[](#grab-mailchimp-unsubscribes)

Grab all of the mailchimp unsubscribes to your primary list

```
$ mr mailchimp:unsubscribe:list

```

If you're using Ebizmarts\_MageMonkey to manage your Mailchimp integration, this will allow you to grab a list of all of the unsubscribed emails to your primary list.

The main purpose for doing this is if you need to import these unsubscribes somewhere. The routine will dispatch an event `mailchimp_list_unsubscribe_discovered`which you can observe in order to handle them.

### Uninstall a module

[](#uninstall-a-module)

Uninstall a module by deleting all the module's files and removing database tables.

```
$ mr dev:module:remove Aitoc_*

```

NOTE: This is not fully baked yet, at the moment it just deletes the main module config file and the code directory. Pretty trivial, but I'm going to add in database tables, layout files, template files, etc.

Oh and wildcards aren't supported in the module name yet either, but I just had to do that as an example :)

### Generate gift card codes

[](#generate-gift-card-codes)

The missing tool to generate EE gift card codes!

```
$ mr giftcard:generate-codes --prefix=SWEET-DISCOUNTS-

```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

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

### Community

Maintainers

![](https://www.gravatar.com/avatar/74e78a91d4ece8ca52528e60b35801563f0dfa2c44a9e1e18329fec393037512?d=identicon)[kalenjordan](/maintainers/kalenjordan)

---

Top Contributors

[![kalenjordan](https://avatars.githubusercontent.com/u/1542197?v=4)](https://github.com/kalenjordan "kalenjordan (36 commits)")[![bobbyshaw](https://avatars.githubusercontent.com/u/553566?v=4)](https://github.com/bobbyshaw "bobbyshaw (7 commits)")[![schmengler](https://avatars.githubusercontent.com/u/367320?v=4)](https://github.com/schmengler "schmengler (6 commits)")[![cmuench](https://avatars.githubusercontent.com/u/211294?v=4)](https://github.com/cmuench "cmuench (5 commits)")[![wsheldon](https://avatars.githubusercontent.com/u/681923?v=4)](https://github.com/wsheldon "wsheldon (3 commits)")[![zainengineer](https://avatars.githubusercontent.com/u/4746235?v=4)](https://github.com/zainengineer "zainengineer (1 commits)")[![Schrank](https://avatars.githubusercontent.com/u/379680?v=4)](https://github.com/Schrank "Schrank (1 commits)")[![versedi](https://avatars.githubusercontent.com/u/7837369?v=4)](https://github.com/versedi "versedi (1 commits)")

### Embed Badge

![Health badge](/badges/kalenjordan-magerun-addons/health.svg)

```
[![Health](https://phpackages.com/badges/kalenjordan-magerun-addons/health.svg)](https://phpackages.com/packages/kalenjordan-magerun-addons)
```

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M320](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M19](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

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