# Running Locally > This guide explains how to install the _Development_ version of Directus locally so that you can work on the > platform's source code. To install the _Production_ version locally, please follow to our > [standard installation guides](/getting-started/installation/). ::: tip Minimum Requirements You will need to have [the latest version of Node](https://nodejs.org/en/download/current/) to _build_ a Development version of Directus. You can use the JavaScript tool manager [volta](https://volta.sh/) to automatically install the current node and npm versions. ::: ## 1. Fork the Directus repository Go to the [repository](https://github.com/directus/directus) and fork it to your GitHub account. A fork is your copy of the Directus repository. Forking the repository allows you to freely experiment with changes without affecting the original project. ## 2. Clone from your repository ```bash git clone git@github.com:YOUR-USERNAME/directus.git ``` ## 3. Make a new branch ```bash git checkout -b YOUR-BRANCH-NAME ``` ## 4. Install the dependencies and build the project ```bash npm install npm run build ``` ## 5. Create a `.env` file Create a `.env` file under the `api` folder. You can use the `example.env` file provided under `api` as a starting point. ```bash # To use the example file cp api/example.env api/.env ``` ## 6. Initialize the database For this step, you'll need to already have a SQL database up-and-running, except if you're using the SQLite driver, which will create the database (file) for you. To start the initialization run the following command: ```bash # From within the root of the project npm run cli bootstrap # For SQLite you need to run the command in the 'api' context (to ensure the database file is created in the right directory) npm run cli bootstrap --workspace=api ``` This will set-up the required tables for Directus and make sure all the migrations have run. ## 7. Start the development server First you need to choose what packages you want to work on. Then, you should run the `dev` script on that package. You can see their names and list of scripts in their related `package.json`. Example of running APP: ```bash npm run dev -w @directus/app ``` If you want to work on multiple packages at once, you should create a new instance of your terminal for each package: Example of running Api, App:
| Terminal 1 [Api] | Terminal 2 [App] |
|---|---|
| ```bash npm run dev -w directus ``` | ```bash npm run dev -w @directus/app ``` |