title: Embark CLI Commands layout: docs --- This is the Embark CLI command reference. ## new ``` $ embark new dappName ``` Creates a new empty DApp project. If no `dappName` is provided, Embark will ask for the dappName. Option | Description --- | --- `--contracts-only` | create a barebones project meant only for contract development `--simple` | an alias for `--contracts-only` `--template` | **DEPRECATED IN v5** download a template using a known name or a git host URL {% notification danger 'DEPRECATION NOTICE' %} The `--template` option has been deprecated in v5 and support will be removed in future versions. {% endnotification %} The `--template` option supports several URL styles and shortcuts for git hosts: ``` git@github.com:ghuser/repo_name https://github.com/ghuser/repo_name github:ghuser/repo_name ghuser/repo_name ``` It's possible to append a branch name to any of the above, for example: ``` https://github.com/ghuser/repo_name#branch_name ghuser/repo_name#branch_name ``` Bitbucket and GitLab URLs and shortcuts are also supported, for example: ``` bitbucket:bbuser/repo_name#branch_name gitlab:gluser/repo_name#branch_name ``` A short name can be used for templates maintained in the Embark GitHub organization, for example: ``` $ embark new --template typescript ``` ## demo ``` $ embark demo ``` Generates a demo Embark Project with a working contract and examples of working with contracts, IPFS and Whisper. ## build ``` $ embark build [environment] ``` Deploys and Builds the DApp at dist/. If no `environment` is provider embark will use `development` by default. ## run ``` $ embark run [environment] ``` Deploys and Builds the DApp at `dist/`. By default will launch a dashboard and start a dev server at `http://localhost:8000/`. If no `environment` is provider embark will use `development` by default. Option | Description --- | --- `-p`, `--port` | `port` to run the dev webserver (default: 8000) `-b`, `--host` | `host` to run the dev webserver (default: localhost) `--noserver` | disable the development webserver `--nodashboard` | simple mode, disables the dashboard `--nobrowser` | prevent the development webserver from automatically opening a web browser `--no-color` | no colors in case it's needed for compatbility purposes `--logfile` | `filename` to output logs (default: none) ## blockchain ``` $ embark blockchain [environment] ``` Takes the config at `config/blockchain.json` for the `environment` specified and starts a blockchain node. If no `environment` is provider embark will use `development` by default. If you want, you can skip the step of running `embark blockchain`, as `embark run`, `build` and `upload` now all start a blockchain node in a separate process if there is not one already started using the same configurations. ## simulator ``` $ embark simulator [environment] ``` Takes the config at `config/blockchain.json` for the `environment` specified and starts a blockchain simulator. If no `environment` is provider embark will use `development` by default. Option | Description --- | --- `-p`, `--port` | `port` to run the rpc simulator (default: 8545) `-h`, `--host` | `host` to run the rpc simulator (default: localhost) `-a`, `--accounts` | `num` of accounts to start the simulator (default: 10) `-e`, `--defaultBalanceEther` | `balance` in ether to assign each test account (default: 100) `-l`, `--gasLimit` | custom `gasLimit` (default: 8000000) ## test ``` $ embark test [file] ``` Runs Tests. If `file` is not specified then it will run all the tests inside the `test/` directory. Option | Description --- | --- `-n`, `--node` | node for running the tests (default: vm) `-d`, `--gasDetails` | print the gas cost for each contract deployment when running the tests `-c`, `--coverage` | generate a coverage report after running the tests (vm only) The `--node` option supports several values: Value | Description --- | --- `vm` | start and use an Ethereum simulator (ganache) `embark` | use the node of a running embark process `` | connect to and use the specified node Example of endpoint usage: `embark test --node ws://localhost:8556` ## reset ``` $ embark reset ``` Resets embarks state on this dapp including clearing cache. ## exec ``` $ embark exec [environment] [file|directory] ``` Executes a given (migration) script to perform complex after deployment operations. It's required to specifiy the `environment` in which the script(s) will be executed in. In addition it's possible to specificy a directory in which multiple script live in. Embark will execute them one by one. ## upload ``` $ embark upload [platform] [environment] ``` Uploads the DApp to a decentralized storage such as IPFS. `platform` can be `ipfs` or `swarm` or another parameter if supported by a plugin. If no `environment` is provider embark will use `development` by default. ## graph ``` $ embark graph ``` Generates documentation based on the smart contracts configured ## version ``` $ embark version ``` Displays version information.