# Requirements

* Node.js >= 12
* Git
* Android Studio (for Android apps)
* Xcode >= 10 (for iOS apps)
* CocoaPods (if using a version of React Native >= 0.60)

## [Node](https://nodejs.org/en/)

Electrode Native is a Node.js application therefore, Node.js 12+ must be installed on your workstation.

## [Git](https://git-scm.com/downloads)

The `git` command line client must be present on your workstation and declared in your PATH *(i.e running `git` from a terminal, should not fail with "command not found" error)*

Electrode Native is relying on the `git` client for [Cauldron](/reference/index-1.md) and [Manifest](/reference/index-2.md) access.

## [Android Studio](https://developer.android.com/studio/index.html)

[Android Studio](https://developer.android.com/studio/index.html) is required if you are targeting Android platform.

After you install Android Studio, set the `ANDROID_SDK env` variable to point to the location of the Android SDK--if it has not been set already. An example of the SDK path is shown below.

```bash
$ export ANDROID_SDK=/Users/[YOUR_USER_NAME]/Library/Android/sdk
```

## [Xcode](https://developer.apple.com/xcode/)

[Xcode](https://developer.apple.com/xcode/) is required if you are targetting iOS platform.

**Xcode 10** or later version is required.

## [CocoaPods](https://cocoapods.org/)

If running Electrode Native on a Mac, and using a version of React Native >= 0.60, CocoaPods install is required even if only targeting Android platform.

## Additional optional requirements

If your workflow involves pushing OTA updates using CodePush, you'll need to have an account setup for CodePush.

## What about React Native ?

You don't need to have React Native installed on your machine. If you have it already installed, that's great--it's not really a problem. The same applies for Yarn and CodePush.


---

# 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://native.electrode.io/introduction/what-is-ern/prerequisites.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.
