用途:对导入 @remix-run/* 的 TypeScript 路由模块做 Remix v2 性能与 SSR 代码审查,聚焦五类问题:缓存响应头、服务端与客户端拆分、水合一致性、预取与流式渲染、静态资源加载。
主要能力:检查路由是否导出 headers;子路由在个性化数据下是否单独声明策略;Cache-Control: public 是否被用于含 Cookie 或鉴权响应;会话影响缓存时是否设置 Vary: Cookie。检查 prisma、bcrypt、node:fs、jsonwebtoken 等是否放在 *.server.ts 或 app/.server/;密钥环境变量是否只在 loader/action 或服务端模块读取;客户端环境变量是否经白名单注入 window.ENV。检查渲染路径中的 new Date()、Math.random()、Date.now()、crypto.randomUUID()、未指定 locale 的格式化与缺失 useId()。检查 <Link prefetch> 模式是否与场景匹配、<Await> 是否配 <Suspense> 与 errorElement、defer() 是否只用于慢数据。检查 dangerouslySetInnerHTML、图片 loading/尺寸、字体与 CSS 预加载。
使用方式:按参考文档分工加载——缓存头、服务端/客户端拆分、水合、预取流式、资源各对应一个 references 文件;先执行硬性门槛(位置证据、豁免核对、水合上下文、父子 headers 链、服务端/客户端边界、验证协议),再输出形如 [FILE:LINE] ISSUE_TITLE 的结论并附原文引用与理由。
适用场景:Remix v2 项目的代码评审、上线前 SSR 与缓存审查。
限制:仅针对 Remix v2 与 TypeScript 路由模块;需要具体文件路径与行号或原文引用,缺少证据不报告;明确列出了不应误报的合法用法与条件敏感规则,未提供安装命令、价格或平台信息。