<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 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 
$ 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. "" can be found inside cabal.project file (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 @Mateus answer your good to go.


---

