Skip to content

Publishing

Lukman Nakib edited this page May 30, 2026 · 1 revision

Publishing to Packagist

This is what makes the public one-liner work:

composer create-project wp-plugin-matrix/starter my-plugin

composer.json is already prepared — name wp-plugin-matrix/starter, type project, and the post-create-project-cmd that runs the Personalizer. You only need to publish a tagged release and register it once.

One-time setup

  1. Push the repo public to github.com/nkb-bd/wp-plugin-matrix (it must be public for free Packagist).
  2. Tag a release (Packagist serves tagged versions for create-project):
    git tag v1.0.0
    git push origin main --tags
  3. Submit on Packagist — sign in at https://packagist.org, click Submit, paste https://github.com/nkb-bd/wp-plugin-matrix, submit.
  4. Auto-update — Packagist shows a "GitHub Hook" / Integration; enable it (or add the Packagist webhook in the repo settings) so new tags publish automatically.

Then anyone can run the one-liner above and get a personalized, ready-to-build plugin.

Notes

  • type: project is the convention for a create-project skeleton (like laravel/laravel). If you instead want it installable as a normal plugin dependency via composer/installers, switch back to wordpress-plugin — but create-project is the intended distribution model here.
  • For private/team use without public Packagist, skip steps 1–4 and run:
    composer create-project wp-plugin-matrix/starter my-plugin \
      --repository='{"type":"vcs","url":"https://github.com/nkb-bd/wp-plugin-matrix"}'
    …or use a private Packagist / Satis.
  • Cut future releases with the release-bump workflow (bump version + changelog), then git push --tags.

Clone this wiki locally