# Serve Dev Mode

### 1. Compile and Serve EJS2

After all dependencies have been installed by running the `yarn` command, you will be able to serve the application in developer mode. To do this, simply run the following command in terminal, from the `elentra-2x-js` directory:

```
yarn serve
```

Some text will appear in the terminal as the serve process initializes, along with a percentage progress indicator. Once the process finishes you should see something similar to the following:

![Terminal Screen: Successful Compilation](/files/-LnXzW6EKWI2f04SQjzZ)

### 2. Modify Elentra Developer .env

Navigate to `~/Documents/elentra-developer` and edit the  `.env` file

```
DEV_MODE=true
FRONT_END_DOMAIN=http://elentra-1x-me.localhost:8081 # This should match the Local URL displayed by yarn serve (see above screenshot)
```

### 3. Restart the Docker Container

```
docker-compose down
docker-compose up -d --build
```

### 4. Confirm EJS2 is Up and Running

Elentra JS is now being served in development mode. In ME 1.16 or higher, you can confirm by visiting  <http://elentra-1x-me.localhost/sandbox>. The updated Sandbox module allows you to perform CRUD operations for a series of Cards, all making use of Elentra JS 2.0.

![Sandbox EJS2 Module. ](/files/-MGObi_eDaNr3LoVSEn6)

{% hint style="info" %}
Any saved edits made within files located in the **Elentra JS Design System** (or any of the EJS modules) while the app is served in development mode will now cause an automatic recompilation of the files, enabling hot-reloading.
{% endhint %}

You can exit development mode by cancelling the actively running operation from terminal. On macOS, the shortcut for this in most shells is `Ctrl-C`.

{% hint style="warning" %}
You will need to run the `yarn serve` command from within `~/Sites/elentra-2x-js` directory moving forward, anytime you need to:

1. Run EJS2 Modules locally (Sandbox, Notices Management)
2. Make changes to any EJS2 modules
3. Create new EJS2 Modules

Compiling VueJS/Typescript code to plain JavaScript is a standard procedure in the development process.
{% endhint %}


---

# 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://docs.elentra.org/ejs/developers/setup/serving-ejs-dev-mode.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.
