CodeVetter · Repo Unpack · Contributor handoff
remix-run/remix
Read the owning package and its actual runtime boundaries before editing generated surfaces or application examples. Tests and CI were inspected, not executed, and this bounded source investigation supplies no passing baseline. The requested environment-file entrypoint was intentionally not read under the user's prohibition on environment files and secrets. Future implementation work should preserve package boundaries, generated wiring, source-run tests, and public API documentation.
- Read AGENTS.md first for dedicated public source entrypoints, implementation-only src/lib, direct cross-package imports, and Web API preferences; CLAUDE.md delegates to that guide.
- Use pnpm and the root Node engine requirement; the workspace catalog centralizes TypeScript, Playwright, formatting, and other shared versions.
- For request changes, read server.ts, router.ts, routes.ts, controller actions, and render integration together; these files connect the template's HTTP, route, and HTML boundaries.
- For auth changes, read transaction helpers, callback validation, completeAuth, session middleware, and the chosen backend; backend deletion semantics affect the meaning of session rotation.
- Avoid manually changing generated umbrella entrypoints: cli-entry.ts is marked generated, and generate-remix.ts owns umbrella exports and documentation copies.
- CLI source scaffolding requires the prepared package template; its error directs developers to the CLI prepack script, which syncs that template.
- Use separate type imports/exports, .ts extensions, let for locals, const at module scope, and native private fields; Oxfmt enforces 100-column, semicolon-free, single-quoted formatting.
- Tests run from source without a build; the documented narrow commands include package-filtered tests/typechecks and --only test-name selection. These are recommended future checks, not commands executed during this investigation.
- The recommended fast loop includes metadata validation, lint, changed tests, and changed typechecks; changed commands compare against origin/main and include uncommitted changes.
- Public API changes require related docs, JSDoc, examples, and tests; changes affecting published packages require change files.
- Preserve SQL migrations as immutable artifacts; the migration decision rejects imports of evolving application schemas because they can alter old migrations and risk data loss.
- Inspect browser project configuration before claiming cross-browser coverage: the component/UI configs list only Chromium while several supporting packages list Chromium and Firefox.
- Treat root clean and scaffolding force as mutation hazards: clean invokes git clean, and force permits copying into a nonempty target directory.
- The template TypeScript configuration is strict NodeNext with explicit TypeScript extensions, verbatim module syntax, no emit, and remix/component as the JSX import source; react-jsx here does not identify React as the component runtime.