# Installing Taxi and Orbital

Source: https://orbitalhq.com/docs/guides/installing

This guide covers getting Taxi and Orbital running locally in a developer environment.

## Prerequisites

Before you get started, you'll need the following:

 * [Docker](https://docs.docker.com/engine/install/) and Docker Compose (installed by default with Docker)
 * [SDKMan](https://sdkman.io/install) - A fantastic tool for installing SDKs and developer tools
 * [VSCode](https://code.visualstudio.com/) - Optional, but we create dev tools for VSCode that improve the developer experience.

## Installing Taxi

[Taxi](https://taxilang.org) is a language for describing data sources, and how data relates.

It's CLI has tooling for creating projects and running builds.

First, lets install Taxi:

```
$ sdk install taxi

Downloading: taxi 1.42.0

In progress...

Installing: taxi 1.42.0
Done installing!

Setting taxi 1.42.0 as default.
```

Now running `taxi` should show the installed build:

```bash
$ taxi

Taxi 1.42.0 @7ebfab5 
Usage: taxi [options] [command] [command options] Main options
```

### Creating a new Taxi project
Create an empty directory, and run `taxi init`

```bash
$ mkdir orbital-demo
$ cd orbital-demo
$ taxi init
```

You'll be prompted with questions about the project group, name, version and src:

```
Project group (eg., com.acme): com.demo
Project name: hello-world
Project version [0.1.0]: 
Source directory [src/]: 
Creating project com.demo/hello-world v0.1.0 in directory /dev/orbital-demo 
Writing config to /dev/orbital-demo/taxi.conf 
Generating source directory at /dev/orbital-demo/src 
Finished 
```

You now have an empty taxi project.

Open VSCode to take a look around:

```bash
$ code .
```


## Launching Orbital

Finally, let's launch Orbital.

Taxi has a convenient command to launch a developer environment of Orbital, which is preconfigured to the current project:

```bash
$ taxi orbital
```

This downloads a `docker-compose.yml` file from [start.orbitalhq.com](https://start.orbitalhq.com/), then runs `docker compose up`.

### Live reload
The devleoper environment of Orbital is configured with live reload, so any changes you make in your taxi project are automatically picked up 
and detected inside of Orbital

## Next Steps
That's it! You're now running Orbital locally, and have a brand new Taxi project ready to go.

Why not take one of our Guides for a spin, and build something locally.
