<p>If your app is fairly simple and all you need is to be able to send transactions to an address, send transactions to a smart contract or redeem assets from a smart contract then there is a <code>create-react-app</code> to get you started here:</p>
<p><a href="https://developers.cardano.org/docs/get-started/cardano-serialization-lib/create-react-app" rel="nofollow noreferrer">Create React App on Cardano Developer Portal</a></p>

CC BY-SA 4.0
2022-04-11T21:57:16.243Z
2022-04-11T21:57:16.243Z
D S
<p>inside the terminal you would be able to make a custom directory (or folder tree) using the commands <code>mkdir</code> and <code>cd</code> which make a folder and change the current folder your in respectively.</p>
<p>Doing this will separate your project files from the plutus files, but by running nix-shell your environment would still be the one required to compile plutus smart contracts.</p>
<p>To use this with vscode from the terminal navigate to your project directory and run <code>code .</code>. This should port your nix-shell environment into the vscode one, if it doesn't you may have to change some settings in vscode.</p>
<p>Between this and @Mateus answer your good to go.</p>

CC BY-SA 4.0
2022-02-22T17:19:45.543Z
2022-02-22T17:19:45.543Z
KryptoKing
<p>There is no <code>npx create-react-app my-app</code> on cardano unfortunately, but there is a <a href="https://github.com/input-output-hk/plutus-starter" rel="nofollow noreferrer">helpful repository</a> that has the project structure necessary to start working with plutus.</p>
<p>So, first, you need to nix-shell inside the plutus-apps repo:</p>
<pre><code>$ git clone https://github.com/input-output-hk/plutus-apps # if you haven't already
$ cd plutus-apps
$ git checkout &lt;current-tag&gt;
$ nix-shell
</code></pre>
<p>The git checkout part just need's to be done in the first time you run this or whenever you change the cabal.project file. &quot;&lt;current-tag&gt;&quot; can be found inside <a href="https://github.com/input-output-hk/plutus-starter/blob/d0f93f297008be3d209e5d7eeb3233b8198a6f76/cabal.project" rel="nofollow noreferrer">cabal.project file</a> (in this case it would be <code>plutus-starter-devcontainer/v1.0.14</code>)</p>
<p>So, assuming you are already on a nix-shell, it would look like this:</p>
<pre><code>$ git clone https://github.com/input-output-hk/plutus-starter.git
$ cd plutus-starter
$ cabal update
$ cabal repl
</code></pre>
<p>Way longer than the create-react-app one, but that's mainly because of nix-shell, after a while you get used to it.</p>

CC BY-SA 4.0
2022-03-17T00:56:31.650Z
Why do we need to do the command git checkout <current tag> ? I am following the plutus-pionner-program and I have to do this for every week's folder too. Why cant we just run nix-shell and start up the client ?
szhang9921
CC BY-SA 4.0
2022-03-17T08:58:48.080Z
Because plutus-apps is being constantly developed and so some syntax / features change from lecture to lecture
Mateus
CC BY-SA 4.0
2022-02-22T10:57:16.457Z
2022-02-22T10:57:16.457Z
Mateus
<p>Let's say I have downloaded all the necessary things needed to start developing on Cardano and I just opened up the terminal. I want to start building a new project. What are the commands I run.</p>
<p>Example -- If I was going to do this for React I would run the following command and start coding.</p>
<pre><code>npx create-react-app my-app
cd my-app
npm start
</code></pre>
<p>What is the equivalent of that for Plutus.</p>

CC BY-SA 4.0
2022-12-21T08:40:58.783Z
Please take a look at this post https://cardano.stackexchange.com/a/9648/2335
Fermat
<plutus><set-up><create-new-project>
How to Start a New Project
# How to Start a New Project

(Asked by: username_0 on 2022-02-21)

Let's say I have downloaded all the necessary things needed to start developing on Cardano and I just opened up the terminal. I want to start building a new project. What are the commands I run.

Example -- If I was going to do this for React I would run the following command and start coding.

```
npx create-react-app my-app
cd my-app
npm start

```

What is the equivalent of that for Plutus.

**Tags:** plutus, set-up, create-new-project

> **Comments:**
> **username_1**: Please take a look at this post https://cardano.stackexchange.com/a/9648/2335  

---

## 3 answers

### Answer by username_4 on 2022-02-22. Score: 3 | Accepted answer

There is no `npx create-react-app my-app` on cardano unfortunately, but there is a [helpful repository](https://github.com/input-output-hk/plutus-starter) that has the project structure necessary to start working with plutus.

So, first, you need to nix-shell inside the plutus-apps repo:

```
$ git clone https://github.com/input-output-hk/plutus-apps # if you haven't already
$ cd plutus-apps
$ git checkout <current-tag>
$ nix-shell

```

The git checkout part just need's to be done in the first time you run this or whenever you change the cabal.project file. "<current-tag>" can be found inside [cabal.project file](https://github.com/input-output-hk/plutus-starter/blob/d0f93f297008be3d209e5d7eeb3233b8198a6f76/cabal.project) (in this case it would be `plutus-starter-devcontainer/v1.0.14`)

So, assuming you are already on a nix-shell, it would look like this:

```
$ git clone https://github.com/input-output-hk/plutus-starter.git
$ cd plutus-starter
$ cabal update
$ cabal repl

```

Way longer than the create-react-app one, but that's mainly because of nix-shell, after a while you get used to it.

> **Comments:**
> **username_0**: Why do we need to do the command git checkout <current tag> ? I am following the plutus-pionner-program and I have to do this for every week's folder too. Why cant we just run nix-shell and start up the client ?  
> **username_4**: Because plutus-apps is being constantly developed and so some syntax / features change from lecture to lecture  

---

### Answer by username_2 on 2022-04-11. Score: 1

If your app is fairly simple and all you need is to be able to send transactions to an address, send transactions to a smart contract or redeem assets from a smart contract then there is a `create-react-app` to get you started here:

[Create React App on Cardano Developer Portal](https://developers.cardano.org/docs/get-started/cardano-serialization-lib/create-react-app)


---

### Answer by username_3 on 2022-02-22. Score: 0

inside the terminal you would be able to make a custom directory (or folder tree) using the commands `mkdir` and `cd` which make a folder and change the current folder your in respectively.

Doing this will separate your project files from the plutus files, but by running nix-shell your environment would still be the one required to compile plutus smart contracts.

To use this with vscode from the terminal navigate to your project directory and run `code .`. This should port your nix-shell environment into the vscode one, if it doesn't you may have to change some settings in vscode.

Between this and @username_4 answer your good to go.


---

