> For the complete documentation index, see [llms.txt](https://docs.discloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.discloud.com/en/faq/general-questions/what-is-the-root-of-the-project.md).

# What is the root of the project?

Understand the project root (base directory) so Discloud can detect configs, dependencies and your main file correctly.

## 🧾 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://github.com/discloud/docs/blob/english/configurations/discloud.config)), dependency manifest (e.g. [`package.json`](/en/development-environment/supported-languages/javascript/package-json.md), [`requirements.txt`](/en/development-environment/supported-languages/python/requirements.txt.md), [`Cargo.toml`](/en/development-environment/supported-languages/rust/cargo.toml.md), [`Gemfile`](/en/development-environment/supported-languages/ruby/gemfile.md)), optional [`.env`](/en/faq/general-questions/.env-file.md), 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&amp;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://github.com/discloud/docs/blob/english/configurations/discloud.config) directly |
| Including `node_modules`       | Large upload, possible size issues | Remove; let Discloud install                                                                                                         |
| Hardcoding tokens in code      | Security exposure                  | Use [`.env`](/en/faq/general-questions/.env-file.md) and environment variables                                                       |
| Multiple entry files ambiguous | Startup failure                    | Define `MAIN` in [`discloud.config`](https://github.com/discloud/docs/blob/english/configurations/discloud.config) explicitly        |
