# .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>](https://docs.discloud.com/faq/general-questions/what-is-the-root-of-the-project).

📌 **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>
