PHPackages                             blackdevs/wp-starter - 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. blackdevs/wp-starter

ActiveProject

blackdevs/wp-starter
====================

WordPress plugin starter kit — run `php bin/setup.php` to scaffold your plugin.

v1.0.9(2mo ago)018↓100%GPL-2.0-or-laterPHPPHP &gt;=7.4

Since Mar 5Pushed 2mo agoCompare

[ Source](https://github.com/azijulns/wp-starter)[ Packagist](https://packagist.org/packages/blackdevs/wp-starter)[ RSS](/packages/blackdevs-wp-starter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)DependenciesVersions (9)Used By (0)

BlackDevs WP Starter
====================

[](#blackdevs-wp-starter)

A boilerplate WordPress plugin designed to help developers kickstart new projects quickly.

Features
--------

[](#features)

- Standardized plugin structure
- Composer support for dependency management
- Easy integration via `composer create-project`
- Built-in `bdevs` CLI for scaffolding classes, widgets, and assets
- Ready-to-extend codebase for custom functionality

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

[](#installation)

```
composer create-project blackdevs/wp-starter my-plugin
```

CLI — bdevs
-----------

[](#cli--bdevs)

The `bdevs` CLI tool scaffolds classes, Elementor widgets, and asset files — and automatically wires everything into the plugin.

### Setup (one-time)

[](#setup-one-time)

Add the following function to your PowerShell profile (`$PROFILE`):

```
function bdevs { php "D:\plugins\wp-starter\bin\bdevs" @args }
```

### Usage

[](#usage)

```
bdevs  [arguments]
```

---

### `bdevs class`

[](#bdevs-class)

Creates a PHP class file and auto-wires it into the plugin.

```
bdevs class  [folder]
```

FolderResult*(default)* `classes`Plain class → wired into `includes()` + `init_plugin()``includes`Plain class → wired into `includes()` + `init_plugin()``widgets`**Elementor widget stub** → wired into `widgets/init.php````
# Creates classes/my-feature.php
bdevs class MyFeature

# Creates includes/post-types.php
bdevs class PostTypes includes

# Creates widgets/my-slider.php (Elementor widget)
bdevs class My_Slider widgets
```

When folder is **not** `widgets`, automatically:

1. Creates the class with the correct namespace
2. Adds `require_once` inside `includes()` in the main plugin file
3. Adds `new ClassName()` inside `init_plugin()`

When folder is **`widgets`**, automatically:

1. Creates an Elementor `Widget_Base` stub with `get_name()`, `get_title()`, `register_controls()`, `render()`
2. Adds `require_once` inside `init_widgets()` in `widgets/init.php`
3. Registers the widget via `$widgets_manager->register()`

---

### `bdevs css` / `bdevs js`

[](#bdevs-css--bdevs-js)

Creates an asset file and enqueues it in `AssetsManager`.

```
bdevs css  [admin]
bdevs js   [admin]
```

FlagHook*(none)*`wp_enqueue_scripts` → `enqueue_scripts()``admin``admin_enqueue_scripts` → `enqueue_admin_scripts()````
# Frontend CSS/JS
bdevs css my-feature
bdevs js  my-feature

# Admin CSS/JS
bdevs css admin-styles admin
bdevs js  admin-panel  admin
```

---

### `bdevs help`

[](#bdevs-help)

```
bdevs help
```

---

Project Structure
-----------------

[](#project-structure)

```
bin/
  bdevs          # CLI dispatcher
  setup.php      # Interactive setup wizard
classes/         # Your custom classes (default bdevs target)
includes/        # Core plugin includes
  assets-manager.php  # Enqueue frontend & admin scripts/styles
widgets/         # Elementor widget classes
  init.php       # Widget registration
assets/
  css/
  js/
  img/

```

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance94

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

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

Total

8

Last Release

62d ago

### Community

Maintainers

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

---

Top Contributors

[![azijulns](https://avatars.githubusercontent.com/u/110275523?v=4)](https://github.com/azijulns "azijulns (16 commits)")

### Embed Badge

![Health badge](/badges/blackdevs-wp-starter/health.svg)

```
[![Health](https://phpackages.com/badges/blackdevs-wp-starter/health.svg)](https://phpackages.com/packages/blackdevs-wp-starter)
```

PHPackages © 2026

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