# 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`](/en/configurations/discloud.config.md)), 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="/files/riAqlaRg0tL8eZyj205a" alt=""><figcaption></figcaption></figure>

***

### 🚫 Common Mistakes

| Mistake                        | Result                             | Fix                                                                                           |
| ------------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------------- |
| Zipping parent of actual root  | Missing config / main file         | Zip the folder containing [`discloud.config`](/en/configurations/discloud.config.md) 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`](/en/configurations/discloud.config.md) explicitly        |


---

# 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.discloud.com/en/faq/general-questions/what-is-the-root-of-the-project.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.
