Vercel Quick Start
1.0.0Rapid deployment checklist for staging environments.
On this page
- Vercel Multi-App Deployment - Quick Start
- β‘ 5-Minute Setup
- 1. Configure GitHub Secrets (One-Time)
- 2. Set Up DNS (One-Time)
- 3. Add a New App
- 4. Done! π
- π Manual Provisioning
- ποΈ Project Structure
- π App Naming Rules
- π§ Per-App Configuration
- π Domain Mapping
- π Troubleshooting
- Build Failing?
- Domain Not Working?
- App Not Deploying?
- π Full Documentation
- π‘ Tips
- π Need Help?
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:
- Go to Actions tab
- Select "Provision Vercel Apps"
- Click "Run workflow"
- Enter app slug
- 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 Directory | Subdomain | URL |
|---|---|---|
apps/landing | @ + www | infiniteappsai.com |
apps/forge | forge | forge.infiniteappsai.com |
apps/dashboard | dashboard | dashboard.infiniteappsai.com |
apps/your-app | your-app | your-app.infiniteappsai.com |
π Troubleshooting
Build Failing?
Check that your app has:
- β
package.jsonwithbuildscript - β
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