# 🚀 Scripts de Automação - TrackSteel Este documento contém instruções para usar os scripts de automação criados para facilitar o desenvolvimento e deploy do projeto TrackSteel. ## 📋 Scripts Disponíveis ### 1. Scripts de Sincronização com GitHub #### `sync.bat` (Windows) ```bash # Uso básico (commit automático com timestamp) sync.bat # Uso com mensagem personalizada sync.bat "Adiciona nova funcionalidade de login" ``` #### `sync.sh` (Linux/Mac) ```bash # Dar permissão de execução (apenas na primeira vez) chmod +x sync.sh # Uso básico (commit automático com timestamp) ./sync.sh # Uso com mensagem personalizada ./sync.sh "Adiciona nova funcionalidade de login" ``` ### 2. Scripts de Deploy Automático #### `deploy.bat` (Windows) ```bash # Deploy com commit automático deploy.bat # Deploy com mensagem personalizada deploy.bat "Release v1.2.0 - Nova interface" ``` #### `deploy.sh` (Linux/Mac) ```bash # Dar permissão de execução (apenas na primeira vez) chmod +x deploy.sh # Deploy com commit automático ./deploy.sh # Deploy com mensagem personalizada ./deploy.sh "Release v1.2.0 - Nova interface" ``` ## 🔧 Configuração Inicial ### Pré-requisitos - Git instalado e configurado - Node.js e npm instalados - Conta no GitHub com acesso ao repositório - Conta no Vercel (para deploy) ### Configuração do Git O repositório já está configurado para: - **Remote Origin:** https://github.com/Reifonas/WebsiteTS.git - **Branch Principal:** main ### Configuração do Vercel Para usar os scripts de deploy: 1. **Instalar Vercel CLI** (se não estiver instalado): ```bash npm install -g vercel ``` 2. **Fazer login no Vercel**: ```bash vercel login ``` 3. **Configurar o projeto** (primeira vez): ```bash vercel ``` ## 📝 Funcionalidades dos Scripts ### Scripts de Sincronização (`sync.bat` / `sync.sh`) ✅ **O que fazem:** - Adicionam todos os arquivos modificados (`git add .`) - Fazem commit com mensagem automática ou personalizada - Fazem push para o GitHub - Tratam conflitos automaticamente com rebase - Exibem status detalhado do processo ✅ **Tratamento de Erros:** - Verificam se há mudanças para commitar - Fazem pull automático em caso de conflito - Exibem mensagens de erro claras - Pausam para análise em caso de problemas ### Scripts de Deploy (`deploy.bat` / `deploy.sh`) ✅ **O que fazem:** - Executam o script de sincronização primeiro - Fazem build de produção (`npm run build`) - Fazem deploy no Vercel - Verificam se o Vercel CLI está instalado - Exibem URLs e status do deploy ## 🎯 Fluxo de Trabalho Recomendado ### Desenvolvimento Diário ```bash # 1. Fazer mudanças no código # 2. Testar localmente npm run dev # 3. Sincronizar com GitHub sync.bat "Implementa funcionalidade X" ``` ### Deploy de Produção ```bash # 1. Finalizar todas as mudanças # 2. Fazer deploy completo deploy.bat "Release v1.0.0" ``` ## 🚨 Solução de Problemas ### Erro: "permission denied" **Linux/Mac:** ```bash chmod +x sync.sh chmod +x deploy.sh ``` ### Erro: "Vercel CLI não encontrado" ```bash npm install -g vercel vercel login ``` ### Erro: "Conflitos de merge" 1. Os scripts tentam resolver automaticamente com rebase 2. Se falhar, resolva manualmente: ```bash git status # Edite os arquivos em conflito git add . git rebase --continue git push origin main ``` ### Erro: "Build falhou" 1. Verifique erros de TypeScript: ```bash npm run check ``` 2. Corrija os erros e tente novamente ## 📊 Comandos Úteis ### Verificar Status ```bash # Status do Git git status # Histórico de commits git log --oneline -10 # Status do Vercel vercel ls ``` ### Reverter Mudanças ```bash # Reverter último commit (mantém mudanças) git reset --soft HEAD~1 # Reverter mudanças não commitadas git restore . ``` ## 🔗 Links Importantes - **Repositório GitHub:** https://github.com/Reifonas/WebsiteTS.git - **Vercel Dashboard:** https://vercel.com/dashboard - **Servidor Local:** http://localhost:5173 (dev) / http://localhost:3000 (build) ## 📞 Suporte Em caso de problemas: 1. Verifique se todos os pré-requisitos estão instalados 2. Consulte a seção "Solução de Problemas" 3. Verifique os logs de erro nos scripts 4. Use `git status` para verificar o estado do repositório --- **Última atualização:** $(date) **Versão dos Scripts:** 1.0.0