CodeVetter · Repo Unpack · Contributor handoff
nuxt/nuxt
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.
- Read AGENTS.md and CONTRIBUTING.md before authoring artifacts: AGENTS prohibits AI-authored public writing and autonomous submitted contributions and requires disclosure of agent authorship and human-review status.
- CONTRIBUTING contains an automated-agent fast-track note that conflicts with AGENTS; agent-scan automation can label and close automated PRs. Treat the note as a policy conflict to resolve, not authorization to submit.
- Use the pinned pnpm@12.6.0 workspace and its catalogs/overrides; Vite, Rolldown, OXC, and Vue are explicitly pinned together, and Renovate explains the risk of loading a second Rolldown native binding.
- For initialization or build changes, read core/nuxt.ts, core/builder.ts, core/app.ts, schema builder resolvers, and the chosen server integration; app-builder bundle and server-builder setup are separate lifecycle responsibilities.
- Change template generators and discovery logic at their owners: app generation populates nuxt.vfs/#build and writes only templates marked write, while routes.mjs and imports.mjs are generated outputs.
- Preserve TypeScript strictness and generated context separation: root options enable strict/noUncheckedIndexedAccess/noUncheckedSideEffectImports, and addTypeTemplate distinguishes Nuxt, node, and shared references.
- After separately authorized runtime changes, the existing focused targets are test:runtime and test:unit; renderer legacy-error changes also require selecting renderer-legacy-errors explicitly because test:unit does not include it.
- Browser verification should select the matching Playwright matrix project and inspect its exclusions first; fixture mutation suites intentionally avoid the Nitro-Vite shared project, and dev/build/Vite/Rspack applicability differs.
- Tests and CI were inspected rather than executed in this investigation; their configured commands and source assertions are future verification pointers, not proof that this checkout passes.
- Preparation is material to test/build behavior: renderer projects generate fixture artifacts, and build ensures generated tsconfigs exist before starting a bundler because missing references can be cached as failures.
- Keep application and request isolation intact: createNuxtApp owns reactive payload registries, renderer instances own options/artifact loaders, and sessionCache keys sessions by event object and cookie name.
- Do not equate server.builder:'vite' with Nitro feature parity or treat internal server-build helpers as stable public APIs; both sources explicitly describe experimental limitations.
- For performance or streaming work, account for disabled benchmark CI, the dev CSS fixme, and committed streaming status behavior; no benchmark improvement or comprehensive browser coverage was established by this source inspection.