Use for deployments, shipping, releasing, pushing to production, hotfixes, rollbacks, and any task related to getting code live
94
97%
Does it follow best practices?
Impact
86%
1.32xAverage score across 3 eval scenarios
Passed
No known issues
Forge's frontend-app deploys to Vercel. Every push to main triggers a production deploy automatically. Every PR gets an isolated preview deployment.
Before merging any PR into main, confirm all of the following:
npm run buildExpected: exits 0 with no TypeScript errors.
Every key in .env.example must exist in Vercel project settings → Environment Variables → Production.
New env vars introduced in this PR must be added to Vercel before merging.
Keys to verify:
NEXT_PUBLIC_BACKEND_URLNEXT_PUBLIC_DATA_URLIf a key is missing, add it in Vercel and re-deploy the preview before merging.
The Vercel bot posts a preview URL as a PR comment. Open it and verify:
git diff main...HEAD -- '*.tsx' '*.ts' | grep '^\+.*console\.'Remove any console.log / console.error in production code paths.
If this PR adds a new process.env.* reference, .env.example must be updated in the same PR.
Merging to main triggers production deploy automatically. Watch it:
# Install Vercel CLI if needed: npm i -g vercel
vercel ls tessl-fe/frontend-app --prodOr check the Vercel dashboard → Deployments tab. Expected build time: 60–90 seconds.
If production is broken after a merge:
# List recent deployments
vercel ls
# Instant rollback — re-routes traffic to a previous build, no rebuild
vercel rollback <previous-deployment-url>| Symptom | Fix |
|---|---|
Type error: X is not assignable to Y | Fix TypeScript in the flagged file |
Environment variable X is not defined | Add it to Vercel project settings |
Module not found: Can't resolve '...' | Run npm install, commit updated package-lock.json |
ENOENT: no such file | Check that all imported files exist with correct casing (case-sensitive on Linux) |
Build logs: open the deployment in Vercel dashboard → click "Build Logs".