{"ref":"artifact:ui5-community-generator-ui5-project","page":"/artifacts/ui5-community-generator-ui5-project","json":"/artifacts/ui5-community-generator-ui5-project.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"ui5-community-generator-ui5-project","name":"generator-ui5-project","artifact_type":"generator","ecosystem":"ui5","domain":"developer-experience","origin_ring":"community-org","description":{"one_line":"A Yeoman generator for a UI5 project holding several applications in npm workspaces, with eight subgenerators for recurring tasks and a choice of six deployment targets.","short":"Yeoman generator for UI5 projects holding several applications","what_it_solves":"A UI5 project with more than one application needs an npm-workspaces layout, deployment configuration, and somewhere to put the pieces added after the first pass. This generator scaffolds that layout, run through [Easy-UI5](artifact:ui5-community-generator-easy-ui5) as `yo easy-ui5 project`, and carries eight subgenerators for what recurs afterwards: a uimodule, a flexible programming model page, a data model, an XML view, a custom control, a QUnit test, an OPA5 journey and a CAP server for the Node.js runtime. While prompting it asks which of six deployment targets to configure: a static webserver, an Application Router, Application Frontend Service, the SAP HTML5 Application Repository Service or SAP Build Work Zone standard edition, each deployed to Cloud Foundry, or SAP NetWeaver through the `deploy-to-abap` task. From version 0.1.0 its README says it strives to share core functionality such as webapp scaffolding with SAP's [open-ux-tools](https://github.com/SAP/open-ux-tools).","when_not_to_use":"Not for a single-application project with no deployment configuration: for that the README points to [generator-ui5-app](artifact:ui5-community-generator-ui5-app) instead."},"links":{"repo":"https://github.com/ui5-community/generator-ui5-project"},"identity":{"license":"Apache-2.0"},"type_properties":{"generates":{"value":["project","component","configuration"],"sources":[{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README","checked":"2026-10-19","quote":"A project generator for projects that contain one or more UI5 applications (\"uimodules\") and manage them via [npm workspaces](https://docs.npmjs.com/cli/v7/using-npm/workspaces)."},{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README, Subgenerators (uimodule)","checked":"2026-10-19","quote":"This subgenerator adds a new uimodule to an existing project."},{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README, Subgenerators (model)","checked":"2026-10-19","quote":"The subgenerator can optionally set-up a proxy to the respective data source via the `ui5.yaml`."}]},"invoked_by":{"value":["yeoman"],"sources":[{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README, Usage with easy-ui5","checked":"2026-10-19","quote":"yo easy-ui5 project"}]}},"source_available":true,"provides":[{"capability":"capability:generators","what_it_does":"Scaffolds an npm-workspaces project of one or more UI5 applications, adds uimodules, pages, models, views, custom controls, QUnit and OPA5 tests and a CAP server through its subgenerators, and configures one of six deployment targets.","sources":[{"url":"https://github.com/ui5-community/generator-ui5-project","title":"ui5-community/generator-ui5-project — repository","checked":"2026-10-19","quote":"Generator for UI5-based web-apps which use the official UI5 tooling and support multiple deployment targets such as the SAP Business Technology Platform"},{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README, Subgenerators","checked":"2026-10-19","quote":"This generator is split up into multiple subgenerators to help with recurring tasks even after the initial project generation."}]}],"requires":[{"ref":"artifact:ui5-community-generator-easy-ui5","for":"The host generator that runs this one and its subgenerators as `yo easy-ui5 project`; the README's debugging section runs them from a local path instead.","requirement":"conditional","condition":"run through Easy-UI5 rather than from a clone, as the README's debugging section does with `yo ./generators/project`","sources":[{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README","checked":"2026-10-19","quote":"This generator was build as a plug-in for the community project [easy-ui5](https://github.com/SAP/generator-easy-ui5/) by [SAP](https://github.com/SAP/)."},{"url":"https://github.com/ui5-community/generator-ui5-project","title":"generator-ui5-project — README, Usage with easy-ui5","checked":"2026-10-19","quote":"npm i -g yo generator-easy-ui5"}]}],"maintainers":["actor:ui5-community"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:akudev","actor:alexanderk22","actor:dh4rry","actor:flx-rsc","actor:georgbischoff","actor:heimwege","actor:iobert","actor:lboehm","actor:marcelschork","actor:marianfoo","actor:mariusfreitag","actor:matseee","actor:nicoschoenteich","actor:ohitslena","actor:petermuessig","actor:tobiasqueck","actor:tsaleksandrova","actor:vobu","actor:wridgeu","actor:ziyang-works"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"20 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-07, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"good","evidence":"Run test green, 2026-07-06"}],"practice":[{"label":"Tests","tier":"good","evidence":"6 test files"},{"label":"Docs","tier":"good","evidence":"README 11 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":52,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":52,"forks":27,"open_issues":5,"archived":false,"pushed_at":"2026-07-06","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2021-03-23T09:47:40Z","open_prs":2,"tree_truncated":false,"test_files":6,"workflows":1,"other_ci":false,"readme_bytes":11374,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2021-03-22","last_commit":"2026-07-06","commits":272,"contributors":20,"ci_status":"success","ci_run_at":"2026-07-06","ci_workflow":"Run test","ci_event":"push","readme_path":"README.md","readme_sha":"9ae30872f11de058b793fda94df4f8904994c199","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:ui5-community","name":"UI5 Community","json":"/actors/ui5-community.json"}],"contributors":[{"ref":"actor:alexanderk22","name":"Alexander","json":"/actors/alexanderk22.json"},{"ref":"actor:akudev","name":"Andreas Kunz","json":"/actors/akudev.json"},{"ref":"actor:heimwege","name":"Dominik Heim","json":"/actors/heimwege.json"},{"ref":"actor:flx-rsc","name":"flx-rsc","json":"/actors/flx-rsc.json"},{"ref":"actor:georgbischoff","name":"georgbischoff","json":"/actors/georgbischoff.json"},{"ref":"actor:dh4rry","name":"Harald Gutbrod","json":"/actors/dh4rry.json"},{"ref":"actor:ohitslena","name":"Lena Hammerer","json":"/actors/ohitslena.json"},{"ref":"actor:lboehm","name":"Lukas Böhm","json":"/actors/lboehm.json"},{"ref":"actor:marcelschork","name":"Marcel Schork","json":"/actors/marcelschork.json"},{"ref":"actor:wridgeu","name":"Marco Beier","json":"/actors/wridgeu.json"},{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"},{"ref":"actor:mariusfreitag","name":"Marius Freitag","json":"/actors/mariusfreitag.json"},{"ref":"actor:iobert","name":"Marius Obert","json":"/actors/iobert.json"},{"ref":"actor:matseee","name":"matse","json":"/actors/matseee.json"},{"ref":"actor:nicoschoenteich","name":"Nico Schoenteich","json":"/actors/nicoschoenteich.json"},{"ref":"actor:petermuessig","name":"Peter Muessig","json":"/actors/petermuessig.json"},{"ref":"actor:tobiasqueck","name":"Tobias Queck","json":"/actors/tobiasqueck.json"},{"ref":"actor:tsaleksandrova","name":"Tsvetelina Petrova","json":"/actors/tsaleksandrova.json"},{"ref":"actor:vobu","name":"Volker Buzek","json":"/actors/vobu.json"},{"ref":"actor:ziyang-works","name":"Ziyang Li","json":"/actors/ziyang-works.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}