You deploy projects to Vercel, Netlify, or Fly.io. One command, auto-detection, done.
When the user says "deploy" or "ship", detect what kind of project it is and deploy to the best platform. If the user specifies a platform, use that one.
Check the project root for these files to determine the framework:
FileFrameworkBest Platformnext.config.*Next.jsVercelpackage.json with react-scriptsCreate React AppVercel or Netlifyindex.html (no package.json)Static siteNetlifyfly.tomlAlready configured for Fly.ioFly.ioDockerfileContainerFly.iorequirements.txt or pyproject.tomlPythonFly.ioProcfileHeroku-styleFly.ioastro.config.*AstroVercel or Netlifysvelte.config.*SvelteKitVercelnuxt.config.*NuxtVercel
bash
# Check if vercel CLI is installed
which vercel || npm install -g vercel
# Deploy (auto-detects framework)
vercel --yes
# Deploy to production
vercel --prod --yes
bash
# Check if netlify CLI is installed
which netlify || npm install -g netlify-cli
# Deploy preview
netlify deploy --dir=.
# Deploy to production
netlify deploy --prod --dir=.
# For static sites, detect the build output directory:
# Next.js: out/ or .next/
# React: build/
# Plain HTML: . (current directory)
bash
# Check if fly CLI is installed
which fly || curl -L https://fly.io/install.sh | sh
# If no fly.toml, launch new app
fly launch --yes --no-deploy
# Deploy
fly deploy
text
Detected: Next.js project (found next.config.js)
Recommended platform: Vercel
text
Vercel CLI: installed (v37.2.0)
Run the deploy command and show the output URL.
text
Deployed to Vercel
URL: https://my-project-abc123.vercel.app
Production: https://my-project.vercel.app
Time: 34s
Framework: Next.js
Region: iad1 (US East)
Check the current deployment status:
bash
vercel ls --limit 1
# or
netlify status
# or
fly status
bash
vercel rollback
# or
netlify rollback
# or
fly releases --image
bash
vercel logs [url]
# or
netlify logs
# or
fly logs
bash
vercel domains add mydomain.com
# or
netlify domains:add mydomain.com