upload-front-end
Uploads a compiled custom front-end bundle to a workspace. The bundle becomes the active UI the next time a user loads the workspace.
The folder you point at must look like a compiled Mosaik.FrontEnd bundle — the CLI checks for a mosaik.app marker file in the root.
Syntax
Usage: curiosity-cli upload-front-end --server <url> --token <token> [--path <dir>] [options]
curiosity-cli upload-front-end \
--server https://my-workspace.example.com/ \
--token $CURIOSITY_TOKEN \
--path ./MyApp/bin/Release/netstandard2.0/h5/
Options
| Option | Description |
|---|---|
--server |
Workspace URL. Alias -s. |
--token |
Library Token with permission to manage interfaces. Alias -t. |
--path |
Local path to the compiled h5/ folder. Alias -p. Default pwd. |
--auto-patch |
Rewrite asset URLs at upload time. Set when assets are served from a different prefix than the workspace. Alias -a. Default false. |
--ignore-certificate-errors |
Disable TLS validation. Dev only. Alias -i. Default false. |
--timeout |
Per-request timeout in seconds — bump it for large bundles. Default 90. |
Permissions
The token must belong to a user (or service account) that can manage workspace interfaces. If you see 401/403 errors, recreate the token with Admin rights under Manage → Tokens → Library.
CI / promotion pattern
Build once, upload many times — treat the bundle as a build artifact and promote the same bytes through environments:
dotnet build -c Release
# Dev
curiosity-cli upload-front-end -s $DEV_URL -t $DEV_TOKEN -p ./bin/Release/netstandard2.0/h5
# Staging
curiosity-cli upload-front-end -s $STAGING_URL -t $STAGING_TOKEN -p ./bin/Release/netstandard2.0/h5
# Production
curiosity-cli upload-front-end -s $PROD_URL -t $PROD_TOKEN -p ./bin/Release/netstandard2.0/h5
Don't rebuild between staging and production — re-upload the byte-identical bundle so the only variable is the target workspace's data.
Remarks
- Use
upload-front-endto promote a compiled bundle into a workspace; the uploaded UI becomes active on the next load. - The token must be able to manage workspace interfaces —
401/403errors usually mean it lacks Admin rights. - The target folder must be a compiled
Mosaik.FrontEndbundle (it must contain amosaik.appmarker). Build once and re-upload the same bytes across environments rather than rebuilding per stage.
See also
serve— iterate locally before each upload.- Custom Front-End development workflow — the full build-and-deploy loop.
- H5 Compiler — produces the bundle this command uploads.
- Tesserae UI — the UI components.