Start here: writing your first PNLCS module

A module is a folder under modules/ with a pnlcs.json manifest. Drop it in and PNLCS registers it on the next request. You don’t edit the core, and nothing has to be re-registered after an update.

modules/
└── Gateways/            ← Gateways, Servers, Registrars or Ssl
    └── AcmePay/
        ├── AcmePayModule.php
        └── pnlcs.json

The guide covers the manifest, the interface for each module type, optional capabilities, hooks, reports, dashboard widgets and replacing a core service:

Stuck on something? Open a topic here with your code and what you expected. Finished a module? Share it in Modules & themes.