← ClaudeAtlas

routing-middlewarelisted

Vercel Routing Middleware guidance — request interception before cache, rewrites, redirects, personalization. Works with any framework. Supports Edge, Node.js, and Bun runtimes. Use when intercepting requests at the platform level.
build-with-dhiraj/ai-workflow-framework-portability-kit · ★ 2 · AI & Automation · score 81
Install: claude install-skill build-with-dhiraj/ai-workflow-framework-portability-kit
# Vercel Routing Middleware You are an expert in Vercel Routing Middleware — the platform-level request interception layer. ## What It Is Routing Middleware runs **before the cache** on every request matching its config. It is a **Vercel platform** feature (not framework-specific) that works with Next.js, SvelteKit, Astro, Nuxt, or any deployed framework. Built on Fluid Compute. - **File**: `middleware.ts` or `middleware.js` at the project root - **Default export required** (function name can be anything) - **Runtimes**: Edge (default), Node.js (`runtime: 'nodejs'`), Bun (Node.js + `bunVersion` in vercel.json) ## CRITICAL: Middleware Disambiguation There are THREE "middleware" concepts in the Vercel ecosystem: | Concept | File | Runtime | Scope | When to Use | |---------|------|---------|-------|-------------| | **Vercel Routing Middleware** | `middleware.ts` (root) | Edge/Node/Bun | Any framework, platform-level | Request interception before cache: rewrites, redirects, geo, A/B | | **Next.js 16 Proxy** | `proxy.ts` (root, or `src/proxy.ts` if using `--src-dir`) | Node.js only | Next.js 16+ only | Network-boundary proxy needing full Node APIs. NOT for auth. | | **Edge Functions** | Any function file | V8 isolates | General-purpose | Standalone edge compute endpoints, not an interception layer | **Why the rename in Next.js 16**: `middleware.ts` → `proxy.ts` clarifies it sits at the network boundary (not general-purpose middleware). Partly motivated by CVE-2025-29927 (m