@echo off
echo ==============================================
echo  PUBLICAR PHP UNIVERSAL MCP SERVER COM FTP
echo ==============================================
echo.

rem Verificar mudanças não commitadas
echo Verificando status do Git...
git status

echo.
echo Escolha uma opção:
echo 1. Commitar todas as alterações
echo 2. Enviar para GitHub
echo 3. Publicar no npm
echo 4. Executar todas as etapas
echo 5. Sair
echo.

set /p opcao=Digite o número da opção: 

if "%opcao%"=="1" (
  echo.
  echo Commitando alterações...
  git add .
  set /p mensagem=Digite a mensagem do commit: 
  git commit -m "%mensagem%"
  echo.
  echo Alterações commitadas!
  pause
  goto :inicio
)

if "%opcao%"=="2" (
  echo.
  echo Enviando para GitHub...
  git push origin main
  echo.
  if errorlevel 1 (
    echo Erro ao enviar para GitHub!
  ) else (
    echo Enviado com sucesso para GitHub!
  )
  pause
  goto :inicio
)

if "%opcao%"=="3" (
  echo.
  echo Publicando no npm...
  
  echo Você está logado no npm?
  set /p login=Digite (S) para continuar ou (N) para fazer login: 
  if /i "%login%"=="N" (
    npm login
  )
  
  echo.
  npm publish
  echo.
  if errorlevel 1 (
    echo Erro ao publicar no npm!
  ) else (
    echo Publicado com sucesso no npm!
  )
  pause
  goto :inicio
)

if "%opcao%"=="4" (
  echo.
  echo Executando todas as etapas...
  
  echo Commitando alterações...
  git add .
  set /p mensagem=Digite a mensagem do commit: 
  git commit -m "%mensagem%"
  
  echo.
  echo Enviando para GitHub...
  git push origin main
  
  echo.
  echo Publicando no npm...
  npm publish
  
  echo.
  echo Processo finalizado!
  pause
  goto :inicio
)

if "%opcao%"=="5" (
  echo.
  echo Saindo...
  exit /b 0
)

echo.
echo Opção inválida!
pause
goto :inicio

:inicio
cls
goto :eof
