run-stack 0.5.1

One command to boot a full local stack in Docker: API, Vite apps, Expo mobile, desktop renderer, database, mail and a status dashboard.
Documentation
# bash completion for run-stack
# eval "$(run-stack completion bash)"

_run_stack_completion() {
  local cur cmd services
  cur="${COMP_WORDS[COMP_CWORD]}"
  cmd="${COMP_WORDS[1]}"

  local global="create new migrate upgrade update self-update completion help -h --help -v --version"
  local workspace="init up run down restart rebuild clean ps status ports commands apps list services logs shell sh backend artisan composer migrate seed fresh pnpm dash dashboard ios android device mobile reload prebuild desktop deploy sync-mobile-port bundler configure-bundler"
  local deploy="web mobile desktop"
  local shells="bash zsh install services"

  if ((COMP_CWORD == 1)); then
    COMPREPLY=($(compgen -W "${global} ${workspace}" -- "${cur}"))
    return
  fi

  case "${cmd}" in
    up|run|down|restart|rebuild|logs|shell|sh|status|ps)
      services="$(run-stack completion services 2>/dev/null || true)"
      if [ -z "${services}" ]; then
        COMPREPLY=()
        return
      fi
      COMPREPLY=($(compgen -W "${services}" -- "${cur}"))
      ;;
    deploy)
      COMPREPLY=($(compgen -W "${deploy}" -- "${cur}"))
      ;;
    reload)
      COMPREPLY=($(compgen -W "--clear" -- "${cur}"))
      ;;
    completion)
      COMPREPLY=($(compgen -W "${shells}" -- "${cur}"))
      ;;
    create|new|upgrade|update|migrate)
      COMPREPLY=($(compgen -d -- "${cur}"))
      ;;
    bundler|configure-bundler)
      COMPREPLY=($(compgen -W "ios android" -- "${cur}"))
      ;;
  esac
}

complete -F _run_stack_completion run-stack
complete -F _run_stack_completion rst