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
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
keywordsentry likeui5-task,ui5-middleware, orui5-toolingto yourpackage.jsonfor 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.