---
title: "Contribute to Rocket Chat Apps-Engine"
slug: "contribute-to-apps-engine"
description: "Discover how to contribute to Rocket Chat Apps-Engine. Build secure extensions, share features, and support developer collaboration."
updated: 2024-06-11T16:04:24Z
published: 2024-06-11T16:04:24Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Contribute to Apps-Engine

Being open source, we always welcome contributors to help us develop the ultimate chat platform. Contribute to our open source Apps-Engine framework, increasing the world of possibilities of integrations around the Rocket.Chat ecosystem. You can check out our Apps-Engine repository here.

[GitHub - RocketChat/Rocket.Chat.Apps-engine: The Rocket.Chat Apps engine and definitions.](https://github.com/RocketChat/Rocket.Chat.Apps-engine)

An excellent place to start looking at is our open issues and determining if you can help us with them.

> When developing new functionalities, you need to integrate the local version of the Apps-Engine with your local version of Rocket.Chat.

## Get the Apps-Engine code

1. To start, clone the Apps-Engine repository and navigate into the directory by running the following commands:

```bash
git clone https://github.com/RocketChat/Rocket.Chat.Apps-engine.git
cd Rocket.Chat.Apps-engine
```
2. Next, install all the required packages and compile the changes since that is what Rocket.Chat itself will execute.

```bash
npm install
npm run compile
```
3. Setup your Rocket.Chat environment following the guide on [server environment setup](/v1/docs/server-environment-setup).
4. After setting up, go to the directory and run the following command:

```bash
meteor npm install PATH_TO_APPS_ENGINE
```

Here `PATH_TO_APPS_ENGINE` is the path to the Apps-Engine repo you cloned earlier.
5. You can now start your Rocket.Chat with the `meteor` command, it will use your local Apps-Engine instead of the one on NPM.

> [!NOTE]
> Whenever you make changes to the engine, run `npm run compile` again - meteor will take care of restarting the server due to the changes.

## Troubleshooting Apps-Engine development

- Sometimes, when you update the Apps-Engine code and compile it while Rocket.Chat is running; you run into errors similar to these:

```bash
Unable to resolve some modules:

  "@rocket.chat/apps-engine/definition/AppStatus" in
/Users/dev/rocket.chat/Rocket.Chat/app/apps/client/admin/helpers.js (web.browser)

If you notice problems related to these missing modules, consider running:

  meteor npm install --save @rocket.chat/apps-engine
```

Restart the meteor process, and it should be fixed.

- Sometimes using `meteor npm install PATH_TO_APPS_ENGINE` causes the following error:

```bash
npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path PATH_TO_ROCKETCHAT/node_modules/.staging/@rocket.chat/apps-engine-c7135600/node_modules/@babel/code-frame
npm ERR! dest PATH_TO_ROCKETCHAT/node_modules/.staging/@babel/code-frame-f3697825
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, rename 'PATH_TO_ROCKETCHAT/node_modules/.staging/@rocket.chat/apps-engine-c7135600/node_modules/@babel/code-frame' -> 'PATH_TO_ROCKETCHAT/node_modules/.staging/@babel/code-frame-f3697825'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
```

Here `PATH_TO_ROCKETCHAT` is the path to the main Rocket.Chat server repo in your system. To fix this, we reinstall the package once again and delete the previous package.

```bash
~/Rocket.Chat$ rm -rf node_modules/@rocket.chat/apps-engine
~/Rocket.Chat$ cd PATH_TO_APP_ENGINE
~/Rocket.Chat.Apps-engine$ npm install
~/Rocket.Chat.Apps-engine$ cd PATH_TO_ROCKETCHAT
~/Rocket.Chat$ meteor npm install ../Rocket.Chat.Apps-engine
```
