> For the complete documentation index, see [llms.txt](https://docs.zep.us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zep.us/zep-script/zep-script-guide/zep-script-development-guide/javascript-development-tips.md).

# 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)
