# What is the root of the project?

## 🧾 Overview

The project root ("root directory") is the **top-level folder of your application,** the place you compress and upload to Discloud. It contains the configuration file ([`discloud.config`](https://docs.discloud.com/en/configurations/discloud.config)), dependency manifest (e.g. [`package.json`](https://docs.discloud.com/en/development-environment/supported-languages/javascript/package-json), [`requirements.txt`](https://docs.discloud.com/en/development-environment/supported-languages/python/requirements.txt), [`Cargo.toml`](https://docs.discloud.com/en/development-environment/supported-languages/rust/cargo.toml), [`Gemfile`](https://docs.discloud.com/en/development-environment/supported-languages/ruby/gemfile)), optional [`.env`](https://docs.discloud.com/en/faq/general-questions/.env-file), and the folders with your source code (e.g. `src/`).

If the structure is wrong (for example, you zip a folder that contains another single folder that actually holds the files), Discloud may fail to detect the main file or dependencies.

***

## 🖼️ Visual Example

The green zone represents the **root** you should compress. Yellow shows a nested folder containing code files. Everything inside green is included once you zip that directory.

<figure><img src="https://4206165266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FETNoAt35DpCBhinHpaRx%2Fuploads%2Fluh8DyMMzQlfKQEUqeXh%2Fchrome_TJemG9rsb0.png?alt=media&#x26;token=54654111-b5ea-4f45-a29f-88baec898211" alt=""><figcaption></figcaption></figure>

***

### 🚫 Common Mistakes

| Mistake                        | Result                             | Fix                                                                                                                 |
| ------------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Zipping parent of actual root  | Missing config / main file         | Zip the folder containing [`discloud.config`](https://docs.discloud.com/en/configurations/discloud.config) directly |
| Including `node_modules`       | Large upload, possible size issues | Remove; let Discloud install                                                                                        |
| Hardcoding tokens in code      | Security exposure                  | Use [`.env`](https://docs.discloud.com/en/faq/general-questions/.env-file) and environment variables                |
| Multiple entry files ambiguous | Startup failure                    | Define `MAIN` in [`discloud.config`](https://docs.discloud.com/en/configurations/discloud.config) explicitly        |
