teta.so

Deployment

Teta integrates with Vercel to deploy your SvelteKit apps to production with a single click. Your app gets a public URL, automatic HTTPS, and a global CDN. You can deploy previews to test changes and promote them to production when ready.

One-Click Deployment

To deploy your app, click the Deploy button in the project toolbar. Teta handles the entire process:

  1. Build - Your SvelteKit app is built using the Vercel adapter, optimizing it for production.
  2. Upload - The build output is uploaded to Vercel's infrastructure.
  3. DNS - Vercel assigns a URL and configures DNS automatically.
  4. Live - Your app is live on a .vercel.app domain within seconds.

No configuration needed for standard SvelteKit apps. Teta sets up the Vercel adapter and build settings automatically.

Preview vs Production

Teta supports two deployment modes:

Preview deployments create a unique URL for each deploy. They are ideal for testing changes before going live. Each preview gets its own URL like your-app-abc123.vercel.app. Share preview URLs with teammates or clients for review.

Production deployments update your primary domain. When you deploy to production, the new version replaces the current live version. If you have a custom domain connected, production deployments update that domain automatically.

Use previews liberally to test changes, and deploy to production when you are confident everything works correctly.

Deployment Process

When you trigger a deployment, Teta runs through these steps:

  1. Pre-build checks - Verifies your project has the required configuration (svelte.config.js, package.json).
  2. Dependency installation - Installs all npm packages defined in package.json.
  3. SvelteKit build - Runs the SvelteKit build process, compiling Svelte components, TypeScript, and generating optimized bundles.
  4. Adapter processing - The Vercel adapter packages the build output for Vercel's serverless and edge infrastructure.
  5. Upload and propagation - Build artifacts are uploaded to Vercel and distributed across their global CDN.
  6. DNS and SSL - The deployment URL is activated with automatic HTTPS.

The entire process typically takes 30 to 90 seconds depending on project size and complexity.

Viewing Deployment Logs

The console panel at the bottom of the editor shows real-time deployment logs. When a deployment is running, you can monitor:

  • Build output and any warnings
  • Dependency installation progress
  • Compilation errors if the build fails
  • Upload status
  • The final deployment URL

If a deployment fails, the logs tell you exactly what went wrong. Common issues include TypeScript errors, missing dependencies, or misconfigured routes. Fix the issue in the chat or code editor, then deploy again.

Checking Deployment Status

After triggering a deployment, the toolbar shows the current status:

  • Building - The app is being compiled and packaged.
  • Deploying - Build artifacts are being uploaded to Vercel.
  • Ready - The deployment is live and accessible at its URL.
  • Error - The deployment failed. Check the console logs for details.

You can also see a history of past deployments, each with its URL, timestamp, and status. This makes it easy to reference previous versions or share specific deployment URLs.

Redeploying After Changes

After making changes to your app through the chat, visual editor, or code editor, simply click Deploy again to push the updates live. Each deployment is independent, so you can deploy as often as you like.

For an efficient workflow:

  1. Make changes using the chat or editors.
  2. Verify in the preview iframe that everything looks correct.
  3. Deploy a preview to test in a real production environment.
  4. If everything works, deploy to production.

There is no limit on the number of deployments you can make.

Environment Variables

Production apps often need environment variables for API keys, database credentials, and other configuration. Teta handles Supabase environment variables automatically: your Supabase URL and anon key are configured in the project and available at build time.

For additional environment variables:

  • Supabase credentials are auto-configured. You do not need to set PUBLIC_SUPABASE_URL or PUBLIC_SUPABASE_ANON_KEY manually.
  • Custom variables can be added through the Vercel dashboard for your project. These are available to your SvelteKit server-side code via process.env and to client-side code when prefixed with PUBLIC_.
  • Sensitive keys (API secrets, private keys) should only be used in server-side code (+page.server.ts, +server.ts, hooks.server.ts) and never exposed to the client.

Example of using environment variables in SvelteKit:

// src/routes/api/payment/+server.ts (server-side only)
import { STRIPE_SECRET_KEY } from '$env/static/private';

// src/routes/+page.svelte (client-side)
import { PUBLIC_APP_URL } from '$env/static/public';

FAQ

How long does a deployment take?

Most deployments complete in 30 to 90 seconds. Larger projects with many dependencies may take up to two minutes. The console shows real-time progress so you know exactly where the build is.

Can I roll back to a previous deployment?

Each deployment has its own URL that remains accessible. If you need to revert, you can promote a previous deployment to production through the Vercel dashboard. From Teta, you can also ask the AI to revert code changes and redeploy.

Is HTTPS included?

Yes. Every deployment, whether preview or production, gets automatic HTTPS with SSL certificates managed by Vercel. This includes custom domains.

What happens if my build fails?

The console logs show the exact error. Common causes include TypeScript type errors, missing imports, or syntax errors in Svelte components. Fix the issue using the chat or code editor, then deploy again. The previous working deployment remains live until a new successful deployment replaces it.

Do I need a Vercel account?

Teta manages the Vercel integration for you. Your deployments are handled through Teta's infrastructure. You do not need to create or configure a separate Vercel account to deploy from Teta.