@stacksfinder/mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +262 -0
  2. package/dist/data/compatibility_matrix.json +230 -0
  3. package/dist/data/index.d.ts +109 -0
  4. package/dist/data/index.d.ts.map +1 -0
  5. package/dist/data/index.js +203 -0
  6. package/dist/data/index.js.map +1 -0
  7. package/dist/data/technology_scores.json +1031 -0
  8. package/dist/data/357/200/242/357/200/212cp H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serversrcdatacompatibility_matrix.json H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serverdistdata/357/200/242" +226 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +50 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/server.d.ts +6 -0
  14. package/dist/server.d.ts.map +1 -0
  15. package/dist/server.js +254 -0
  16. package/dist/server.js.map +1 -0
  17. package/dist/tools/analyze.d.ts +45 -0
  18. package/dist/tools/analyze.d.ts.map +1 -0
  19. package/dist/tools/analyze.js +110 -0
  20. package/dist/tools/analyze.js.map +1 -0
  21. package/dist/tools/api-keys.d.ts +78 -0
  22. package/dist/tools/api-keys.d.ts.map +1 -0
  23. package/dist/tools/api-keys.js +238 -0
  24. package/dist/tools/api-keys.js.map +1 -0
  25. package/dist/tools/blueprint.d.ts +129 -0
  26. package/dist/tools/blueprint.d.ts.map +1 -0
  27. package/dist/tools/blueprint.js +320 -0
  28. package/dist/tools/blueprint.js.map +1 -0
  29. package/dist/tools/compare.d.ts +50 -0
  30. package/dist/tools/compare.d.ts.map +1 -0
  31. package/dist/tools/compare.js +168 -0
  32. package/dist/tools/compare.js.map +1 -0
  33. package/dist/tools/list-techs.d.ts +34 -0
  34. package/dist/tools/list-techs.d.ts.map +1 -0
  35. package/dist/tools/list-techs.js +70 -0
  36. package/dist/tools/list-techs.js.map +1 -0
  37. package/dist/tools/recommend-demo.d.ts +46 -0
  38. package/dist/tools/recommend-demo.d.ts.map +1 -0
  39. package/dist/tools/recommend-demo.js +202 -0
  40. package/dist/tools/recommend-demo.js.map +1 -0
  41. package/dist/tools/recommend.d.ts +68 -0
  42. package/dist/tools/recommend.d.ts.map +1 -0
  43. package/dist/tools/recommend.js +135 -0
  44. package/dist/tools/recommend.js.map +1 -0
  45. package/dist/utils/api-client.d.ts +80 -0
  46. package/dist/utils/api-client.d.ts.map +1 -0
  47. package/dist/utils/api-client.js +197 -0
  48. package/dist/utils/api-client.js.map +1 -0
  49. package/dist/utils/config.d.ts +35 -0
  50. package/dist/utils/config.d.ts.map +1 -0
  51. package/dist/utils/config.js +45 -0
  52. package/dist/utils/config.js.map +1 -0
  53. package/dist/utils/device-id.d.ts +21 -0
  54. package/dist/utils/device-id.d.ts.map +1 -0
  55. package/dist/utils/device-id.js +101 -0
  56. package/dist/utils/device-id.js.map +1 -0
  57. package/dist/utils/errors.d.ts +46 -0
  58. package/dist/utils/errors.d.ts.map +1 -0
  59. package/dist/utils/errors.js +125 -0
  60. package/dist/utils/errors.js.map +1 -0
  61. package/dist/utils/logger.d.ts +37 -0
  62. package/dist/utils/logger.d.ts.map +1 -0
  63. package/dist/utils/logger.js +73 -0
  64. package/dist/utils/logger.js.map +1 -0
  65. package/package.json +63 -0
@@ -0,0 +1,1031 @@
1
+ {
2
+ "$version": "2.4.0",
3
+ "$description": "Base scores for 32 technologies across 6 criteria (auto-generated + manual entries)",
4
+ "$generatedAt": "2025-12-30T17:47:44.828Z",
5
+ "technologies": {
6
+ "stripe": {
7
+ "id": "stripe",
8
+ "name": "Stripe",
9
+ "category": "payments",
10
+ "url": "https://stripe.com",
11
+ "scores": {
12
+ "default": {
13
+ "perf": 97,
14
+ "dx": 94,
15
+ "ecosystem": 98,
16
+ "maintain": 81,
17
+ "cost": 51,
18
+ "compliance": 65
19
+ },
20
+ "mvp": {
21
+ "perf": 94,
22
+ "dx": 99,
23
+ "ecosystem": 100,
24
+ "maintain": 81,
25
+ "cost": 51,
26
+ "compliance": 65
27
+ },
28
+ "enterprise": {
29
+ "perf": 97,
30
+ "dx": 94,
31
+ "ecosystem": 93,
32
+ "maintain": 86,
33
+ "cost": 56,
34
+ "compliance": 75
35
+ }
36
+ }
37
+ },
38
+ "paddle": {
39
+ "id": "paddle",
40
+ "name": "Paddle",
41
+ "category": "payments",
42
+ "url": "https://paddle.com",
43
+ "scores": {
44
+ "default": {
45
+ "perf": 95,
46
+ "dx": 88,
47
+ "ecosystem": 66,
48
+ "maintain": 68,
49
+ "cost": 41,
50
+ "compliance": 99
51
+ },
52
+ "mvp": {
53
+ "perf": 92,
54
+ "dx": 93,
55
+ "ecosystem": 69,
56
+ "maintain": 68,
57
+ "cost": 41,
58
+ "compliance": 99
59
+ },
60
+ "enterprise": {
61
+ "perf": 95,
62
+ "dx": 88,
63
+ "ecosystem": 61,
64
+ "maintain": 73,
65
+ "cost": 46,
66
+ "compliance": 100
67
+ }
68
+ }
69
+ },
70
+ "lemonsqueezy": {
71
+ "id": "lemonsqueezy",
72
+ "name": "LemonSqueezy",
73
+ "category": "payments",
74
+ "url": "https://lemonsqueezy.com",
75
+ "scores": {
76
+ "default": {
77
+ "perf": 92,
78
+ "dx": 85,
79
+ "ecosystem": 58,
80
+ "maintain": 40,
81
+ "cost": 44,
82
+ "compliance": 96
83
+ },
84
+ "mvp": {
85
+ "perf": 89,
86
+ "dx": 90,
87
+ "ecosystem": 61,
88
+ "maintain": 40,
89
+ "cost": 44,
90
+ "compliance": 96
91
+ },
92
+ "enterprise": {
93
+ "perf": 92,
94
+ "dx": 85,
95
+ "ecosystem": 53,
96
+ "maintain": 45,
97
+ "cost": 49,
98
+ "compliance": 100
99
+ }
100
+ }
101
+ },
102
+ "gumroad": {
103
+ "id": "gumroad",
104
+ "name": "Gumroad",
105
+ "category": "payments",
106
+ "url": "https://gumroad.com",
107
+ "scores": {
108
+ "default": {
109
+ "perf": 79,
110
+ "dx": 60,
111
+ "ecosystem": 50,
112
+ "maintain": 68,
113
+ "cost": 32,
114
+ "compliance": 79
115
+ },
116
+ "mvp": {
117
+ "perf": 76,
118
+ "dx": 65,
119
+ "ecosystem": 53,
120
+ "maintain": 68,
121
+ "cost": 32,
122
+ "compliance": 79
123
+ },
124
+ "enterprise": {
125
+ "perf": 79,
126
+ "dx": 60,
127
+ "ecosystem": 45,
128
+ "maintain": 73,
129
+ "cost": 37,
130
+ "compliance": 89
131
+ }
132
+ }
133
+ },
134
+ "neon": {
135
+ "id": "neon",
136
+ "name": "Neon",
137
+ "category": "database",
138
+ "url": "https://neon.tech",
139
+ "scores": {
140
+ "default": {
141
+ "perf": 85,
142
+ "dx": 97,
143
+ "ecosystem": 75,
144
+ "maintain": 48,
145
+ "cost": 88,
146
+ "compliance": 93
147
+ },
148
+ "mvp": {
149
+ "perf": 82,
150
+ "dx": 100,
151
+ "ecosystem": 78,
152
+ "maintain": 48,
153
+ "cost": 88,
154
+ "compliance": 93
155
+ },
156
+ "enterprise": {
157
+ "perf": 85,
158
+ "dx": 97,
159
+ "ecosystem": 70,
160
+ "maintain": 53,
161
+ "cost": 93,
162
+ "compliance": 100
163
+ }
164
+ }
165
+ },
166
+ "sveltekit": {
167
+ "id": "sveltekit",
168
+ "name": "SvelteKit",
169
+ "category": "meta-framework",
170
+ "url": "https://kit.svelte.dev",
171
+ "scores": {
172
+ "default": {
173
+ "perf": 54,
174
+ "dx": 96,
175
+ "ecosystem": 100,
176
+ "maintain": 73,
177
+ "cost": 90,
178
+ "compliance": 85
179
+ },
180
+ "mvp": {
181
+ "perf": 51,
182
+ "dx": 100,
183
+ "ecosystem": 100,
184
+ "maintain": 73,
185
+ "cost": 90,
186
+ "compliance": 85
187
+ },
188
+ "enterprise": {
189
+ "perf": 54,
190
+ "dx": 96,
191
+ "ecosystem": 95,
192
+ "maintain": 78,
193
+ "cost": 95,
194
+ "compliance": 95
195
+ }
196
+ }
197
+ },
198
+ "nextjs": {
199
+ "id": "nextjs",
200
+ "name": "Next.js",
201
+ "category": "meta-framework",
202
+ "url": "https://nextjs.org",
203
+ "scores": {
204
+ "default": {
205
+ "perf": 68,
206
+ "dx": 90,
207
+ "ecosystem": 100,
208
+ "maintain": 80,
209
+ "cost": 90,
210
+ "compliance": 85
211
+ },
212
+ "mvp": {
213
+ "perf": 65,
214
+ "dx": 95,
215
+ "ecosystem": 100,
216
+ "maintain": 80,
217
+ "cost": 90,
218
+ "compliance": 85
219
+ },
220
+ "enterprise": {
221
+ "perf": 68,
222
+ "dx": 90,
223
+ "ecosystem": 95,
224
+ "maintain": 85,
225
+ "cost": 95,
226
+ "compliance": 95
227
+ }
228
+ }
229
+ },
230
+ "nuxt": {
231
+ "id": "nuxt",
232
+ "name": "Nuxt",
233
+ "category": "meta-framework",
234
+ "url": "https://nuxt.com",
235
+ "scores": {
236
+ "default": {
237
+ "perf": 30,
238
+ "dx": 96,
239
+ "ecosystem": 100,
240
+ "maintain": 78,
241
+ "cost": 90,
242
+ "compliance": 85
243
+ },
244
+ "mvp": {
245
+ "perf": 27,
246
+ "dx": 100,
247
+ "ecosystem": 100,
248
+ "maintain": 78,
249
+ "cost": 90,
250
+ "compliance": 85
251
+ },
252
+ "enterprise": {
253
+ "perf": 30,
254
+ "dx": 96,
255
+ "ecosystem": 95,
256
+ "maintain": 83,
257
+ "cost": 95,
258
+ "compliance": 95
259
+ }
260
+ }
261
+ },
262
+ "remix": {
263
+ "id": "remix",
264
+ "name": "Remix",
265
+ "category": "meta-framework",
266
+ "url": "https://remix.run",
267
+ "scores": {
268
+ "default": {
269
+ "perf": 70,
270
+ "dx": 98,
271
+ "ecosystem": 100,
272
+ "maintain": 83,
273
+ "cost": 90,
274
+ "compliance": 85
275
+ },
276
+ "mvp": {
277
+ "perf": 67,
278
+ "dx": 100,
279
+ "ecosystem": 100,
280
+ "maintain": 83,
281
+ "cost": 90,
282
+ "compliance": 85
283
+ },
284
+ "enterprise": {
285
+ "perf": 70,
286
+ "dx": 98,
287
+ "ecosystem": 95,
288
+ "maintain": 88,
289
+ "cost": 95,
290
+ "compliance": 95
291
+ }
292
+ }
293
+ },
294
+ "astro": {
295
+ "id": "astro",
296
+ "name": "Astro",
297
+ "category": "meta-framework",
298
+ "url": "https://astro.build",
299
+ "scores": {
300
+ "default": {
301
+ "perf": 30,
302
+ "dx": 98,
303
+ "ecosystem": 100,
304
+ "maintain": 85,
305
+ "cost": 90,
306
+ "compliance": 85
307
+ },
308
+ "mvp": {
309
+ "perf": 27,
310
+ "dx": 100,
311
+ "ecosystem": 100,
312
+ "maintain": 85,
313
+ "cost": 90,
314
+ "compliance": 85
315
+ },
316
+ "enterprise": {
317
+ "perf": 30,
318
+ "dx": 98,
319
+ "ecosystem": 95,
320
+ "maintain": 90,
321
+ "cost": 95,
322
+ "compliance": 95
323
+ }
324
+ }
325
+ },
326
+ "react": {
327
+ "id": "react",
328
+ "name": "React",
329
+ "category": "frontend",
330
+ "url": "https://react.dev",
331
+ "scores": {
332
+ "default": {
333
+ "perf": 82,
334
+ "dx": 78,
335
+ "ecosystem": 100,
336
+ "maintain": 76,
337
+ "cost": 90,
338
+ "compliance": 85
339
+ },
340
+ "mvp": {
341
+ "perf": 79,
342
+ "dx": 83,
343
+ "ecosystem": 100,
344
+ "maintain": 76,
345
+ "cost": 90,
346
+ "compliance": 85
347
+ },
348
+ "enterprise": {
349
+ "perf": 82,
350
+ "dx": 78,
351
+ "ecosystem": 95,
352
+ "maintain": 81,
353
+ "cost": 95,
354
+ "compliance": 95
355
+ }
356
+ }
357
+ },
358
+ "vue": {
359
+ "id": "vue",
360
+ "name": "Vue",
361
+ "category": "frontend",
362
+ "url": "https://vuejs.org",
363
+ "scores": {
364
+ "default": {
365
+ "perf": 67,
366
+ "dx": 96,
367
+ "ecosystem": 100,
368
+ "maintain": 72,
369
+ "cost": 90,
370
+ "compliance": 85
371
+ },
372
+ "mvp": {
373
+ "perf": 64,
374
+ "dx": 100,
375
+ "ecosystem": 100,
376
+ "maintain": 72,
377
+ "cost": 90,
378
+ "compliance": 85
379
+ },
380
+ "enterprise": {
381
+ "perf": 67,
382
+ "dx": 96,
383
+ "ecosystem": 95,
384
+ "maintain": 77,
385
+ "cost": 95,
386
+ "compliance": 95
387
+ }
388
+ }
389
+ },
390
+ "svelte": {
391
+ "id": "svelte",
392
+ "name": "Svelte",
393
+ "category": "frontend",
394
+ "url": "https://svelte.dev",
395
+ "scores": {
396
+ "default": {
397
+ "perf": 81,
398
+ "dx": 99,
399
+ "ecosystem": 100,
400
+ "maintain": 76,
401
+ "cost": 90,
402
+ "compliance": 85
403
+ },
404
+ "mvp": {
405
+ "perf": 78,
406
+ "dx": 100,
407
+ "ecosystem": 100,
408
+ "maintain": 76,
409
+ "cost": 90,
410
+ "compliance": 85
411
+ },
412
+ "enterprise": {
413
+ "perf": 81,
414
+ "dx": 99,
415
+ "ecosystem": 95,
416
+ "maintain": 81,
417
+ "cost": 95,
418
+ "compliance": 95
419
+ }
420
+ }
421
+ },
422
+ "solid": {
423
+ "id": "solid",
424
+ "name": "Solid",
425
+ "category": "frontend",
426
+ "url": "https://solidjs.com",
427
+ "scores": {
428
+ "default": {
429
+ "perf": 98,
430
+ "dx": 52,
431
+ "ecosystem": 98,
432
+ "maintain": 42,
433
+ "cost": 90,
434
+ "compliance": 85
435
+ },
436
+ "mvp": {
437
+ "perf": 95,
438
+ "dx": 57,
439
+ "ecosystem": 100,
440
+ "maintain": 42,
441
+ "cost": 90,
442
+ "compliance": 85
443
+ },
444
+ "enterprise": {
445
+ "perf": 98,
446
+ "dx": 52,
447
+ "ecosystem": 93,
448
+ "maintain": 47,
449
+ "cost": 95,
450
+ "compliance": 95
451
+ }
452
+ }
453
+ },
454
+ "postgres": {
455
+ "id": "postgres",
456
+ "name": "PostgreSQL",
457
+ "category": "database",
458
+ "url": "https://postgresql.org",
459
+ "scores": {
460
+ "default": {
461
+ "perf": 84,
462
+ "dx": 67,
463
+ "ecosystem": 77,
464
+ "maintain": 88,
465
+ "cost": 100,
466
+ "compliance": 93
467
+ },
468
+ "mvp": {
469
+ "perf": 81,
470
+ "dx": 72,
471
+ "ecosystem": 80,
472
+ "maintain": 88,
473
+ "cost": 100,
474
+ "compliance": 93
475
+ },
476
+ "enterprise": {
477
+ "perf": 84,
478
+ "dx": 67,
479
+ "ecosystem": 72,
480
+ "maintain": 93,
481
+ "cost": 100,
482
+ "compliance": 100
483
+ }
484
+ }
485
+ },
486
+ "supabase": {
487
+ "id": "supabase",
488
+ "name": "Supabase",
489
+ "category": "database",
490
+ "url": "https://supabase.com",
491
+ "scores": {
492
+ "default": {
493
+ "perf": 91,
494
+ "dx": 97,
495
+ "ecosystem": 85,
496
+ "maintain": 81,
497
+ "cost": 83,
498
+ "compliance": 90
499
+ },
500
+ "mvp": {
501
+ "perf": 88,
502
+ "dx": 100,
503
+ "ecosystem": 88,
504
+ "maintain": 81,
505
+ "cost": 83,
506
+ "compliance": 90
507
+ },
508
+ "enterprise": {
509
+ "perf": 91,
510
+ "dx": 97,
511
+ "ecosystem": 80,
512
+ "maintain": 86,
513
+ "cost": 88,
514
+ "compliance": 100
515
+ }
516
+ }
517
+ },
518
+ "mysql": {
519
+ "id": "mysql",
520
+ "name": "MySQL",
521
+ "category": "database",
522
+ "url": "https://mysql.com",
523
+ "scores": {
524
+ "default": {
525
+ "perf": 82,
526
+ "dx": 64,
527
+ "ecosystem": 74,
528
+ "maintain": 88,
529
+ "cost": 100,
530
+ "compliance": 88
531
+ },
532
+ "mvp": {
533
+ "perf": 79,
534
+ "dx": 69,
535
+ "ecosystem": 77,
536
+ "maintain": 88,
537
+ "cost": 100,
538
+ "compliance": 88
539
+ },
540
+ "enterprise": {
541
+ "perf": 82,
542
+ "dx": 64,
543
+ "ecosystem": 69,
544
+ "maintain": 93,
545
+ "cost": 100,
546
+ "compliance": 98
547
+ }
548
+ }
549
+ },
550
+ "sqlite": {
551
+ "id": "sqlite",
552
+ "name": "SQLite",
553
+ "category": "database",
554
+ "url": "https://sqlite.org",
555
+ "scores": {
556
+ "default": {
557
+ "perf": 91,
558
+ "dx": 74,
559
+ "ecosystem": 88,
560
+ "maintain": 72,
561
+ "cost": 100,
562
+ "compliance": 78
563
+ },
564
+ "mvp": {
565
+ "perf": 88,
566
+ "dx": 79,
567
+ "ecosystem": 91,
568
+ "maintain": 72,
569
+ "cost": 100,
570
+ "compliance": 78
571
+ },
572
+ "enterprise": {
573
+ "perf": 91,
574
+ "dx": 74,
575
+ "ecosystem": 83,
576
+ "maintain": 77,
577
+ "cost": 100,
578
+ "compliance": 88
579
+ }
580
+ }
581
+ },
582
+ "mongodb": {
583
+ "id": "mongodb",
584
+ "name": "MongoDB",
585
+ "category": "database",
586
+ "url": "https://mongodb.com",
587
+ "scores": {
588
+ "default": {
589
+ "perf": 85,
590
+ "dx": 83,
591
+ "ecosystem": 88,
592
+ "maintain": 80,
593
+ "cost": 90,
594
+ "compliance": 87
595
+ },
596
+ "mvp": {
597
+ "perf": 82,
598
+ "dx": 88,
599
+ "ecosystem": 91,
600
+ "maintain": 80,
601
+ "cost": 90,
602
+ "compliance": 87
603
+ },
604
+ "enterprise": {
605
+ "perf": 85,
606
+ "dx": 83,
607
+ "ecosystem": 83,
608
+ "maintain": 85,
609
+ "cost": 95,
610
+ "compliance": 97
611
+ }
612
+ }
613
+ },
614
+ "drizzle": {
615
+ "id": "drizzle",
616
+ "name": "Drizzle ORM",
617
+ "category": "orm",
618
+ "url": "https://orm.drizzle.team",
619
+ "scores": {
620
+ "default": {
621
+ "perf": 92,
622
+ "dx": 80,
623
+ "ecosystem": 98,
624
+ "maintain": 54,
625
+ "cost": 90,
626
+ "compliance": 85
627
+ },
628
+ "mvp": {
629
+ "perf": 89,
630
+ "dx": 85,
631
+ "ecosystem": 100,
632
+ "maintain": 54,
633
+ "cost": 90,
634
+ "compliance": 85
635
+ },
636
+ "enterprise": {
637
+ "perf": 92,
638
+ "dx": 80,
639
+ "ecosystem": 93,
640
+ "maintain": 59,
641
+ "cost": 95,
642
+ "compliance": 95
643
+ }
644
+ }
645
+ },
646
+ "prisma": {
647
+ "id": "prisma",
648
+ "name": "Prisma",
649
+ "category": "orm",
650
+ "url": "https://prisma.io",
651
+ "scores": {
652
+ "default": {
653
+ "perf": 68,
654
+ "dx": 97,
655
+ "ecosystem": 100,
656
+ "maintain": 73,
657
+ "cost": 90,
658
+ "compliance": 85
659
+ },
660
+ "mvp": {
661
+ "perf": 65,
662
+ "dx": 100,
663
+ "ecosystem": 100,
664
+ "maintain": 73,
665
+ "cost": 90,
666
+ "compliance": 85
667
+ },
668
+ "enterprise": {
669
+ "perf": 68,
670
+ "dx": 97,
671
+ "ecosystem": 95,
672
+ "maintain": 78,
673
+ "cost": 95,
674
+ "compliance": 95
675
+ }
676
+ }
677
+ },
678
+ "kysely": {
679
+ "id": "kysely",
680
+ "name": "Kysely",
681
+ "category": "orm",
682
+ "url": "https://kysely.dev",
683
+ "scores": {
684
+ "default": {
685
+ "perf": 75,
686
+ "dx": 72,
687
+ "ecosystem": 95,
688
+ "maintain": 51,
689
+ "cost": 90,
690
+ "compliance": 85
691
+ },
692
+ "mvp": {
693
+ "perf": 72,
694
+ "dx": 77,
695
+ "ecosystem": 98,
696
+ "maintain": 51,
697
+ "cost": 90,
698
+ "compliance": 85
699
+ },
700
+ "enterprise": {
701
+ "perf": 75,
702
+ "dx": 72,
703
+ "ecosystem": 90,
704
+ "maintain": 56,
705
+ "cost": 95,
706
+ "compliance": 95
707
+ }
708
+ }
709
+ },
710
+ "lucia": {
711
+ "id": "lucia",
712
+ "name": "Lucia",
713
+ "category": "auth",
714
+ "url": "https://lucia-auth.com",
715
+ "scores": {
716
+ "default": {
717
+ "perf": 89,
718
+ "dx": 50,
719
+ "ecosystem": 93,
720
+ "maintain": 17,
721
+ "cost": 90,
722
+ "compliance": 85
723
+ },
724
+ "mvp": {
725
+ "perf": 86,
726
+ "dx": 55,
727
+ "ecosystem": 96,
728
+ "maintain": 17,
729
+ "cost": 90,
730
+ "compliance": 85
731
+ },
732
+ "enterprise": {
733
+ "perf": 89,
734
+ "dx": 50,
735
+ "ecosystem": 88,
736
+ "maintain": 22,
737
+ "cost": 95,
738
+ "compliance": 95
739
+ }
740
+ }
741
+ },
742
+ "authjs": {
743
+ "id": "authjs",
744
+ "name": "Auth.js",
745
+ "category": "auth",
746
+ "url": "https://authjs.dev",
747
+ "scores": {
748
+ "default": {
749
+ "perf": 57,
750
+ "dx": 62,
751
+ "ecosystem": 100,
752
+ "maintain": 45,
753
+ "cost": 90,
754
+ "compliance": 85
755
+ },
756
+ "mvp": {
757
+ "perf": 54,
758
+ "dx": 67,
759
+ "ecosystem": 100,
760
+ "maintain": 45,
761
+ "cost": 90,
762
+ "compliance": 85
763
+ },
764
+ "enterprise": {
765
+ "perf": 57,
766
+ "dx": 62,
767
+ "ecosystem": 95,
768
+ "maintain": 50,
769
+ "cost": 95,
770
+ "compliance": 95
771
+ }
772
+ }
773
+ },
774
+ "clerk": {
775
+ "id": "clerk",
776
+ "name": "Clerk",
777
+ "category": "auth",
778
+ "url": "https://clerk.com",
779
+ "scores": {
780
+ "default": {
781
+ "perf": 79,
782
+ "dx": 86,
783
+ "ecosystem": 66,
784
+ "maintain": 93,
785
+ "cost": 67,
786
+ "compliance": 92
787
+ },
788
+ "mvp": {
789
+ "perf": 76,
790
+ "dx": 91,
791
+ "ecosystem": 69,
792
+ "maintain": 93,
793
+ "cost": 67,
794
+ "compliance": 92
795
+ },
796
+ "enterprise": {
797
+ "perf": 79,
798
+ "dx": 86,
799
+ "ecosystem": 61,
800
+ "maintain": 98,
801
+ "cost": 72,
802
+ "compliance": 100
803
+ }
804
+ }
805
+ },
806
+ "vercel": {
807
+ "id": "vercel",
808
+ "name": "Vercel",
809
+ "category": "hosting",
810
+ "url": "https://vercel.com",
811
+ "scores": {
812
+ "default": {
813
+ "perf": 87,
814
+ "dx": 77,
815
+ "ecosystem": 65,
816
+ "maintain": 81,
817
+ "cost": 74,
818
+ "compliance": 92
819
+ },
820
+ "mvp": {
821
+ "perf": 84,
822
+ "dx": 82,
823
+ "ecosystem": 68,
824
+ "maintain": 81,
825
+ "cost": 74,
826
+ "compliance": 92
827
+ },
828
+ "enterprise": {
829
+ "perf": 87,
830
+ "dx": 77,
831
+ "ecosystem": 60,
832
+ "maintain": 86,
833
+ "cost": 79,
834
+ "compliance": 100
835
+ }
836
+ }
837
+ },
838
+ "cloudflare": {
839
+ "id": "cloudflare",
840
+ "name": "Cloudflare",
841
+ "category": "hosting",
842
+ "url": "https://cloudflare.com",
843
+ "scores": {
844
+ "default": {
845
+ "perf": 87,
846
+ "dx": 73,
847
+ "ecosystem": 68,
848
+ "maintain": 80,
849
+ "cost": 92,
850
+ "compliance": 96
851
+ },
852
+ "mvp": {
853
+ "perf": 84,
854
+ "dx": 78,
855
+ "ecosystem": 71,
856
+ "maintain": 80,
857
+ "cost": 92,
858
+ "compliance": 96
859
+ },
860
+ "enterprise": {
861
+ "perf": 87,
862
+ "dx": 73,
863
+ "ecosystem": 63,
864
+ "maintain": 85,
865
+ "cost": 97,
866
+ "compliance": 100
867
+ }
868
+ }
869
+ },
870
+ "railway": {
871
+ "id": "railway",
872
+ "name": "Railway",
873
+ "category": "hosting",
874
+ "url": "https://railway.app",
875
+ "scores": {
876
+ "default": {
877
+ "perf": 85,
878
+ "dx": 73,
879
+ "ecosystem": 45,
880
+ "maintain": 77,
881
+ "cost": 73,
882
+ "compliance": 82
883
+ },
884
+ "mvp": {
885
+ "perf": 82,
886
+ "dx": 78,
887
+ "ecosystem": 48,
888
+ "maintain": 77,
889
+ "cost": 73,
890
+ "compliance": 82
891
+ },
892
+ "enterprise": {
893
+ "perf": 85,
894
+ "dx": 73,
895
+ "ecosystem": 40,
896
+ "maintain": 82,
897
+ "cost": 78,
898
+ "compliance": 92
899
+ }
900
+ }
901
+ },
902
+ "fly": {
903
+ "id": "fly",
904
+ "name": "Fly.io",
905
+ "category": "hosting",
906
+ "url": "https://fly.io",
907
+ "scores": {
908
+ "default": {
909
+ "perf": 85,
910
+ "dx": 71,
911
+ "ecosystem": 43,
912
+ "maintain": 75,
913
+ "cost": 78,
914
+ "compliance": 81
915
+ },
916
+ "mvp": {
917
+ "perf": 82,
918
+ "dx": 76,
919
+ "ecosystem": 46,
920
+ "maintain": 75,
921
+ "cost": 78,
922
+ "compliance": 81
923
+ },
924
+ "enterprise": {
925
+ "perf": 85,
926
+ "dx": 71,
927
+ "ecosystem": 38,
928
+ "maintain": 80,
929
+ "cost": 83,
930
+ "compliance": 91
931
+ }
932
+ }
933
+ },
934
+ "nodejs": {
935
+ "id": "nodejs",
936
+ "name": "Node.js",
937
+ "category": "backend",
938
+ "url": "https://nodejs.org",
939
+ "scores": {
940
+ "default": {
941
+ "perf": 75,
942
+ "dx": 85,
943
+ "ecosystem": 98,
944
+ "maintain": 80,
945
+ "cost": 90,
946
+ "compliance": 88
947
+ },
948
+ "mvp": {
949
+ "perf": 70,
950
+ "dx": 85,
951
+ "ecosystem": 98,
952
+ "maintain": 78,
953
+ "cost": 95,
954
+ "compliance": 85
955
+ },
956
+ "enterprise": {
957
+ "perf": 78,
958
+ "dx": 85,
959
+ "ecosystem": 98,
960
+ "maintain": 82,
961
+ "cost": 85,
962
+ "compliance": 90
963
+ }
964
+ }
965
+ },
966
+ "bun": {
967
+ "id": "bun",
968
+ "name": "Bun",
969
+ "category": "backend",
970
+ "url": "https://bun.sh",
971
+ "scores": {
972
+ "default": {
973
+ "perf": 98,
974
+ "dx": 92,
975
+ "ecosystem": 60,
976
+ "maintain": 75,
977
+ "cost": 95,
978
+ "compliance": 80
979
+ },
980
+ "mvp": {
981
+ "perf": 98,
982
+ "dx": 95,
983
+ "ecosystem": 55,
984
+ "maintain": 72,
985
+ "cost": 98,
986
+ "compliance": 78
987
+ },
988
+ "enterprise": {
989
+ "perf": 98,
990
+ "dx": 88,
991
+ "ecosystem": 58,
992
+ "maintain": 70,
993
+ "cost": 90,
994
+ "compliance": 75
995
+ }
996
+ }
997
+ },
998
+ "better-auth": {
999
+ "id": "better-auth",
1000
+ "name": "Better Auth",
1001
+ "category": "auth",
1002
+ "url": "https://better-auth.com",
1003
+ "scores": {
1004
+ "default": {
1005
+ "perf": 90,
1006
+ "dx": 92,
1007
+ "ecosystem": 55,
1008
+ "maintain": 88,
1009
+ "cost": 98,
1010
+ "compliance": 85
1011
+ },
1012
+ "mvp": {
1013
+ "perf": 90,
1014
+ "dx": 95,
1015
+ "ecosystem": 50,
1016
+ "maintain": 88,
1017
+ "cost": 100,
1018
+ "compliance": 82
1019
+ },
1020
+ "enterprise": {
1021
+ "perf": 88,
1022
+ "dx": 88,
1023
+ "ecosystem": 55,
1024
+ "maintain": 85,
1025
+ "cost": 95,
1026
+ "compliance": 85
1027
+ }
1028
+ }
1029
+ }
1030
+ }
1031
+ }