PHPackages                             laegel/wp-plugin-maker-cli - 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. laegel/wp-plugin-maker-cli

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

laegel/wp-plugin-maker-cli
==========================

wp-plugin-maker CLI

0.2.0(8y ago)19PHPPHP ^5.4

Since Apr 8Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Laegel/wp-plugin-maker-cli)[ Packagist](https://packagist.org/packages/laegel/wp-plugin-maker-cli)[ RSS](/packages/laegel-wp-plugin-maker-cli/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

wp-plugin-maker-cli
===================

[](#wp-plugin-maker-cli)

CLI for WP Plugin Maker

Install
-------

[](#install)

```
composer global require laegel/wp-plugin-maker-cli

```

Yup, it's a global package, so don't install it locally or don't expect it to work!

Configure your ~/.composer/vendor/bin directory in your $PATH to be able to use it globally.

Commands
--------

[](#commands)

### init

[](#init)

**--name**: dash-cased string, will be used to create the plugin folder name. The main namespace of the plugin will be transformed from dash-case to WordPress class naming convention (Underscore\_Case)

This command will initialize a clean plugin. Must be used in your **WordPress plugins directory**.

### generate

[](#generate)

**--name**: Underscore\_Cased string, will be used as class name. "\_Controller" will be appended to the name. **\[--folder\]**: The folder in which the controller will be saved. Can be "All" (default value), "Admin", "Front", "CLI" or "Rest". **\[--type\]**: The controller type. Can be "controller" (default value) or "custom\_type".

You can generate a new controller/custom type with this command. Must be used in your generated plugin directory.

### build

[](#build)

To generate the actions/filters files punctually, use build. Must be used in your generated plugin directory.

### watch

[](#watch)

To generate the actions/filters files and keep working on your plugin, use watch. Must be used in your generated plugin directory.

Generated structure
-------------------

[](#generated-structure)

```
my-plugin
|-- .gitignore
|-- composer.json
|-- plugin.php
|-- require-admin.php (after build)
|-- require-cli.php (after build)
|-- require-front.php (after build)
|-- require-rest.php (after build)
|-- wpm-info.php
|-- src
|   |-- Admin
|   |   |-- (empty)
|   |-- All
|   |   |-- (empty)
|   |-- CLI
|   |   |-- (empty)
|   |-- Front
|   |   |-- (empty)
|   |-- Rest
|   |   |-- (empty)
|   |-- Plugin.php
|   vendor
|   |-- (packages)

```

**What are the other files?**

- .gitignore: As you may use Git to save your project, this file is already generated. How kind!
- composer.json: Your plugin will be Composer-ready (but you won't have to register it on Packagist, thanks to [WP-Packagist](https://wpackagist.org/))
- plugin.php: The plugin init file, where your plugin metadata are saved. You can update your metadata but you shouldn't change the rest unless you really know what you're doing (don't do it).
- wpm-info.php: Weird file! But used by WPM CLI to generate files. And maybe other stuff. You might use it to keep some special plugin data (version, for example, if you don't forget to sync it)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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

Total

2

Last Release

2929d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b4e74c54ff6d9f2c7c976e8a991100ef1d001780977a4719af73c409e7acf7fb?d=identicon)[Laegel](/maintainers/Laegel)

### Embed Badge

![Health badge](/badges/laegel-wp-plugin-maker-cli/health.svg)

```
[![Health](https://phpackages.com/badges/laegel-wp-plugin-maker-cli/health.svg)](https://phpackages.com/packages/laegel-wp-plugin-maker-cli)
```

###  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)
