Skip to main content

roto-rooter

Static analysis for React Router applications. Use when building or debugging React Router apps to verify routes, links, forms, loaders, params, hydration patterns, and database persistence operations.

설치로 이동

소스 정보

저장소
glideapps/roto-rooter
최근 소스 활동
2026년 4월 6일 22:45
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
roto-rooter
description
Static analysis for React Router applications. Use when building or debugging React Router apps to verify routes, links, forms, loaders, params, hydration patterns, and database persistence operations.
allowed-tools
Bash(rr:*)
# React Router Static Analysis with roto-rooter ## Quick start ```bash rr # analyze all routes in current directory rr app/routes/dashboard.tsx # analyze specific file rr --fix # auto-fix issues rr --dry-run # preview fixes ``` Example output: ``` [links] app/routes/dashboard.tsx:24:8 <Link to="/users"> [error] Link target "/users" does not match any route [hydration] app/routes/dashboard.tsx:31:12 new Date() [warning] new Date() without arguments returns the current time, which differs between server render and client hydration -> Pass the current date from the loader to ensure server and client use the same value 1 error, 1 warning ``` ## Commands ```bash rr [FILES...] # analyze files (default: all routes) rr --check links,forms # run specific checks rr --check all # run all checks (including optional) rr --check defaults,drizzle # run default checks plus specific optional checks rr --format json # JSON output rr --root ./my-app # set project root rr sql --drizzle # extract SQL queries from Drizzle ORM code rr sql --drizzle --format json # SQL extraction with JSON output ``` ## Available checks **Default checks** (run automatically): - **links** - validates `<Link>`, `<NavLink>`, `redirect()`, `navigate()`, and `href` props on any component exist as routes - **forms** - validates Form action targets, field alignment between forms and actions, intent-based dispatch - **loader** - detects loader data usage issues and `clientLoader`/`clientAction` with server-only imports - **params** - validates route params match definitions - **interactivity** - detects disconnected dialogs ("Save" buttons that don't save, "Delete" buttons that don't delete, stub handlers) - **hydration** - detects hydration mismatches (Date, Math.random, locale-dependent formatting, window access in render) **Optional checks** (opt-in via `--check`): - **drizzle** - validates database operations against Drizzle ORM schema (unknown tables/columns, missing required columns, null-to-notNull, invalid enum literals, type mismatches, auto-generated column writes, DELETE/UPDATE without WHERE, `sql<number>` with aggregates) ## Examples ```bash # Check for broken links in a route file rr app/routes/dashboard.tsx --check links # Auto-fix all fixable issues in the project rr --fix # Get JSON output for CI integration rr --format json # Enable Drizzle ORM persistence checking (auto-discovers schema) rr --check drizzle # Drizzle checking with explicit schema path rr --check drizzle --drizzle-schema src/db/schema.ts # Extract SQL queries from Drizzle ORM code rr sql --drizzle # Extract SQL queries from a specific file rr sql --drizzle app/routes/users.tsx # SQL extraction with JSON output rr sql --drizzle --format json ```
GitHub에서 보기