> For the complete documentation index, see [llms.txt](https://kinesis-school-of-programming.gitbook.io/nestjs-unleashed/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinesis-school-of-programming.gitbook.io/nestjs-unleashed/introduction/necessary-tools.md).

# Necessary tools

Before starting the project itself, we need to install the necessary tools and software listed below. Due to the practical nature of the course, many programs will be required.

## Required software

* [Node.js](https://nodejs.org/en) (**LTS** version)
* [NVM](https://github.com/coreybutler/nvm-windows/releases) (Optional)
* [VSCode](https://code.visualstudio.com/)\* - Used extensions below
  * ESLint
  * Prettier - Code formatter
  * Docker
  * DotENV
  * GitLens - Git supercharged
  * IntelliCode
  * Material Icon Theme (optional cosmetic)
  * Prisma (for the Parallel module)
* [GitHub](https://github.com/) account - During the project, we'll be committing at key points. If you have an account, you can benefit from this and also publish your project if you want.
* [Git](https://git-scm.com/) - For actually committing and publishing the project
* [Insomnia](https://insomnia.rest/download)\* - REST Client for API testing (usage covered only in video lessons)
* [Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701)\*
* [Docker Desktop](https://www.docker.com/) (also requires [WSL](https://learn.microsoft.com/en-us/windows/wsl/install#install-wsl-command))
* [pgAdmin 4](https://www.pgadmin.org/download/)
* NestJS CLI (Installation detailed below)

{% hint style="info" %}
Tools with a \* can be replaced with another of your preference.
{% endhint %}

## Nest installation

The Nest CLI is our interface for using Nest's commands. To install it, run the command below in the terminal.

{% hint style="info" %}
Some notes before installing

* Open the terminal as Admin
* Recommended to install it with the current Node.js LTS version
* Used versions: Node 22.13.0 and Nest 11.0.2
  {% endhint %}

```sh
npm i -g @nestjs/cli
```

And to confirm that it has been installed successfully, check the version.

```sh
nest -v
```
