# Starting a Project
This document shows how to start a new Agoric project. Our demos are called Dapps (distributed applications), which typically have a browser-based user interface, a public API server, and a contract running on the Agoric blockchain.
Before doing the steps given in this document, be sure you have done the necessary prerequisites specified in Before Using Agoric.
For complete documentation on the Agoric CLI commands (those starting with
agoric) used here,
see the Agoric CLI Guide.
For starting a local chain with multiple users, making it possible to develop and test multiuser Dapps, also see the Agoric CLI Guide.
Also, for what needs to be done after you modify a project's code, see
|Go to or open a shell and ||When you initialize your project/Dapp in the next step, its initial code is copied into your current directory (permissions allowing).|
|Run ||Initializes a Dapp (Distributed application)
There are optional arguments that let you specify which project you want copied into the specified directory. By default, their values are set to use the Encouragement Dapp we wrote to provide a simple skeleton for a smart contract. To specify a different project, use the optional arguments:
If this doesn't work, use
| ||Move to the directory where your project (the demo) is located.|
(leave this shell up with the process running)
|Start the Agoric VM. |
|Open another shell, go to your ||For the remainer of this table, we call this the deploy shell.
Use the same project directory name and location as you used in Step 2. In this example, we used
|In the deploy shell, ||This starts the demo project's UI development server.|
|Go to a browser and open ||If you used the |