# ISP Billing Plugin Packages

Each plugin is a self-contained feature package. The root `plugin.json` is required:

```json
{
  "slug": "example-plugin",
  "name": "Example Plugin",
  "description": "Short description",
  "version": "1.0.0",
  "signature": "HMAC-SHA256 signature"
}
```

Optional package folders are `database/migrations`, `routes`, `resources`, `assets` and `src`.

Run `php artisan plugins:sync` after adding a trusted local package. Production ZIP uploads are signature-protected with `PLUGINS_SIGNING_KEY`; never enable unsigned plugins on a public server.
