# The Flip Smart Contract part 3 : Setting up the project

## Cloning the contract template

For the moment there is no CLI allowing to create new AssemblyScript smart contracts projects, so you'll need to clone the empty contract template :&#x20;

<pre class="language-bash"><code class="lang-bash">git clone https://github.com/gfusee/mx-sdk-as-empty.git flip
cd flip
<strong>rm -rf .git
</strong></code></pre>

{% hint style="info" %}
A CLI like `mxpy` is not available yet for AssemblyScript projects. This feature is planned.
{% endhint %}

## Initializing the code and dependancies

Open the folder inside your favorite code editor and replace the content of the \`assembly/index.ts\` by the following code :

```typescript
//@ts-nocheck

import {
    ContractBase
} from "@gfusee/mx-sdk-as";

@contract
abstract class FlipContract extends ContractBase {
    
}
```

{% hint style="info" %}
Use `//@ts-nocheck` to avoid false errors due to IDEs thinking the code is in TypeScript instead of AssemblyScript and annotations not processed.
{% endhint %}

Here we have the simplest contract ever : a contract that does nothing (for now!). More information about each line can be found [inside the previous tutorial](https://fusee.gitbook.io/mx-sdk-as/the-flip-smart-contract/broken-reference).

As any node project we need to install npm packages with the following command:

```bash
npm install
```

## Building the contract

Run the next command to build your contract :

```bash
npm run build
```

If everything went well you should have a new folder named `build` with two files inside : `release.wasm` and `release.wat`. The first one is the deployable code and the second one is a "human readable" version of the first one.

## Next up

At the moment the contract is empty. We will write the flip code in next parts of this tutorial, starting by the contract storage 📚


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fusee.gitbook.io/mx-sdk-as/the-flip-smart-contract/the-flip-smart-contract-part-3-setting-up-the-project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
