Contributing

The UI5 community thrives on shared extensions. Whether you want to ship inside this monorepo or maintain in your own repo, both paths are welcome.

Table of contents
  1. Two ways to contribute
    1. Path 1 — Contribute to this monorepo
    2. Path 2 — Self-managed in your own repo
  2. Naming convention
  3. Quick development setup
  4. Code of conduct & security

Two ways to contribute

Path 1 — Contribute to this monorepo

You can integrate your task, middleware, or full UI5 CLI extension directly into ui5-ecosystem-showcase.

You get:

  • Automated NPM publishing via GitHub Actions and Changesets — no NPM credentials to manage.
  • Free CI: lint, format, commitlint, CodeQL, test workflows already set up.
  • Reviews from the community before merge.
  • Visibility on this site and on bestofui5.org.

You agree to:

  • Continue maintaining the extension and triaging its issues.
  • Use conventional commits — enforced by a pre-commit hook and by CI.
  • Write a Changeset for every PR that touches a public package (three flavours: pnpm changeset:auto, pnpm changeset, pnpm changeset:empty).
  • Follow the naming convention (ui5-task-*, ui5-middleware-*, ui5-tooling-*).

The full development workflow (pnpm, branches, testing, release flow) lives in CONTRIBUTING.md.

Path 2 — Self-managed in your own repo

If you’d rather keep full control — your own release cadence, your own CI, your own license terms — keep your extension in your own repository. In that case:

  • Stick to the naming convention so the rest of the ecosystem can find it.
  • Check for duplicates in Best of UI5 and on the NPM registry before publishing.
  • Submit your package to Best of UI5 — this is how UI5 developers will discover your work.
  • Consider adding a keywords entry like ui5-task, ui5-middleware, or ui5-tooling to your package.json for NPM searchability.

Naming convention

When you publish to NPM, the prefix tells the rest of the ecosystem what your package is:

Prefix What it is
ui5-task-* A UI5 CLI task (build-time)
ui5-middleware-* A UI5 CLI middleware (dev-server)
ui5-tooling-* A UI5 CLI extension that combines tasks and middlewares

Sticking to these prefixes is what makes https://www.npmjs.com/search?q=ui5-task-, ...?q=ui5-middleware-, and ...?q=ui5-tooling- usable as discovery tools.

Quick development setup

# Pre-requisites: pnpm >= 11.5.0, Node.js LTS >= 22

git clone https://github.com/ui5-community/ui5-ecosystem-showcase.git
cd ui5-ecosystem-showcase
pnpm install

# Run the showcase app in dev mode
pnpm dev

# Run all the things in CI mode locally
pnpm test:ci

See CONTRIBUTING.md for the deeper details — branches, formatting, releases, dependency upgrades, local GitHub Actions runs via act.

Code of conduct & security

  • Code of Conduct — we use the Contributor Covenant. Reach the community team at ui5communityteam@gmail.com.
  • Security policy — please use GitHub’s private vulnerability reporting, not public issues.