# .discloudignore

## ❓ **O que é `.discloudignore`?**

O arquivo `.discloudignore` especifica arquivos e diretórios a serem excluídos ao fazer upload da sua app para a Discloud. Ao contrário do `.gitignore`, ele tem uma sintaxe mais simples: **você lista nomes exatos de arquivos/diretórios para ignorar** (sem wildcards como `*.log` ou barras finais para pastas).

📌 **Por que usar `.discloudignore`?**\
✔ **Reduz o tamanho do upload** – Evita que arquivos desnecessários sejam enviados.\
✔ **Acelera uploads** – Menos dados significam **processamento mais rápido**.\
✔ **Mantém uploads limpos** – Impede que arquivos sensíveis ou desnecessários sejam incluídos.

🔑 **Principais diferenças do `.gitignore`**\
\&#xNAN;**• Sem barras finais** para diretórios (use `node_modules`, não `node_modules/`).\
\&#xNAN;**• Sem wildcards** – Especifique nomes de arquivos exatos (ex.: use `error.log`, não `*.log`).\
\&#xNAN;**• Sem padrões avançados** – Apenas exclusões básicas linha por linha são suportadas.

***

## 📂 **Localização do Arquivo**

O arquivo `.discloudignore` <mark style="color:yellow;">**deve estar na**</mark> [<mark style="color:yellow;">**raiz**</mark> <mark style="color:yellow;">do seu projeto</mark>](/faq/general-questions/what-is-the-root-of-the-project.md).

📌 **Exemplo de estrutura de projeto:**

```
/my-project
 ├── src/             ❌ (ignorado)
 ├── node_modules/    ❌ (ignorado)
 ├── discloud/        ❌ (ignorado)
 ├── config/          ❌ (ignorado)
 ├── .discloudignore ✅
 ├── discloud.config
 ├── index.js
 └── package.json
```

***

## 📄 **Exemplo Geral de Uso**

Aqui está um **exemplo genérico** do que você pode querer excluir nos seus projetos:

{% code title=".discloudignore" %}

```ini
# Ignorar diretórios
.git
.vscode
.idea
cache

# Ignorar arquivos do SO
.DS_Store
Thumbs.db

# Ignorar arquivos específicos
secrets.env
debug.log
```

{% endcode %}

***

## 📂 **Exemplos Comuns por Linguagem**

<details>

<summary>🟨 JavaScript (Node.js)</summary>

{% code title=".discloudignore" %}

```ini
# Dependências
node_modules

# Logs
npm-debug.log
yarn-error.log
pnpm-debug.log

# Saídas de build
dist
build
```

{% endcode %}

</details>

<details>

<summary>🐍 Python</summary>

{% code title=".discloudignore" %}

```ini
# Arquivos compilados em bytecode
__pycache__

# Ambientes virtuais
venv
.env
```

{% endcode %}

</details>

<details>

<summary>☕ Java</summary>

{% code title=".discloudignore" %}

```ini
# Arquivos de build
target
out
build

# Arquivos de projeto IDE
.idea

# Cache Maven e Gradle
.m2
.gradle
```

{% endcode %}

</details>

<details>

<summary>💎 Ruby</summary>

{% code title=".discloudignore" %}

```ini
# Dependências
.bundle
vendor/bundle

# Logs e caches
log
tmp
```

{% endcode %}

</details>

<details>

<summary>🐹 Go</summary>

{% code title=".discloudignore" %}

```ini
# Build e arquivos binários
bin
pkg

# Cache de módulos Go
.gomodcache
```

{% endcode %}

</details>

<details>

<summary>🐘 PHP</summary>

{% code title=".discloudignore" %}

```ini
# Dependências Composer
vendor
```

{% endcode %}

</details>

<details>

<summary>🦀 Rust</summary>

{% code title=".discloudignore" %}

```ini
# Saída de build
target

# Arquivos de lock Cargo
Cargo.lock
```

{% endcode %}

</details>


---

# 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/configurations/.discloudignore.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.
