Skip to main content

Adding Compatibility Rules

Contribute compatibility data by submitting verified information about how two technologies work together.

Before You Submit

Check if Data Exists

  1. Visit devradar.dev/check
  2. Search for your technology pair
  3. If status is “unknown”, your submission is valuable

Verify Your Information

Only submit what you’ve personally verified:
Verification MethodAcceptance
Personal testingPreferred
Official docsAccepted
GitHub issueAccepted
Community consensusCase-by-case
Required information:
  • Technology names
  • Compatibility status
  • Evidence/source links
  • Your testing context

What to Submit

Required Fields

FieldDescriptionExample
Technology AFirst technology namenextjs
Technology BSecond technology nameprisma
StatusCompatibility levelcompatible, partial, incompatible
SeverityImpact levelinfo, warning, error, critical
ExplanationWhy this statusDetailed description
EvidenceSource linksOfficial docs, GitHub issues
Tested VersionsWhat you tested[email protected], [email protected]

Optional Fields

FieldDescriptionExample
WorkaroundFix for partial/incompatible”Use dynamic imports”
PlatformSpecific platform”web”, “mobile”, “edge”
NotesAdditional context”Only for API routes”

Status Guidelines

Compatible ✅

Use when technologies work together without issues. Example:
Technology A: nextjs
Technology B: prisma
Status: compatible
Severity: info
Explanation: Prisma works seamlessly with Next.js API routes.
Evidence: https://www.prisma.io/docs/orm/more/help-and-support/faq

Partial ⚠️

Use when technologies work but with limitations. Example:
Technology A: prisma
Technology B: vercel-edge
Status: partial
Severity: warning
Explanation: Prisma doesn't support Edge Runtime due to Node.js APIs.
Workaround: Use dynamic imports with 'ssr: false' for Prisma routes.
Evidence: https://github.com/prisma/prisma/issues/16492

Incompatible ❌

Use when technologies have fundamental conflicts. Example:
Technology A: nextjs
Technology B: material-ui
Status: partial
Severity: warning
Explanation: MUI requires client-side rendering. Use 'use client' directive.
Workaround: Wrap MUI components in client components.
Evidence: https://mui.com/material-ui/guides/nextjs-app-router/

Submission Methods

  1. Go to github.com/devradar-dev/website/issues
  2. Click “New Issue”
  3. Use “Compatibility Data” template
  4. Fill in all fields
  5. Submit
Template:
## Compatibility Data Submission

**Technologies:** techA + techB
**Status:** compatible/partial/incompatible
**Severity:** info/warning/error/critical

### Explanation
[Detailed explanation of compatibility]

### Workaround (if applicable)
[How to make it work if partial/incompatible]

### Evidence
- Official docs: [URL]
- GitHub issue: [URL]
- Your testing: [description]

### Tested Versions
- techA: version
- techB: version

### Additional Context
[Any other relevant information]

Method 2: Discussion Post

For complex submissions or questions:
  1. Go to github.com/devradar-dev/website/discussions
  2. Start a new discussion
  3. Use “Compatibility Data” category
  4. Post your submission

Method 3: API (Developers)

Submit via API (requires authentication):
curl -X POST https://devradar.dev/api/v1/contributions/compatibility \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "techA": "nextjs",
    "techB": "prisma",
    "status": "compatible",
    "severity": "info",
    "explanation": "...",
    "evidence": ["https://..."]
  }'

Review Process

What We Check

  1. Accuracy - Can we verify the information?
  2. Evidence - Are sources provided?
  3. Clarity - Is the explanation clear?
  4. Completeness - Are all required fields filled?

Timeline

StageDuration
Initial review1-2 days
Verification2-3 days
MergeWithin 7 days

After Submission

You’ll receive updates:
  • Under Review - Being evaluated
  • Approved - Added to database
  • Changes Requested - Needs more info
  • Declined - Cannot accept (with reason)

Best Practices

1. Test Before Submitting

Actually use the technologies together:
# Create a test project
npx create-next-app@latest test-prisma
cd test-prisma
npm install prisma
# Verify it works

2. Document Your Context

Help us understand your setup:
I tested this with:
- Next.js 14.2 (App Router)
- Prisma 5.2 (PostgreSQL)
- Vercel deployment
- Only API routes (no Edge)
Strong sources strengthen your submission:
  • Official documentation (best)
  • Official GitHub issues (good)
  • Blog posts from maintainers (acceptable)
  • Your own testing (with details)

4. Be Specific

Good: "Next.js 14 App Router + Prisma 5 works in API routes but not Edge Runtime"
Bad: "Next.js works with Prisma"

5. Update When Versions Change

If you submitted data for older versions, submit updates when new versions release:
## Update to Previous Submission

**Original:** #123
**New Versions:** nextjs@15, prisma@6
**Changes:** [What changed?]

What Happens After Approval

Your submission becomes part of the database:
  1. Compatibility checks - API returns your data
  2. Scans - Projects scanned with this info
  3. Content - May be used in guides/comparisons
  4. Attribution - Your username credited (optional)

Examples

Example 1: Compatible

## Compatibility Data Submission

**Technologies:** remix + prisma
**Status:** compatible
**Severity:** info

### Explanation
Remix works seamlessly with Prisma. Loaders can use Prisma Client
directly for database queries.

### Evidence
- Official docs: https://prisma.io/docs/orm/more/support-and-oss/frameworks/remix
- Remix docs: https://remix.run/docs/en/main/guides/database

### Tested Versions
- remix: 2.8.0
- prisma: 5.20.0

### Additional Context
Tested with SQLite in development, PostgreSQL in production.

Example 2: Partial with Workaround

## Compatibility Data Submission

**Technologies:** nextjs + supabase-auth
**Status:** partial
**Severity:** warning

### Explanation
Supabase Auth works in Next.js but requires configuration for App Router.
The helper components are client-side only.

### Workaround
Use 'use client' directive for auth components, or implement
server-side auth with cookies.

### Evidence
- Official guide: https://supabase.com/docs/guides/auth/server-side/nextjs
- GitHub discussion: https://github.com/vercel/next.js/discussions/44929

### Tested Versions
- nextjs: 14.2.0
- supabase: 2.39.0

### Additional Context
Tested with App Router (not Pages Router).

What’s Next


Submit now: Open an Issue