{"ref":"artifact:ui5-sample-app","page":"/artifacts/ui5-sample-app","json":"/artifacts/ui5-sample-app.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"ui5-sample-app","name":"@ui5/sample-app","artifact_type":"sample","ecosystem":"ui5","use_as":"reference","domain":"developer-experience","origin_ring":"sap-official","description":{"one_line":"An OpenUI5 sample app set up with the UI5 CLI: ESLint, UI5 linter and UI5 Test Runner checks, a standard and a self-contained build, and a UI5 workspace for developing against local UI5 libraries.","short":"OpenUI5 sample app set up with the UI5 CLI","what_it_solves":"Shows how a UI5 CLI project is set up from clone to build, not any one feature of the framework. `ui5 serve` runs the app; `npm test` runs ESLint and [@ui5/linter](artifact:ui5-linter), then starts the [ui5-test-runner](artifact:arnaudbuchholz-ui5-test-runner) to execute the tests with coverage on, and its package.json lists [@ui5/middleware-code-coverage](artifact:ui5-middleware-code-coverage) among the development dependencies. `ui5 build -a` makes a standard preload build, and `ui5 build self-contained` a bundle of the application's runtime dependencies, each served from `/dist` by a local web server. The README also explains how a `ui5-workspace.yaml` lets the application be developed beside a local clone of the OpenUI5 repository, which must be UI5 1.65.0 or higher. The package is marked private in its package.json and is not on npm."},"links":{"repo":"https://github.com/UI5/sample-app"},"source_available":true,"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/UI5/sample-app","title":"UI5/sample-app — README","checked":"2026-10-19","quote":"OpenUI5 sample app using the UI5 CLI."}]}},"demonstrates":["capability:ui5-build-tooling","capability:ui5-testing","capability:linting"],"maintainers":["actor:ui5"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-19"},"contributors":["actor:akudev","actor:cgrail","actor:clemai","actor:d3xter666","actor:domianer","actor:ecker","actor:flovogt","actor:larskissel","actor:matz3","actor:maxreichmann","actor:mcanalesmayo","actor:michadelic","actor:openui5bot","actor:petermuessig","actor:randombyte","actor:rodrigoeidelvein","actor:romaniam","actor:sebastianwolf-sap","actor:tobiasso85"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"23 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, 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":"REUSE green, 2026-10-19"}],"practice":[{"label":"Tests","tier":"good","evidence":"11 test files"},{"label":"Docs","tier":"good","evidence":"README 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":304,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":304,"forks":229,"open_issues":9,"archived":false,"pushed_at":"2026-10-19","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2014-12-10T13:28:35Z","open_prs":8,"tree_truncated":false,"test_files":11,"workflows":3,"other_ci":false,"readme_bytes":4938,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2014-10-20","last_commit":"2026-10-19","commits":898,"contributors":23,"ci_status":"success","ci_run_at":"2026-10-19","ci_workflow":"REUSE","ci_event":"push","readme_path":"README.md","readme_sha":"ada6e4792afc87db39a0a061b333ff797401c36f","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:ui5","name":"UI5","json":"/actors/ui5.json"}],"contributors":[{"ref":"actor:ecker","name":"Andreas Ecker","json":"/actors/ecker.json"},{"ref":"actor:akudev","name":"Andreas Kunz","json":"/actors/akudev.json"},{"ref":"actor:cgrail","name":"Christian Grail","json":"/actors/cgrail.json"},{"ref":"actor:clemai","name":"Clemens Maier","json":"/actors/clemai.json"},{"ref":"actor:domianer","name":"Domi","json":"/actors/domianer.json"},{"ref":"actor:flovogt","name":"Florian Vogt","json":"/actors/flovogt.json"},{"ref":"actor:larskissel","name":"Lars Kissel","json":"/actors/larskissel.json"},{"ref":"actor:mcanalesmayo","name":"Marcos Canales Mayo","json":"/actors/mcanalesmayo.json"},{"ref":"actor:matz3","name":"Matthias Oßwald","json":"/actors/matz3.json"},{"ref":"actor:maxreichmann","name":"Max Reichmann","json":"/actors/maxreichmann.json"},{"ref":"actor:randombyte","name":"Merlin Beutlberger","json":"/actors/randombyte.json"},{"ref":"actor:michadelic","name":"Michael Graf","json":"/actors/michadelic.json"},{"ref":"actor:openui5bot","name":"OpenUI5 Bot","json":"/actors/openui5bot.json"},{"ref":"actor:petermuessig","name":"Peter Muessig","json":"/actors/petermuessig.json"},{"ref":"actor:rodrigoeidelvein","name":"Rodrigo Eidelvein","json":"/actors/rodrigoeidelvein.json"},{"ref":"actor:romaniam","name":"Roman","json":"/actors/romaniam.json"},{"ref":"actor:sebastianwolf-sap","name":"Sebastian Wolf","json":"/actors/sebastianwolf-sap.json"},{"ref":"actor:tobiasso85","name":"Tobi","json":"/actors/tobiasso85.json"},{"ref":"actor:d3xter666","name":"Yavor Ivanov","json":"/actors/d3xter666.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}