A small, working ISPGrid add-on to start yours from: one page in the Add-ons menu, one setting on System, then Add-ons, two permission boxes, Hindi strings, tests and CI.
The full guide to writing an add-on, and getting it into the ISPGrid add-on list, is in ispgrid/addons.
-
On GitHub, Use this template, then Create a new repository. Name it like your package: the server installs
vendor/packagefromhttps://github.com/vendor/package, so the repository must bepackageunder your account or organisationvendor. -
Rename everything that says hello. With
vendor/package=yourname/billing:Replace With acme/helloyourname/billing(composer.json, the provider,.github/workflows/ci.yml, tests)Acme\HelloandAcme\\HelloYourname\Billing(namespace)HelloServiceProviderBillingServiceProvider(class and file name)hello::,'hello'namespace,hello.setting keys,hello.indexroutebillingview-hello,manage-helloyour own permission names (provider, migration, views, tests) Helloin strings andlang/hi.jsonyour add-on's name Then rename the migration file and set
name,descriptionandauthorsin composer.json, and the copyright line in LICENSE. -
Read the guide before adding features: what core lets an add-on use, and what the review refuses.
In an ISPGrid checkout next to this repository:
cp composer.json composer.lock ../addon-backup/ # restore them when you are done
composer config repositories.my-addon '{"type": "path", "url": "../billing", "options": {"symlink": true}}'
composer require yourname/billing:@dev
ISPGRID_ADDONS=on php vendor/bin/pest --test-directory=vendor/yourname/billing/tests vendor/yourname/billing/tests
vendor/bin/pint ../billing/src ../billing/database ../billing/routes ../billing/tests ../billing/resourcesNever commit the checkout's changed composer.json and composer.lock.
MIT