Releases: RoninForge/roninforge-react-router
Release list
roninforge-react-router v1.0.0
First release. Cursor plugin for React Router 7 Framework Mode (the framework formerly known as Remix, merged Nov 2024) that catches the Remix v2 / RR v6 idioms pre-Nov-2024 LLMs still emit.
Inside
- 10 MDC rules: anti-patterns centerpiece + 9 topical rules (route-modules, type-safety, routing-config, data-flow, client-data, forms, sessions-and-env, navigation-and-pending, migration-from-remix)
- 5 skills: new-route, new-resource-route, new-action-form, migrate-from-remix, validate
- 1 reviewer agent with severity-grouped output and per-anti-pattern checklist
- Correct + anti-pattern fixture pair pinned to RR7 7.15.1 vs Remix v2.17.4
- Structural validator with em-dash, emoji, 23+ pattern-presence checks
Anti-pattern coverage (45 total)
| Severity | Count |
|---|---|
| CRIT | 4 |
| ERR | 23 |
| WARN | 16 |
| NIT | 2 |
Catches: @remix-run/* imports, remix.config.js, RemixServer/RemixBrowser, vitePlugin as remix, useLoaderData<typeof loader>(), LoaderFunction/ActionFunction/MetaFunction/LinksFunction generic types, return json(), return defer(), <BrowserRouter><Routes> in framework mode, react-router-dom package, clientLoader.hydrate without HydrateFallback, useTransition from react-router (does not exist), unstable_useViewTransitionState, missing <Scripts /> / <ScrollRestoration /> / <Meta /> / <Links /> in root, resource route with default export, throw new Error("Not Found") instead of Response, useNavigate in useEffect for auth, <form> instead of <Form>, hardcoded session secrets, insecure cookie attrs, import.meta.env.VITE_*_SECRET_*, process.env.SESSION_SECRET! without validation, server modules without .server suffix, SPA-mode loader on non-root, file naming traps (index.tsx vs _index.tsx, [id] vs $id, missing _ for breakouts), Lucia imports, and 14 more.
Version pins
- react-router ^7.15.1 (released 2026-05-14)
- @react-router/dev / node / serve ^7.15.1
- react ^19.2.6
- vite ^8.0.13
- @tailwindcss/vite ^4.3.0
- zod ^4.4.3
- typescript ^6.0.3
- Node >= 20.19.0
Quality cycle
Two rounds of independent review applied. Final validator output: "ALL CHECKS PASSED" (0 errors, 0 warnings, 60+ assertions).