# 🔗 SFTP Setup - VS Code Integration

Configure SFTP direto no VS Code para sincronizar com seu cPanel em tempo real!

---

## 📦 **Passo 1: Instalar Extensão SFTP**

### No VS Code:
1. Abra Extensions (Ctrl+Shift+X)
2. Procure: **"SFTP"** (por liximomo)
3. Clique em **Install**

Ou clique aqui: [Visual Studio Marketplace - SFTP](https://marketplace.visualstudio.com/items?itemName=liximomo.sftp)

---

## ✅ **Passo 2: Verificar Configuração**

O arquivo `.vscode/sftp.json` já está configurado com:

```json
{
    "name": "Integration Hub - cPanel",
    "host": "ftp.eunecto.com.br",
    "port": 1157,
    "username": "eune6179",
    "password": "*Vm04021994",
    "remotePath": "/home/eune6179/nucleoapi.eunecto.com.br"
}
```

✅ Está pronto para usar!

---

## 🚀 **Passo 3: Fazer Sync Completo**

### Opção 1: VS Code Command Palette

1. Pressione `Ctrl+Shift+P` (ou Cmd+Shift+P no Mac)
2. Digite: **`SFTP: Sync Local -> Remote`**
3. Selecione a opção
4. Aguarde o upload

### Opção 2: Menu Lateral

1. Abra a pasta do projeto
2. Clique com botão direito na pasta raiz
3. Selecione: **"Sync Local -> Remote"**

### Opção 3: Command Palette Completa

```
SFTP: Sync Local -> Remote      (Upload tudo)
SFTP: Sync Remote -> Local      (Download tudo)
SFTP: Upload File               (Upload 1 arquivo)
SFTP: Download File             (Download 1 arquivo)
```

---

## 📤 **Upload Passo-a-Passo**

### 1. Abra Command Palette
```
Ctrl+Shift+P
```

### 2. Digite SFTP
```
SFTP: Sync Local -> Remote
```

### 3. Confirme
```
✅ Upload started...
```

### 4. Monitor na tela
```
📤 Uploading...
✅ Sync completed!
```

---

## 💡 **Dicas Úteis**

### Upload automático ao salvar
Para ativar (não recomendado em produção):
```json
"uploadOnSave": true
```

### Configurar para não fazer upload de certos arquivos
Já está configurado para ignorar:
```
.git
node_modules
.env.example
docker/
deploy scripts
etc
```

### Ver status da conexão
```
Ctrl+Shift+P → SFTP: List
```

---

## 🔍 **Troubleshooting**

### Erro: "Connection refused"
```
✅ Verifique: Host, Porta, Usuário, Senha
✅ Confirme que SFTP está habilitado no cPanel
✅ Aguarde alguns segundos e tente novamente
```

### Erro: "Permission denied"
```
✅ Verifique os privilégios da pasta no servidor
✅ Execute no servidor: chmod -R 755 ~/nucleoapi.eunecto.com.br
```

### Upload muito lento
```
✅ Aumente concurrency em sftp.json:
   "concurrency": 8
```

### Não encontra a pasta no servidor
```
✅ Verifique "remotePath" está correto:
   /home/eune6179/nucleoapi.eunecto.com.br
✅ Ou use apenas:
   ~/nucleoapi.eunecto.com.br
```

---

## 📋 **Workflow Recomendado**

### Para desenvolvimento:
```
1. Faça alterações localmente
2. Ctrl+Shift+P → SFTP: Upload File
3. Teste no servidor
4. Quando pronto, faça Sync completo
```

### Antes de fazer deploy:
```
1. Ctrl+Shift+P → SFTP: Sync Local -> Remote
2. Aguarde conclusão
3. Conecte via SSH
4. Execute: bash deploy.sh
```

---

## 🔐 **Segurança**

⚠️ **NÃO commite sftp.json com senha!**

Já está no `.gitignore` - ficará seguro!

---

## 🎯 **Próximos Passos**

### 1. Faça o sync completo
```
Ctrl+Shift+P → SFTP: Sync Local -> Remote
```

### 2. Conecte ao servidor
```bash
ssh eune6179@ftp.eunecto.com.br -p 1157
cd ~/nucleoapi.eunecto.com.br
bash deploy.sh
```

### 3. Teste a API
```bash
curl https://nucleoapi.eunecto.com.br/api/health
```

---

## 📚 **Documentação Oficial**

- [SFTP Extension Docs](https://github.com/liximomo/vscode-sftp/wiki)
- [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview)

---

## ✅ **Checklist**

- [ ] Extensão SFTP instalada
- [ ] `.vscode/sftp.json` verificado
- [ ] Conexão testada
- [ ] Sync local -> remote feito
- [ ] `deploy.sh` executado no servidor
- [ ] API testada e respondendo

---

**Tudo configurado! Comece o upload agora!** 🚀
