Vercel deployment
Both repos deploy to Vercel via GitHub integration. Pushes to main deploy to production; pushes to any other branch produce a preview deployment.
Production URLs
Section titled “Production URLs”| Surface | URL |
|---|---|
| App (the demo) | https://lending-agent-oversight.vercel.app |
| Docs | https://lending-agent-oversight-docs.vercel.app |
Vercel projects
Section titled “Vercel projects”Two Vercel projects, one per repo:
| Vercel project | GitHub repo | Framework preset |
|---|---|---|
lending-agent-oversight | bgood11/lending-agent-oversight | Next.js (auto-detected) |
lending-agent-oversight-docs | bgood11/lending-agent-oversight-docs | Astro (auto-detected) |
Both projects use the default build commands; no overrides are required.
| Project | Install | Build | Output |
|---|---|---|---|
| App | pnpm install | pnpm build | .next |
| Docs | pnpm install | pnpm build | dist |
GitHub auto-deploy
Section titled “GitHub auto-deploy”Vercel’s GitHub app is installed on the repos. On every push:
- Vercel detects the changed files and starts a build.
- The build runs the framework’s default lint and build pipeline.
- On success, Vercel publishes a deployment.
- Pushes to
mainget the production alias; pushes to other branches get a preview alias.
Pull requests get a preview comment from the Vercel bot with the preview URL, build status, and a screenshot diff (Astro only; the app’s diff is text-based).
Preview vs production
Section titled “Preview vs production”| Aspect | Preview | Production |
|---|---|---|
| URL pattern | https://<project>-<sha7>-<scope>.vercel.app | https://<project>.vercel.app (and any custom domain) |
| Lifetime | Until the branch is deleted or 30 days idle | Until replaced by the next push to main |
| Auth | Vercel password protection optional | Public |
NODE_ENV | production (Vercel does not run dev mode) | production |
| Env vars | The Preview set | The Production set |
| Cache | Independent cache per deployment | Long-lived |
Preview URLs are useful for sharing in-progress work. They are not search-indexed (Vercel adds noindex headers on preview deployments).
Build settings
Section titled “Build settings”The app and docs both use Vercel’s defaults. If you need to override:
// vercel.json (only required if customising){ "framework": "nextjs", "buildCommand": "pnpm build", "outputDirectory": ".next", "installCommand": "pnpm install --frozen-lockfile"}The repos do not currently carry a vercel.json. Add one only when you need to deviate from the framework preset (e.g. custom edge regions, custom rewrites).
Edge regions
Section titled “Edge regions”Default. Vercel auto-distributes static assets globally and runs server-side rendering in iad1 (Washington, DC) by default. For UK-only deployment with data residency requirements, override in vercel.json:
{ "regions": ["lhr1"]}lhr1 is London. Production-grade UK data residency requires more than this (database in the UK, object store in eu-west-2, monitoring data in the UK), tracked in Production hardening.
Linking to a Vercel project from the CLI
Section titled “Linking to a Vercel project from the CLI”cd lending-agent-oversightpnpm dlx vercel link# prompts for scope (your team) and project (existing or new)pnpm dlx vercel # deploy previewpnpm dlx vercel --prod # deploy production (requires write access)The CLI is rarely needed; GitHub auto-deploy handles the loop. Use it for one-off preview deploys from branches that should not push to GitHub yet.
Build environment
Section titled “Build environment”Vercel’s build runner uses Node.js 20. The repos do not pin a Node version in package.json; Vercel detects the latest LTS. To pin:
{ "engines": { "node": "20.x" }}Pin only if a build breaks on the runner’s default version.
Deploy logs
Section titled “Deploy logs”Vercel’s project dashboard shows build logs and runtime logs. Build logs persist indefinitely; runtime logs persist for 7 days on the Hobby plan, longer on paid plans. For longer retention, ship runtime logs to a sink (Datadog, Logtail, Better Stack), see Production hardening.
Rollback
Section titled “Rollback”From the Vercel dashboard, “Deployments” tab, click any prior production deployment, then “Promote to Production”. Atomic alias swap, no rebuild, takes seconds. The previous build is preserved and can be re-promoted.
For repository-level rollback, revert the offending commit on main; the next push triggers a fresh production build.