Merit-Systems / Merit-Systems/OpenInstinct

Vercel build is green and /eve/v1/health passes, but every Next.js route 404s when the project's Framework Preset isn't 'nextjs'

Open
#48 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
344
Forks
53
Avg merge
2h 8m
Merged PRs (30d)
105

Description

Expected Behavior

A project connected to this repo either serves the Next.js app or fails the build with a clear reason. The deploy button sets the framework for you; a CLI-created project does not, and nothing in the repo detects that.

Current Behavior

vercel project add <name> && vercel link && vercel git connect leaves Framework Preset = Other. A Git-triggered build then:

  1. runs pnpm turbo run build:vercel (from vercel.json) → next build succeeds and prints every route;
  2. withEve()'s nitro step writes the eve service to .eve/vercel-services/eve/.vercel/output;
  3. the deployment goes Ready

…but /, /sign-in, and every other Next route return 404 x-vercel-error: NOT_FOUND, while /eve/v1/health returns {"ok":true,"status":"ready"}. Because the build log is clean and the health check passes, it reads as an app bug; I spent a while comparing the nitro and Next outputs before checking the preset. The fix is vercel api /v9/projects/<id> --method PATCH --field framework=nextjs (or the dashboard) plus a redeploy.

Per node_modules/eve/docs/guides/frontend/nextjs.mdx, "the Next.js app itself remains the default app" — which is only true when Vercel actually uses the Next.js builder.

Possible Solution
  • Document the framework requirement next to the deploy instructions in README / AGENTS.md (one line: "the Vercel project's Framework Preset must be Next.js").
  • Have withEve() (or the build:vercel script) fail loudly when VERCEL is set and the detected framework isn't nextjs, since the Next output is otherwise silently dropped.
Minimal Reproducible Example
  1. vercel project add x --scope <team>; vercel link --project x; vercel git connect
  2. Trigger a Git deploy; open the production domain → 404; /eve/v1/health → 200
Context

First deploy of a fresh open-instinct3 project from the CLI on 2026-08-27.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with vercel.json, the build:vercel script, withEve(), and the deploy instructions in README or AGENTS.md; compare them with node_modules/eve/docs/guides/frontend/nextjs.mdx. Reproduce the CLI-created project with Framework Preset set to Other, then verify the Next.js routes and /eve/v1/health. Done means the framework requirement is documented or a mismatched Vercel configuration fails clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
next.js, typescript
Domain
cloud, devops, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.