CodeVetter · Repo Unpack · Contributor handoff
remix-run/react-router
Use the pinned checkout and mode-specific source as the authority for future work. Tests and CI were inspected, not executed, and this inventory is bounded rather than exhaustive. Start edits at the runtime or tooling boundary responsible for the behavior, preserving generated artifacts and package conventions. Any future validation report must distinguish configured checks from commands actually run.
- Identify Declarative, Data, Framework, RSC Data, or RSC Framework scope before changing a feature.
- For browser data behavior, first read createBrowserRouter, useSubmit, and startNavigation; they expose the constructor-to-request-to-state path.
- For adapter work, inspect both platform conversion and the core runtime context check: initialContext must be a RouterContextProvider instance.
- Use the repository's Jest and Playwright scripts when execution is authorized; the inspected scripts and CI are configuration evidence, not passing results.
- For fetcher mutations, preserve separate fetcher action data and page loaderData, including submitting/loading/idle transitions asserted in the inspected test.
- Generated API documentation and generated route types are not direct edit targets; modify JSDoc or generators instead.
- User-affecting changes require a package-local patch, minor, major, or unstable change file; existing unshipped change files should be updated rather than duplicated.
- Do not assume older package requirements: this core manifest declares version 8.4.0, React peers >=19.2.7, and Node >=22.22.0.
- Preserve explicit client/server separation when editing framework transforms; the architecture decision requires server-export removal and errors for remaining .server imports.
- Choose mode-appropriate unit or integration validation, rebuild after package changes for integration work, and use Chromium unless explicitly directed otherwise.