# JavaScript Development Tips

By using the **zep-script-SDK** library, you can keep your folder structure neat and make the project compression process simpler than before. Let’s take a look at how to use the **zep-script-SDK**.

<div align="left"><figure><img src="/files/a2mHY4EhuVm8XHDAlTLt" alt=""><figcaption></figcaption></figure></div>

### 1. Install **node.js**

{% hint style="info" %}
Visit <https://nodejs.org/en/> to download and install node.js.

We recommend installing the LTS version, which is the most stable version.
{% endhint %}

<div align="left"><figure><img src="/files/Wa92G8upZCkPZi6Kij1x" alt=""><figcaption></figcaption></figure></div>

### 2. Organize Project Folders

To use the library, the project folder should be organized as follows:

The **res** folder is where you put the images, sounds, and html files to be used in the app.

→ The folder name must be **res**.

<div align="left"><figure><img src="/files/d9NyR15PfXvGC4I20WoB" alt=""><figcaption></figcaption></figure></div>

### 3. Create a Project as a Zip File Using the CLI

Now when you deploy your app, you can use the CLI to create a project as a zip file with a command.

The CLI can be run from the terminal for MacOS, Windows PowerShell in windows, or the terminal environment provided since Windows 11.

> **Running PowerShell on Windows**
>
> **Shift + right-click** in the empty space of the folder in which main.js is located.
>
> Choose **`Open PowerShell window here`** or **`Open command window here`**.
>
> ![](/files/3EXzNLiRLQKGwGq6r6TH)
>
> A **Windows PowerShell** or **Command Prompt** window will launch as follows:
>
> ![](/files/uTKeO2Qy603XePhGFxMi)

Open a command window in the folder where the **main.js** file is located and enter the following command to create a compressed file.

```powershell
npx zep-script archive
```

<div align="left"><figure><img src="/files/Gcz3VL9YipVBVlG1rEcv" alt=""><figcaption></figcaption></figure></div>

If the compression process was successful, you can check that a compressed file has been created in the folder as follows:

<div align="left"><figure><img src="/files/h9ENxLAdgfbiQKvufSZf" alt=""><figcaption></figcaption></figure></div>

Finally, after creating the zip file, you’re ready to deploy your app.

### 4. Deploy a Project

**1.** **Deploy on a website**

You can deploy your app by uploading the zip file created above.

Refer to the [ZEP Script Deployment Guide](/zep-script/zep-script-guide/zep-script-development-guide/zep-script-deployment-guide.md) and distribute your app!

**2. Deploy using CLI**

You can deploy the zip file created by using CLI.

Create a `zep-script.json` file as below and set the app to upload. (Make sure not to change the file name.)

<figure><img src="/files/RRystJoq1QJeQbezUlGZ" alt=""><figcaption></figcaption></figure>

```json
{
    "appId": "Zjkgoj",  // app ID
    "name": "Template", // app name
    "description": "Template application" , // app description
    "type": "normal" // app type ( "normal" or "minigame" or "sidebar" )
}
```

⭐ appID: Enter the ID of the app to upload.

* To change an existing app, access <https://zep.us/me/apps/>, select an app to upload, and then enter the text appended to apps/ in the address bar. (E.g., "Zjkgoj" for the reference image below)

<figure><img src="/files/5ih0XupYPyi4mffIBcMq" alt=""><figcaption></figcaption></figure>

Open a command window in the folder where the **main.js** file is located and enter the following command to create a compressed file.

```powershell
npx zep-script publish
```

Account verification is required during the app upload process.

When the email input section appears below, enter the email address of the account that owns the app to be deployed.

<figure><img src="/files/uT79CUdiEA7KCFgMasoY" alt=""><figcaption></figcaption></figure>

When you see the message saying, **Sending login code to your email**, go to the mailbox of the email you entered above. Check the verification code and enter it to the command window to start deploying.

<figure><img src="/files/eUyupdeoauZqbT3sTjCI" alt=""><figcaption></figcaption></figure>

The deploy process is complete when a green checkmark appears on the left of **Publishing…** as shown below.

<figure><img src="/files/NA3HAZyUPi9VREFHtCyO" alt=""><figcaption></figcaption></figure>

You can see your app has been deployed in the [**My Apps**](https://zep.us/me/apps) page as described above in the **zep-script.json** file.

<figure><img src="/files/LPM6Il5Cg90edUjBq1EL" alt=""><figcaption></figcaption></figure>

For more information about the library, please refer to the contents of the GitHub repository below.\
[ zep-script-sdk/packages/zep-script-cli at main · zep-us/zep-script-sdk](https://github.com/zep-us/zep-script-sdk/tree/main/packages/zep-script-cli)


---

# 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.zep.us/zep-script/zep-script-guide/zep-script-development-guide/javascript-development-tips.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.
