# Getting Started
## Prerequisites
- [Node.js v12+](https://nodejs.org/)
- [Vue 3](https://vuejs.org/)
## Installation
```bash
npm i --save @braks/vue-flow
yarn i @braks/vue-flow
pnpm i @braks/vue-flow
```
## Usage
A flow consists of [nodes](/typedocs/interfaces/Node)
and (optionally) [edges](/typedocs/interfaces/Edge).
Together we call them
[elements](/typedocs/types/Elements).
Each element needs a unique id.
A node also needs a [xy-position](/typedocs/interfaces/XYPosition). An edge needs at least a
source (node id) and a target (node id).
```vue
```
::: warning Necessary styles
Make sure you include the necessary styles.
See the [Theming](/guide/theming) section for more info.
:::
## TypeScript
Vue Flow is fully written in [TypeScript](https://www.typescriptlang.org/), so it is highly recommended to use TypeScript to have the best possible DX and
avoid common mistakes.
The types are included in the library.
[You can find the TypeDocs here](/typedocs/).