# NativeScript CLI

Usage | Synopsis
--- | ---
General | `$ tns <Command> [Command Parameters] [--command <Options>]`
Alias | `$ nativescript <Command> [Command Parameters] [--command <Options>]`

## General Commands

Command | Description
--- | ---
help `<Command>` | Shows additional information about the commands in this list in the browser.
autocomplete | Configures your current command-line completion settings.
usage-reporting | Configures anonymous usage reporting for the NativeScript CLI.
error-reporting | Configures anonymous error reporting for the NativeScript CLI.
doctor | Checks your system for configuration problems which might prevent the NativeScript CLI from working properly.
info | Displays version information about the NativeScript CLI, core modules, and runtimes.
proxy | Displays proxy settings.
update | Updates the project with the latest versions of iOS/Android runtimes and cross-platform modules.

## Project Development Commands

Command | Description
--- | ---
create | Creates a new project for native development with NativeScript.
init | Initializes an existing project for native development with NativeScript.
platform add `<Platform>` | Configures the current project to target the selected platform.
platform list | Lists all platforms that the project currently targets.
platform remove `<Platform>` | Removes the selected platform from the platforms that the project currently targets. This operation deletes all platform-specific files and subdirectories from your project.
platform update `<Platform>` | Updates the NativeScript runtime for the specified platform.
resources update | Updates the App_Resources/'s internal folder structure to conform to that of an Android Studio project.
prepare `<Platform>` | Copies relevant content from the app directory to the subdirectory for the selected target platform to let you build the project.
build `<Platform>` | Builds the project for the selected target platform and produces an application package or an emulator package.
deploy `<Platform>` | Deploys the project to a connected physical or virtual device.
run | Runs your project on a connected device or in the native emulator, if configured.
run `<Platform>` | Runs your project on a connected device or in the native emulator for the specified platform, if configured.
debug `<Platform>` | Debugs your project on a connected physical or virtual device.
test init | Configures your project for unit testing with a selected framework.
test `<Platform>` | Runs the unit tests in your project on a connected physical or virtual device.
install | Installs all platforms and dependencies described in the `package.json` file in the current directory.
plugin | Lets you manage the plugins for your project.

## Publishing Commands

Command | Description
--- | ---
appstore | Lists applications registered in iTunes Connect.
appstore upload | Uploads project to iTunes Connect.

## Device Commands

Command | Description
--- | ---
device | Lists all recognized connected physical or virtual devices.
device log | Opens the log stream for the selected device.
device run | Runs the selected application on a connected device.
device list-applications | Lists the installed applications on all connected devices.

## Environment Configuration Commands

Command | Description
--- | ---
setup | Run the setup script to try to automatically configure your environment for local builds.
setup cloud | Install the `nativescript-cloud extension` to configure your environment for cloud builds.

## Global Options

Option | Description
--- | ---
--help, -h, /? | Prints help about the selected command in the console.
--path `<Directory>` | Specifies the directory that contains the project. If not set, the project is searched for in the current directory and all directories above it.
--version | Prints the client version.
--log trace | Prints a detailed diagnostic log for the execution of the current command.