PHPackages                             veronalabs/forge - 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. veronalabs/forge

ActiveProject[Utility &amp; Helpers](/categories/utility)

veronalabs/forge
================

VeronaLabs WordPress plugin starter template

v1.0.0(3mo ago)01↓90.9%MITPHPPHP &gt;=7.4

Since Apr 2Pushed 3mo agoCompare

[ Source](https://github.com/veronalabs/forge)[ Packagist](https://packagist.org/packages/veronalabs/forge)[ RSS](/packages/veronalabs-forge/feed)WikiDiscussions main Synced 4w ago

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

Forge — VeronaLabs Plugin Starter
=================================

[](#forge--veronalabs-plugin-starter)

Craft production-ready WordPress plugins from a battle-tested foundation.

Quick Start
-----------

[](#quick-start)

```
composer create-project veronalabs/forge my-plugin
cd my-plugin
./configure
```

The `configure` script will ask for your plugin name, namespace, and other details, then scaffold everything automatically.

What's Inside
-------------

[](#whats-inside)

- **Service Container** — Lazy-loading DI with register/boot lifecycle
- **Service Providers** — Two-phase initialization (register factories, then boot)
- **React Dashboard** — Vite + React 19 with manifest-based PHP enqueue
- **SCSS + Entry Points** — Admin/frontend SCSS and IIFE bundles via Vite
- **Premium Template** — Unified premium model with module loader system
- **PHPUnit Tests** — WordPress test library integration
- **wp-scoper** — Vendor namespace isolation for conflict-free distribution

Architecture
------------

[](#architecture)

```
my-plugin/
├── src/
│   ├── Bootstrap.php              # Plugin initialization
│   ├── Container/                 # DI container + service providers
│   ├── Components/                # Utilities (View, etc.)
│   └── Service/                   # Business logic (Admin, Assets, etc.)
├── resources/
│   ├── react/src/                 # React dashboard app
│   ├── entries/                   # Admin/frontend IIFE bundles
│   └── scss/                      # Stylesheets
├── views/                         # PHP templates
├── tests/                         # PHPUnit tests
└── premium/                       # Premium plugin template
    └── pro/
        ├── src/                   # Premium bootstrap + module loader
        └── modules/               # Auto-discovered premium modules

```

Development
-----------

[](#development)

```
# Install dependencies
composer install
npm install

# Start dev server (React + scripts + SCSS watch)
npm run dev

# Production build
npm run build

# Run tests
composer test
```

Premium Plugin
--------------

[](#premium-plugin)

The `premium/` directory contains a complete premium plugin template. During `./configure`, it's copied to a sibling directory as `{slug}-premium/`. The premium plugin:

1. Bundles the free plugin via symlinks
2. Boots after the free core via the `{hook}_loaded` action
3. Auto-discovers modules from `pro/modules/` via `manifest.json`

### Creating a Module

[](#creating-a-module)

```
pro/modules/my-feature/
├── manifest.json
└── src/
    └── MyFeatureModule.php

```

**manifest.json:**

```
{
    "slug": "my-feature",
    "name": "My Feature",
    "version": "1.0.0",
    "namespace": "MyPlugin\\Pro\\Modules\\MyFeature",
    "main_class": "MyPlugin\\Pro\\Modules\\MyFeature\\MyFeatureModule"
}
```

License
-------

[](#license)

MIT

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

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

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/79f7082bc28725eab3841fb8e6d28a55302aa621b694cb8567e0a6c7b0013495?d=identicon)[mostafasoufi](/maintainers/mostafasoufi)

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/veronalabs-forge/health.svg)

```
[![Health](https://phpackages.com/badges/veronalabs-forge/health.svg)](https://phpackages.com/packages/veronalabs-forge)
```

###  Alternatives

[binsoul/net-mqtt

MQTT protocol implementation

29908.8k7](/packages/binsoul-net-mqtt)[sssurii/laravel-ics

Laravel package to create iCalendar / ICS files. Send new event invitations via Email and can cancel or update already sent invitation.

2162.8k](/packages/sssurii-laravel-ics)[humanmade/altis-reusable-blocks

Adds functionality to reusable blocks to enhance their usage.

11197.5k9](/packages/humanmade-altis-reusable-blocks)

PHPackages © 2026

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