CodeVetter
← All unpacks
CodeVetter · Repo Unpack evidence

nuxt/nuxt

Scanned commit 3fde4d625c dated 2026-10-01 — last upstream commit. Generated by codevetter 1.15.0 on 2026-10-02.

github.com/nuxt/nuxt ↗ · 2361 files · 6.7 MB

Nuxt Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.

Deep analysis by cli:codex via the codex CLI on 2026-10-02 (665s) — every claim below links to its cited source files. Source inspection; upstream code and tests were not executed.

Overview

Nuxt is a Vue full-stack framework for developers building server-rendered, static, hybrid, and client-rendered websites and applications. At commit 3fde4d625cc353e83ac10f6b75db8ca480167be4, this monorepo contains the core framework, module toolkit, configuration schema, app builders, and separate server integrations, with package manifests on the 5.0.0-0 prerelease line. Its distinctive architecture combines filesystem discovery and generated modules with request-scoped Vue applications, serialized hydration payloads, and an extensible renderer. This brief is agent-authored and has not been human-reviewed; it reflects bounded source inspection, with no repository code or tests executed.

System map

This is a framework monorepo rather than a single deployed application. Configuration loading and module initialization produce generated application modules consumed by an app builder and a separately selected server builder. Vue application state lives within NuxtApp instances, while renderer artifacts are cached per renderer instance and sessions persist through sealed cookies. Published package exports, documentation packaging, playground scripts, and release automation form separate delivery surfaces.

Feature catalog

The developer-facing surface centers on convention-based Vue applications, generated routing, SSR-friendly data access, and deployment choices. The inspected implementation also supports metadata management, component discovery, plugin execution, navigation prefetching, cookie sessions, and route-specific rendering behavior. Development tooling includes filesystem-driven regeneration and optional DevTools integration. This catalog covers the evidenced feature families and explicit experimental limits, rather than claiming an exhaustive inventory of every composable or external CLI command.

All 14 feature catalog claims →

Data flow

Configuration and filesystem inputs are transformed into resolved options, discovered application structure, generated modules, and bundled artifacts. Incoming requests enter a server adapter and receive a fresh SSR context before Vue plugins, routing, and page data execute. Async results and useState values become serialized payloads that the browser revives before mounting. Session persistence follows a separate cookie-sealing path and does not use the hydration-state registry.

Behavior traces

The traced flows cover framework startup/build, an SSR page request through browser hydration, SSR-friendly fetching, and cookie persistence across requests. Each trace follows concrete functions and state transitions in the inspected implementation. Development regeneration and error rendering add alternate paths that influence these flows. These are source-derived execution sequences, not observed runtime executions.

Testing signals

Tests and CI were inspected, not executed; their existence and assertions establish intended coverage, not passing results. Vitest separates unit, renderer, Nuxt-environment, fixture-matrix, bundle, and type-performance projects, while Playwright drives browser scenarios. CI schedules type/API checks, runtime/unit tests, fixture tests, browser tests, and security analysis with event-specific gates. The inspection is bounded, and explicit exclusions, disabled jobs, and a fixme prevent treating the configured suite as exhaustive coverage.

Risk map

The following items are sensitive source boundaries and explicit limitations, not confirmed vulnerabilities. Executable configuration, remote layers, dependency installation, development HTTP handlers, and request-header forwarding deserve focused review when changed. Hydration serialization and streaming response commitment impose correctness constraints that cross package boundaries. The strongest observed testing limits are configured exclusions, a disabled benchmark job, and a documented development CSS fixme.

All 13 risk map claims →

Extension points

Nuxt exposes build-time modules, hooks, templates, discovery registries, and runtime plugins as its primary extension model. App and server builders can be supplied independently, with renderer options providing a further runtime adapter boundary. Fetch factories and middleware allow reusable application-level policy without replacing the core async-data machinery. Some server-build helpers are explicitly internal and experimental, so their existence does not imply stable public API.

Contributor handoff

Begin with repository contribution policy, the relevant package manifest, and the build/runtime boundary that owns the requested behavior. Tests and CI were inspected, not executed, so this brief supplies test targets rather than validation results. Preserve generated-module contracts, request-scoped state, cookie headers, and builder compatibility when making later authorized changes. The inventory is bounded; investigate neighboring consumers and tests before drawing absence or vulnerability conclusions.

All 13 contributor handoff claims →

Languages

LanguageFilesShare of source
TypeScript116064%
Vue61334%
Markdown263docs/config
JSON137docs/config
YAML54docs/config
JavaScript231%
CSS19docs/config
HTML8docs/config

Start reading here

Probable source entrypoint: packages/ — inferred from the directory tree and manifest, not the upstream docs.

Source roots

packages/ (852 files)

Repository structure

Top-level pathFiles
test/1152
packages/852
docs/275
.github/37
scripts/9
playground/5
.devcontainer/2
.stackblitz/2

Docs found: AGENTS.mdCLAUDE.mdCONTRIBUTING.mdREADME.mddocs/1.getting-started/01.introduction.mddocs/1.getting-started/02.installation.mddocs/1.getting-started/03.configuration.mddocs/1.getting-started/04.views.mddocs/1.getting-started/05.assets.mddocs/1.getting-started/06.styling.md

Package

package.json — nuxt-framework, 70 declared dependencies.

@arethetypeswrong/cli@babel/core@codspeed/core@codspeed/vitest-plugin@eslint/markdown@flakiness/playwright@flakiness/vitest@nuxt/cli@nuxt/eslint-config@nuxt/kit@nuxt/rspack-builder@nuxt/test-utils

CI & config entrypoints

Structural health signals

Average score 7.4/10 across 96 analyzed source files; 17 hotspots surfaced.

These are deterministic review leads — size, churn, and structural signals — not proof of a bug in this project.

Recent history