remix-run/remix

11 rules learned from 1,000 merged PRs: the files and habits in remix-run/remix that kept needing a fix after merge.

Merged PRs read
1,000
Needed a fix
53 (5.3%)
Reverted
2
Merged between
2024-11-18 and 2026-11-11

Tested on PRs the rules had never seen

3 of the 26 code PRs that breached a rule needed a fix (12%), against 0 of the 72 that breached none (0%).

Rules were learned from older PRs, then tested on later PRs they hadn't seen. How we tested

PRTitle and the rule it breachedWhat happened
Normalize form media types and add nosniff to file responsesFragile area: packages/form-data-parser/ (4 of 35 earlier PRs needed a fix) fixed in #11890, same day

Fix-prone files and folders

PRs that touched these paths needed a follow-up fix more often than the 6% repo average. Counts are PRs that touched the path.

  1. Hotspot: packages/node-fetch-server/src/lib/request-listener.ts

    4 of 16 earlier PRs that changed this needed a fix.

    12 clean, 4 fixed (25%)
  2. Hotspot: packages/fetch-proxy/src/lib/fetch-proxy.ts

    3 of 13 earlier PRs that changed this needed a fix.

    10 clean, 3 fixed (23%)
  3. Fragile area: packages/assert/

    3 of 21 earlier PRs that changed this needed a fix.

    18 clean, 3 fixed (14%)
  4. Fragile area: packages/session/

    3 of 22 earlier PRs that changed this needed a fix.

    19 clean, 3 fixed (14%)
  5. Fragile area: packages/node-fetch-server/

    5 of 42 earlier PRs that changed this needed a fix.

    37 clean, 5 fixed (12%)
  6. Fragile area: packages/form-data-parser/

    5 of 43 earlier PRs that changed this needed a fix.

    38 clean, 5 fixed (12%)
  7. Fragile area: packages/multipart-parser/

    5 of 43 earlier PRs that changed this needed a fix.

    38 clean, 5 fixed (12%)
  8. Fragile area: packages/fetch-proxy/

    4 of 36 earlier PRs that changed this needed a fix.

    32 clean, 4 fixed (11%)
  9. Hotspot: packages/route-pattern/src/lib/route-pattern.ts

    3 of 27 earlier PRs that changed this needed a fix.

    24 clean, 3 fixed (11%)
  10. Fragile area: packages/cookie/

    3 of 30 earlier PRs that changed this needed a fix.

    27 clean, 3 fixed (10%)
  11. Fragile area: the repo root

    23 of 236 earlier PRs that changed this needed a fix.

    213 clean, 23 fixed (10%)

Conventions

Habits most PRs here follow, where PRs that broke them needed a fix more often. Counts on each bar are the PRs that broke it.

No habit here made the list.

Recent PRs that needed a fix

Rules flagged 22 recent PRs, and 2 of those needed a fix (9%), against 4% of all recent PRs. This is the one that needed a fix, with the PR that fixed it.

PRTitleSizeRule it breachedWhat happened
Improve assert Node compatibility +1,459 -154 touches packages/assert/18 clean, 3 fixed fixed in #11529, 4 days later

Get this for your own repo

Precall reads your repo's history the same way and comments on new PRs that touch the spots that kept breaking.