> For the complete documentation index, see [llms.txt](https://shiftcode.gitbook.io/dynamo-easy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shiftcode.gitbook.io/dynamo-easy/get-started/installation.md).

# Installation

```bash
npm i @shiftcoders/dynamo-easy --save
npm i reflect-metadata@^0.1.12 --save
```

Also install all the required peer dependencies listed in  `package.json`of @shiftcoders/dynamo-easy

{% hint style="info" %}
The reflect-metadata library should be imported only once in your entire application, because the Reflect object is meant to be a global singleton. Import it once in some entry file of your app.
{% endhint %}

{% code title="entry.ts (or some other entry file)" %}

```typescript
import "reflect-metadata"
```

{% endcode %}

If you are using the reflect-metadata api in your project, make sure to include the typings. The type definitions are included in the npm package.

{% code title="tsconfig.json" %}

```javascript
{
    "types": ["reflect-metadata"]
}
```

{% endcode %}

We make heavy usage of Typescript decorators, so you also need to enable the typescript features

{% code title="tsconfig.ts" %}

```javascript
{
    "experimentalDecorators": true
    "emitDecoratorMetadata": true
}
```

{% endcode %}
