# Setup

Choose your operating system and follow the instructions outlined. Each document will walk you through setup for your OS. Below is a brief description of the tools you will be installing and why you need them.

## Tools required to complete course exercises

* *Java* - required to run Scala programs. Your java installation includes the Java Virtual Machine (or JVM), which provides the runtime environment for Scala.
* *Doodle* - this is a Scala project that includes all the dependencies you will need to complete course exercises, including both Scala and sbt. This is why you don't need to install Scala or sbt separately in order to complete the exercises.
* *your text editor of choice* - we recommend [Atom](https://atom.io/). The text editor will be handy if you want to edit/save code snippets outside the REPL. It also does a nice job of highlighting your syntax for easy readability. We don't recommend a rich text editor (e.g., `TextEdit` on Mac), because it can insert characters that will cause compiler errors.

## Optional tools to further explore Scala

* *Scala* - it's handy to install Scala globally on your system so that you can pull up the REPL (**R**ead-**E**valuate-**P**rint **L**oop) any time you need. The REPL allows you to interactively evaluate your code to immediately see its results.
* *sbt* - short for Simple Build Tool, is the most popular build tool for Scala applications. After using the Scala REPL for a while, you will want to start building simple applications that involve writing the code once and running it over and over again. This is where sbt comes in. You can use it to build your code into a complete application, ready to run. How to use sbt is outside the scope of this course, but we are including instructions so you will have it when you are ready to explore Scala further. &#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://scalabridge.gitbook.io/curriculum/getting-started/setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
