# Getting started

This page summarizes all the concepts you will need to know to start with *Mandarine.TS.* Here you will find the best practices for Mandarine & some of its requirements to run on [*Deno*](https://deno.land)

## *Typescript configuration*

In order to run a Mandarine-powered application, a [tsconfig.json](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) file is needed. Otherwise, Mandarine will fail at its compile time.

```javascript
{
    "compilerOptions": {
        "strict": false,
        "noImplicitAny": false,
        "noImplicitThis": false,
        "alwaysStrict": false,
        "strictNullChecks": false,
        "strictFunctionTypes": true,
        "strictPropertyInitialization": false,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "allowUmdGlobalAccess": false,
    }
}
```

{% hint style="info" %}
**Note** that you can add new properties to your *tsconfig.json,* but those mentioned before must remain as shown.
{% endhint %}

## Deno configuration

In order to run Mandarine, you must pass *--allow-net* & *--allow-read,* and *--config* (Indicating your tsconfig.json file path) flags in your Deno command. For example:

```bash
deno run --config tsconfig.json --allow-net --allow-read entryPoint.ts
```

[Click here](https://mandarineframework.gitbook.io/mandarine-ts/mandarine-mvc/launching-web-app) for more information about entry-point files.
