πŸ”βŒ˜K

Start typing to search docs.

Vercel Quick Start

1.0.0

Rapid deployment checklist for staging environments.

Vercel Multi-App Deployment - Quick Start

TL;DR: Add your app to apps/, push to main, and it's automatically provisioned on Vercel with its own subdomain.

⚑ 5-Minute Setup

1. Configure GitHub Secrets (One-Time)

Go to Settings β†’ Secrets and variables β†’ Actions and add:

VERCEL_TOKEN=your_vercel_api_token
VERCEL_TEAM_ID=your_team_id (optional)

Get your token: https://vercel.com/account/tokens

2. Set Up DNS (One-Time)

Add these DNS records to your domain:

Type    Name    Value
----    ----    -----
A       @       76.76.21.21
CNAME   www     cname.vercel-dns.com
CNAME   *       cname.vercel-dns.com

3. Add a New App

# Create app directory
mkdir apps/my-new-app
cd apps/my-new-app

# Create Next.js app
npx create-next-app@latest . --typescript --tailwind --app

# Update package.json name
{
  "name": "@app-factory/my-new-app",
  ...
}

# Commit and push
git add .
git commit -m "feat: add my-new-app"
git push origin main

4. Done! πŸŽ‰

Your app will be automatically:

  • Provisioned on Vercel
  • Deployed to https://my-new-app.infiniteappsai.com
  • Set up for continuous deployment

πŸš€ Manual Provisioning

Need to provision an app manually?

VERCEL_TOKEN=your_token node scripts/provision-app-on-vercel.mjs my-app-slug

Or use GitHub Actions workflow dispatch:

  1. Go to Actions tab
  2. Select "Provision Vercel Apps"
  3. Click "Run workflow"
  4. Enter app slug
  5. Run!

πŸ—οΈ Project Structure

apps/
  landing/              β†’ infiniteappsai.com
  forge/                β†’ forge.infiniteappsai.com
  my-new-app/           β†’ my-new-app.infiniteappsai.com
    β”œβ”€β”€ package.json
    β”œβ”€β”€ vercel.json     (optional)
    └── src/
        └── app/

πŸ“‹ App Naming Rules

  • βœ… Use lowercase letters: my-app
  • βœ… Use hyphens for spaces: my-cool-app
  • βœ… Keep it short and memorable
  • ❌ No uppercase: MyApp
  • ❌ No underscores: my_app
  • ❌ No special chars: my@app

πŸ”§ Per-App Configuration

Add vercel.json to your app directory for custom settings:

{
  "framework": "nextjs",
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        { "key": "X-Content-Type-Options", "value": "nosniff" }
      ]
    }
  ]
}

🌐 Domain Mapping

App DirectorySubdomainURL
apps/landing@ + wwwinfiniteappsai.com
apps/forgeforgeforge.infiniteappsai.com
apps/dashboarddashboarddashboard.infiniteappsai.com
apps/your-appyour-appyour-app.infiniteappsai.com

πŸ” Troubleshooting

Build Failing?

Check that your app has:

  • βœ… package.json with build script
  • βœ… Listed in pnpm-workspace.yaml
  • βœ… Dependencies properly declared

Domain Not Working?

Verify:

  • βœ… DNS records are set up
  • βœ… Wildcard CNAME exists
  • βœ… Wait 5-10 minutes for DNS propagation

App Not Deploying?

Check:

  • βœ… GitHub Action completed successfully
  • βœ… Vercel project exists in dashboard
  • βœ… Code pushed to correct branch

πŸ“š Full Documentation

For detailed information, see VERCEL_DEPLOYMENT_GUIDE.md

πŸ’‘ Tips

  • Environment Variables: Set per-app via Vercel Dashboard β†’ Project β†’ Settings β†’ Environment Variables
  • Preview Deployments: Every PR automatically creates a preview deployment
  • Rollbacks: Use Vercel Dashboard to rollback to previous deployments
  • Monitoring: Check deployment status in Vercel Dashboard or GitHub Actions

πŸ†˜ Need Help?