Deploy Applications
Deploy any Node or Python app with one command. Static sites and dynamic apps both supported.
VarityKit is a Python-based CLI that helps you deploy and manage applications. If you have used tools like the Vercel CLI, Netlify CLI, or Firebase CLI, you will feel right at home.
Deploy Applications
Deploy any Node or Python app with one command. Static sites and dynamic apps both supported.
Migrate from Vercel
Move an existing Vercel app to Varity in one step: analyze, transform, and deploy.
Manage Deployments
List deployments, view status and logs, and roll back to a previous version.
Validate Setup
Run diagnostics to ensure your development environment is ready.
| Command | Description |
|---|---|
varitykit login | Log in with your deploy key from the developer portal |
varitykit doctor | Validate your development environment |
varitykit dev | Start development servers (API + frontend) |
varitykit bootstrap | Install project dependencies and set up environment |
varitykit completions | Set up shell completions (bash, zsh, fish) |
| Command | Description |
|---|---|
varitykit auth login | Log in with your deploy key |
varitykit auth logout | Remove saved credentials |
varitykit auth status | Show current login status |
| Command | Description |
|---|---|
varitykit app deploy | Deploy your application |
varitykit app list | List all deployments |
varitykit app info | Show deployment details |
varitykit app status | Show deployment status |
varitykit app rollback | Rollback to a previous deployment |
| Command | Description |
|---|---|
varitykit domains list | List all domains you own on varity.app |
| Command | Description |
|---|---|
varitykit migrate --url <github-url> | Clone a GitHub repo and migrate it to Varity (analyze + transform + deploy) |
varitykit migrate --path <path> | Migrate a local Vercel project directory |
varitykit migrate --dry-run | Preview what would change without modifying files |
varitykit migrate --no-deploy | Apply codemods only, skip deployment |
varitykit migrate analyze <path> | Scan for Vercel artifacts (read-only preview) |
varitykit migrate apply <path> | Apply codemods without deploying |
varitykit migrate rollback <path> | Restore files from .vercel-migration-backup/ |
# Install the CLIpipx install varitykit
# Check your environmentvaritykit doctor
# Log in with your developer portal deploy keyvaritykit login
# Deploy (auto-detects static vs dynamic)varitykit app deploy
# Or force a specific modevaritykit app deploy --hosting dynamicvaritykit app deploy --hosting staticAll commands support these global options:
varitykit [OPTIONS] COMMAND [ARGS]...
Options: --version Show the CLI version -v, --verbose Enable verbose output --debug Enable debug output --json Output in JSON format --help Show help messageDeploy static websites and single-page applications:
varitykit app deployDeploy full-stack applications with backend:
varitykit app deploy --hosting dynamicThe orchestration algorithm auto-detects when your app needs dynamic hosting (Express, Fastify, Next.js SSR, FastAPI, Django, Flask, etc.) and selects it automatically. Use --hosting dynamic only to force the mode explicitly.
Varity currently auto-detects and deploys the following frameworks:
| Framework | Static | Dynamic |
|---|---|---|
| Next.js 13+ | ✅ | ✅ |
| React (Vite) | ✅ | ✅ |
| React (CRA) | ✅ | ✅ |
| Vue 3+ | ✅ | ✅ |
| Express, Fastify, Nest, Koa, Hono | N/A | ✅ |
| FastAPI, Django, Flask | N/A | ✅ |
Not yet supported: Go, Rust, Ruby / Rails, Elixir / Phoenix, Java / Spring, Deno, PHP / Laravel, .NET. These will not be auto-detected and deployment will fail with an unsupported-language error. Request support for your framework.
Start development servers (API + frontend) with hot-reload:
varitykit dev [OPTIONS]| Option | Default | Description |
|---|---|---|
--project | marketing | Frontend project to run |
--api-only | false | Run only the API server |
--frontend-only | false | Run only the frontend |
--port | 3001 | API server port |
Install project dependencies and set up the environment:
varitykit bootstrap [OPTIONS]| Option | Description |
|---|---|
--skip-npm | Skip npm install |
--skip-pip | Skip pip install |
--skip-docker | Skip Docker setup |
Set up shell completions for the CLI:
varitykit completions [OPTIONS]| Option | Description |
|---|---|
--shell | Shell type: bash, zsh, or fish (auto-detected if omitted) |
--install | Install completions to your shell config file |