Skip to main content

dejaOS CLI

Overview​

DejaOS CLI is the official command-line development tool for DejaOS. It provides project management, device control, and code synchronization capabilities corresponding to the commonly used buttons in the VSCode extension. It is suitable for terminal-based development, automation scripts, and AI-assisted programming workflows.

The CLI does not require the VSCode extension, but Node.js 18 or later must be installed on the computer.

Installation​

npm install -g dejaos-cli

Verify the installation:

dejaos --help

All project commands operate on the current directory by default. Before running a command, ensure that the current project root contains an app.dxproj file.

Commands​

CommandDescription
dejaos editEdit app.dxproj in a terminal UI
dejaos installDownload project components defined in app.dxproj to dxmodules/
dejaos buildBuild the project as a .dpk application package
dejaos connectCheck and connect to a USB device
dejaos startStart the application on the device
dejaos stopStop the application on the device
dejaos rebootReboot the device
dejaos syncSynchronize only changed files
dejaos sync --allSynchronize all project files
dejaos runStop the application, perform an incremental sync, and restart it
dejaos logsStream real-time device logs; press Ctrl+C to exit

After obtaining a project for the first time or changing its component configuration:

dejaos install
dejaos sync --all
dejaos start

During daily development, after modifying code, run:

dejaos run

dejaos run automatically connects to the device, stops the current application, synchronizes changed files, and restarts the application.

Editing Project Configuration​

Run the following command to open the terminal project configuration editor:

dejaos edit

The editor supports changing the project name, device model, SDK version, application version, ignore rules, and component versions. Press s to save and q to exit.

The app.dxproj file stores the internal SDK ID, while the editor displays the corresponding SDK name, such as 2.0 or 3.0.

Incremental and Full Synchronization​

dejaos sync compares current project files with the MD5 information saved after the previous successful synchronization. It packages and sends only files that have changed.

A full synchronization is recommended in the following situations:

  • Synchronizing the project to a device for the first time;
  • Changing many components or resource files;
  • The code state on the device no longer matches the local project;
  • Files are missing after an incremental synchronization.
dejaos sync --all

AI-Assisted Development​

The CLI can be called directly by AI programming tools or automation scripts. For example, after an AI tool modifies the code, it can run:

dejaos run

This removes the need to manually click VSCode buttons and completes code synchronization and device execution automatically. To continuously inspect runtime output, run:

dejaos logs

VSCode Extension and CLI​

The VSCode extension and CLI can be used independently:

  • Use the VSCode extension if you prefer a graphical interface, visual project configuration, and the GUI editor;
  • Use DejaOS CLI if you prefer terminal workflows, automation scripts, or AI-assisted development;
  • Both tools use the same app.dxproj project format.