PandaOSPandaOSby Pandata

Deployment

Deploy apps and projects to production with PandaOS. Auto-deploy handles everything automatically, or use your own Vercel integration for full control.

Auto-deploy vs Vercel Integration

PandaOS supports two deployment paths. Which one is used depends on whether your project has its own Vercel integration connected:

Auto-deploy (PandaOS managed)Vercel Integration (your own)
WhenProject does NOT have Vercel connectedProject has Vercel connected and linked
How it worksPandaOS creates and manages a GitHub repo + Vercel project for youYou push to GitHub, Vercel auto-builds from the push
SetupNone, just ask PandaOS to deployConnect Vercel in Settings, link a project
Monitoringpandaos_deploy_status toolvercel_list_deployments, Deployments tab
ControlPandaOS manages everythingFull control over repo, builds, domains

PandaOS automatically picks the right path. If your project has Vercel linked, PandaOS uses the Vercel integration tools. If not, PandaOS offers auto-deploy.


One-Click Auto-deploy

PandaOS can deploy any project, custom apps or regular projects, to a live production URL. The entire pipeline (GitHub repository, Vercel project, domain assignment, and build monitoring) is handled automatically. You don't need to configure any external services yourself.

Deployed apps are hosted on Vercel under the PandaOS infrastructure and get a subdomain at {slug}.pandaos.ai.

Requirements

  • PandaOS account, sign in via Settings > Account using Google or GitHub

No Vercel account, GitHub account, or API tokens are needed on your end. PandaOS provisions everything using its own managed infrastructure.


Deploying an App

There are two ways to deploy:

From Chat

Ask PandaOS to deploy your app:

Deploy my app "my-calculator"

PandaOS uses the pandaos_deploy_app tool to run the full pipeline and reports progress in real-time:

  1. Generates a unique deploy slug
  2. Creates a private GitHub repository
  3. Pushes all app files
  4. Creates a Vercel project linked to the repo
  5. Assigns a custom domain
  6. Polls the build until it's live (or reports errors)

When finished, PandaOS returns the live URL.

From the App Detail Page

Open your app in the App Gallery, then click the Deploy button in the app detail view. The same pipeline runs with progress updates shown in the UI.


Deploy Slug and URL

Each deployment gets a unique slug derived from your app name, prefixed with a short hash of your user ID for isolation:

{user-hash}-{app-name-slug}.pandaos.ai

For example, if your user ID hashes to a1b2c3 and your app is called "My Calculator", the URL would be:

https://a1b2c3-my-calculator.pandaos.ai

The slug is stored in your app's manifest.json after the first deploy and reused for all subsequent redeployments.


Redeploying

After making changes to your app, redeploy to push the latest files:

Redeploy my app "my-calculator"

Or use the Redeploy button in the app detail page.

Redeployment pushes all changed files to the existing GitHub repository and triggers a new Vercel build. The URL and domain stay the same.


Checking Deploy Status

Ask PandaOS:

What's the deploy status of "my-calculator"?

Or use the Status button in the app detail page. This returns:

  • Current deployment URL
  • GitHub repository name
  • Deploy slug
  • Last deployment timestamp and ID

Undeploying

To remove a deployed app entirely:

Undeploy "my-calculator"

Undeploying is irreversible. It deletes the GitHub repository, the Vercel project, and clears all deployment info from the app manifest. The app files on your machine are not affected.


What Gets Deployed

PandaOS collects all files in your app directory and pushes them to GitHub. The following are automatically excluded:

ExcludedReason
node_modules/Dependencies, Vercel installs these during build
.git/Git metadata
.env, .env.local, .env.productionSecrets, never committed
dist/, .next/, .vercel/, .nuxt/, .output/Build outputs
.DS_Store, Thumbs.dbOS metadata
Files > 1 MBLikely binaries or large assets

Everything else is pushed as UTF-8 text.


Framework Detection

If your app's manifest includes a framework field, PandaOS tells Vercel which framework to use for the build. Supported values:

Manifest ValueVercel Framework
Next.jsnextjs
Nuxtnuxtjs
SvelteKitsveltekit
Remixremix
Astroastro
Vitevite
Angularangular

If no framework is specified, Vercel auto-detects from the project files.

For simple static HTML apps (no build step), Vercel serves the files as-is, no framework configuration needed.


MCP Tools

The deploy pipeline is exposed to PandaOS through four MCP tools in the PandaOS MCP server:

ToolDescriptionConfirmation
pandaos_deploy_appDeploy an app to productionYes
pandaos_redeployRedeploy with latest changesYes
pandaos_deploy_statusCheck deployment statusNo
pandaos_undeployRemove a deployed appYes

These tools are only available when you're signed in to your PandaOS account. Destructive actions (deploy, redeploy, undeploy) require user confirmation before executing.


Troubleshooting

"You need to sign in to PandaOS"

The deploy tools require authentication. Open Settings > Account and sign in with Google or GitHub.

Build fails after deploy

If the Vercel build fails, PandaOS reports the build errors. Common causes:

  • Missing package.json for framework apps (Vercel needs it to install dependencies)
  • Incorrect framework detection, add a framework field to your manifest
  • Missing environment variables, if your app needs env vars, they must be set in Vercel separately

"App not found"

The appId must match the id field in your app's manifest.json, not the directory name. Check that the app is loaded by looking for it in the App Gallery.

Domain not resolving

Custom domains at *.pandaos.ai require wildcard DNS to be configured. If your deployed app's custom domain doesn't resolve but the Vercel URL works, DNS propagation may still be in progress.