Installed Desktop CLI

Expose the packaged Dots CLI from a desktop installation through a PATH-managed shim without shipping a second Node runtime.

Overview

Description

The Dots Desktop installer exposes a working dots command to Windows shells. It installs a small command shim beside the application, adds that directory to the current user’s PATH, and records a discoverable registry location. The shim runs the packaged CLI bundle with Dots.exe in Node mode, so the desktop and CLI share one installed runtime and version.

The path calculation is location-relative rather than working-directory-relative. Users can invoke dots from any folder, and the shim finds the executable and bundled daemon CLI under the installation tree. Uninstall removes both the PATH entry and registry marker, preventing stale command discovery.

Selling Points

  • Makes local operations and developer commands available immediately after desktop installation.
  • Avoids a separate Node.js prerequisite, reducing setup friction and version mismatch.
  • Keeps desktop and CLI on the same release, so command contracts match the bundled daemon.
  • Supports invocation from any working directory, which is essential for repository-aware commands.
  • Cleans up PATH and registry discovery during uninstall instead of leaving broken shell entries.

User Story

A Windows user installs Dots Desktop and opens PowerShell in a project folder. They run dots local status, dots repo ingest ., or another packaged command without installing Node or locating an executable manually. The shim resolves the desktop installation, starts the CLI bundle under the existing application binary, and returns the command result in the same shell.

Extension Surface

This feature is fixed core. apps/desktop/build-resources/bin/dots.cmd defines the one installed launch contract, and apps/desktop/build-resources/installer.nsh owns PATH and registry integration. Commands inside the CLI may have their own automation or plugin surfaces, but the desktop exposure mechanism itself has no supported provider or alternate-shim registration point.

Capabilities & Limits

  • Adds an installed dots command to the per-user PATH and publishes a registry discovery key.
  • Reuses the Electron executable as a Node host through process-local ELECTRON_RUN_AS_NODE=1.
  • Resolves executable and CLI bundle paths relative to the shim, independent of the caller’s directory.
  • Limit: this exposure is Windows-specific; other platforms rely on their distribution’s command access conventions.
  • Limit: the shim works only from its installed layout because the packaged CLI path is part of that layout.

Implementation Map

  • apps/desktop/build-resources/bin/dots.cmd
  • Dots.exe
  • apps/desktop/build-resources/installer.nsh
  • apps/desktop/electron-builder.yml
  • apps/desktop/scripts/build-packaged.mjs

Properties

Property
Value
product
dots-platform
extensibility
fixed-core
module
Desktop Shell, CLI
packages
apps-desktop
status
shipped
surface
cli
summary
Expose the packaged Dots CLI from a desktop installation through a PATH-managed shim without shipping a second Node runtime.

Connections

Installed Desktop CLI · Explore connections

  • documented bytoInstall The CLI
  • implemented bytoapps/desktop/scripts/build-packaged.mjs
  • complementstoLocal Runtime Operations

Connected Records3

Complements
Documented by
Implemented by
apps/desktop/scripts/build-packaged.mjs
3 connections.

Documents

Title
Type
START HERE