Subsequent runs
Once a site has been added, you can simply run:
node remote-shell.js shell
or
node remote-shell.js client
The API will remember the last used site and automatically send updates to it.
What happens on first launch?
When you run the script for the first time, it will:
Download the RemoteShell project next to your monorepo (if not already present)
Build the project and create a desktop shortcut to launch the UI
Automatically start the RemoteShell API (if not running)
Set up your shell configuration:
Enable NodeWatch mode
Automatically activate and bind the site
Start the command:
nx run app.studio-enterprise.shell:build:development --watch
It will watch for changes in real-time and send updates to the site using the RemoteShell API.
If you encounter any issues with the script or need more customization (e.g., build targets other than shell/system-designer, advanced watcher setup, or custom transfer behavior), skip ahead to the Manual Installation section.
Run the deployment script
In the root directory of the project:
deploy_remote_shell.ps1
(Optional) Configure
Edit the appsettings.json file located at:
RemoteShell\deployment\RemoteShellApp\appsettings.json
For parameter details, see the section below.
Update
To update to the latest version, pull the latest changes and re-run the deployment script.
After installation, a shortcut named Remote Shell will appear on your desktop.
🔧 appsettings.json Configuration Overview
Below is a description of the most important configuration parameters:
DevFileModetrue — stores files directly in the repository
false — stores files in the /deployment/... directory
CacheTimeSpanMinutes
The cache lifetime (in minutes) for the Quick Transfer feature (used for unregistered site history)
WatcherDebounceTimeMs
Debounce time for the file system watcher in milliseconds
Helps prevent excessive triggering during rapid file updates (used only with FileSystemWatcher)
MonorepositoryLocalPath
Optional path to your local monorepo
Used as the default in UI forms to simplify setup
ProcessingQueueOptions.CombineStrategySizeLimitKb
Maximum total size (in KB) of files to use the combined transfer strategy
ProcessingQueueOptions.CombineStrategyCountLimit
Maximum number of files for which combined transfer is used
ProcessingQueueOptions.BrowserType
The browser type for Selenium. Specifies in which browser to open or refresh your site. If set to None, Selenium will not be started, and the automatic page refresh function will be unavailable.
ProcessingQueueOptions.ArchiveStrategySupportServers
List of server names that are allowed to use the archive transfer strategy
LocalWebhookPort
The port used by the client’s Node process to send metrics in NodeWatch mode
Default: 9099
If changed, make sure to update it in both the config and remote-shell.js