CodeVetter
← All unpacks
CodeVetter · Repo Unpack evidence

redwoodjs/redwood

Scanned commit a7852fb92d dated 2025-12-13 — last upstream commit. Generated by codevetter 1.15.0 on 2026-10-02.

github.com/redwoodjs/redwood ↗ · 4000 files · 27.2 MB · scan capped

[source preview omitted from public export]

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

Overview

Redwood is a TypeScript/JavaScript framework monorepo for building React applications backed by GraphQL services and Prisma databases. Its distinctive integration spans declarative routing, query lifecycle components called Cells, authentication providers, application generators, background jobs, storage, and development tooling. At commit a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd, the inspected implementation belongs to Redwood GraphQL; the README separately promotes RedwoodSDK and describes Bighorn capabilities as aspirational.

System map

The repository contains framework packages, generated application templates, integration fixtures, task tooling, and a separate Docusaurus documentation application. Application runtime boundaries divide browser rendering from API execution, with Prisma clients owned by applications. Fastify hosts ordinary functions and a dedicated GraphQL Yoga integration, while a separate handler adapts Yoga to Lambda events. Root scripts coordinate package builds and tests through Nx; package manifests define the published entrypoints.

Feature catalog

The primary users are developers constructing applications with framework commands and runtime components. Inspected features include application creation, development servers, scaffolding, routing, GraphQL Cells, forms, authentication, realtime transport, background jobs, file storage, and mail delivery. The CLI also exposes operational and quality commands and loads Storybook and data-migration plugins. This catalog covers inspected interfaces and documented deployment targets; it is bounded rather than an exhaustive enumeration of the monorepo.

All 14 feature catalog claims →

Data flow

Application configuration determines paths, endpoints, feature flags, and browser-exposed values. Browser queries travel through Cell hooks and Apollo links to Yoga, where SDL fields map to service exports and application-owned Prisma clients. Authentication adds identity to request-scoped context before resolver execution. Jobs use a separate durable path that serializes invocation metadata into database records and later loads compiled code in workers.

Behavior traces

The investigation followed browser startup, development-command startup, todo creation and persistence, authentication context construction, and background-job execution through their relevant source files. These traces describe source call order, not observed execution. The todo fixture demonstrates the client-to-service data contract but contains a legacy GraphQL bootstrap, so the current server boundary is substantiated separately with test-project and framework sources. Job scheduling and consumption form an additional end-to-end persistence flow.

Testing signals

Tests and CI were inspected, not executed; no passing result is asserted. The inspected framework packages use Vitest, with React Testing Library for component tests and jsdom for browser-oriented packages. Playwright smoke tests and Cypress tutorial CI exercise application integration, while background-job CI has a separate job. Coverage observations are bounded to inspected files: mocked component and worker tests do not establish real network, database-concurrency, provider, or deployment behavior.

Risk map

The observations below identify security-sensitive boundaries and correctness hotspots in source, not confirmed vulnerabilities. Authentication and filesystem APIs rely on application configuration and authorization decisions, while dynamic module loading trusts installed or compiled code. Several explicit comments document unfinished behavior, including CSRF validation and job runtime enforcement. Runtime severity, exploitability, and whole-repository coverage remain unverified.

Extension points

The framework exposes explicit extension seams across commands, transport, schema assembly, authentication, jobs, storage, and mail. Most customization is expressed through configuration objects, exported functions, registries, or adapter classes. Build-time transforms provide some runtime metadata, so extensions must respect the compiler/runtime contract. Plugin ordering and package export conditions are especially consequential boundaries.

Contributor handoff

Begin with the owning package and follow the application's configuration, compiler, and runtime boundaries before editing. The repository contains current implementations alongside legacy fixtures and documentation that can describe different development epochs. Tests and CI were inspected, not executed, and this inventory is bounded; future agents must obtain actual check results under appropriate execution authority. Keep changes small and account for generated metadata, browser environment exposure, and interfaces shared across deployment modes.

Languages

LanguageFilesShare of source
Markdown2125docs/config
TypeScript160467%
JavaScript73931%
JSON344docs/config
TOML522%
CSS44docs/config
HTML34docs/config
YAML31docs/config

Start reading here

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

Source roots

packages/ (1469 files)

Repository structure

Top-level pathFiles
docs/1470
packages/1469
__fixtures__/728
tasks/195
.github/59
.changesets/54
.ona/1
.devcontainer/1

Docs found: CONTRIBUTING.mdREADME.mddocs/README.mddocs/docs/a11y.mddocs/docs/app-configuration-redwood-toml.mddocs/docs/assets-and-files.mddocs/docs/auth/auth0.mddocs/docs/auth/azure.mddocs/docs/auth/clerk.mddocs/docs/auth/custom.md

Package

package.json — , 78 declared dependencies.

@actions/cache@actions/core@actions/exec@actions/glob@babel/cli@babel/core@babel/generator@babel/node@babel/plugin-proposal-decorators@babel/plugin-transform-class-properties@babel/plugin-transform-nullish-coalescing-operator@babel/plugin-transform-private-methods

CI & config entrypoints

Structural health signals

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

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

Recent history