@agents-inc/cli 0.79.0 → 0.80.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.
- package/CHANGELOG.md +12 -0
- package/README.md +2 -2
- package/dist/{chunk-XA7WF3BI.js → chunk-3C6AXGR7.js} +3 -3
- package/dist/{chunk-VDVLM3KB.js → chunk-3HWFTE3S.js} +8 -4
- package/dist/chunk-3HWFTE3S.js.map +1 -0
- package/dist/{chunk-7JQIMEUX.js → chunk-3SCIYMRK.js} +3 -3
- package/dist/{chunk-OOWNDQCG.js → chunk-3WDZKBCE.js} +6 -4
- package/dist/chunk-3WDZKBCE.js.map +1 -0
- package/dist/{chunk-FSK4TQX7.js → chunk-4R6I6A3U.js} +3225 -134
- package/dist/chunk-4R6I6A3U.js.map +1 -0
- package/dist/{chunk-MUCQ27HV.js → chunk-4R72372U.js} +2 -2
- package/dist/{chunk-Q755X6QF.js → chunk-4VFBRV76.js} +4 -4
- package/dist/{chunk-F4IZ3UAS.js → chunk-55AZIEK6.js} +4 -4
- package/dist/{chunk-XYPAOBBV.js → chunk-633YIZOU.js} +2 -2
- package/dist/{chunk-N2XGUAJU.js → chunk-6YJXWQCI.js} +2 -12
- package/dist/chunk-6YJXWQCI.js.map +1 -0
- package/dist/{chunk-32HX6UYI.js → chunk-BN73X3JN.js} +59 -2
- package/dist/chunk-BN73X3JN.js.map +1 -0
- package/dist/{chunk-B4C2S5LP.js → chunk-BORVYGIX.js} +17 -15
- package/dist/chunk-BORVYGIX.js.map +1 -0
- package/dist/{chunk-YFHVP3VA.js → chunk-F4VG5XWZ.js} +3 -3
- package/dist/{chunk-NKLNT7N7.js → chunk-H3NQGJMB.js} +2 -2
- package/dist/{chunk-QD3GQ2CH.js → chunk-II3ISVCE.js} +6 -5
- package/dist/chunk-II3ISVCE.js.map +1 -0
- package/dist/{chunk-FUWUCKES.js → chunk-LO4X32JC.js} +2 -2
- package/dist/{chunk-D4T3HHE7.js → chunk-MNJAF4K2.js} +2 -2
- package/dist/{chunk-KVRR4PEJ.js → chunk-NJCU7OC2.js} +5 -5
- package/dist/{chunk-U2KFFRRX.js → chunk-NZAJTLEK.js} +2 -2
- package/dist/{chunk-HANGA633.js → chunk-OBTC2FD7.js} +5 -5
- package/dist/chunk-OBTC2FD7.js.map +1 -0
- package/dist/{chunk-EO6KJI5D.js → chunk-PPBUSAKG.js} +913 -33
- package/dist/chunk-PPBUSAKG.js.map +1 -0
- package/dist/{chunk-OTMIGYBB.js → chunk-RTHAMTDE.js} +6 -6
- package/dist/{chunk-KQDGLEBF.js → chunk-TJXBRYM4.js} +10 -10
- package/dist/chunk-TJXBRYM4.js.map +1 -0
- package/dist/{chunk-7LBYURQR.js → chunk-TQ363UUH.js} +2 -2
- package/dist/{chunk-N34D3ROY.js → chunk-TXFQBYOX.js} +8 -5
- package/dist/chunk-TXFQBYOX.js.map +1 -0
- package/dist/{chunk-IFCASC6R.js → chunk-TZY7WNWO.js} +2 -2
- package/dist/{chunk-SJNUTUSJ.js → chunk-W6PIVGMH.js} +5 -5
- package/dist/{chunk-W46L2PXK.js → chunk-WZGROC5L.js} +2 -2
- package/dist/{chunk-OIHZ2YH3.js → chunk-XFL7EIM7.js} +7 -7
- package/dist/{chunk-7HGMFJ4Y.js → chunk-YDB5KXMG.js} +3 -3
- package/dist/commands/build/marketplace.js +4 -4
- package/dist/commands/build/plugins.js +8 -8
- package/dist/commands/build/stack.js +8 -8
- package/dist/commands/compile.js +8 -8
- package/dist/commands/config/index.js +8 -8
- package/dist/commands/config/path.js +7 -7
- package/dist/commands/config/show.js +8 -8
- package/dist/commands/diff.js +7 -7
- package/dist/commands/doctor.js +7 -7
- package/dist/commands/edit.js +23 -23
- package/dist/commands/eject.js +7 -7
- package/dist/commands/import/skill.js +7 -7
- package/dist/commands/info.js +7 -7
- package/dist/commands/init.js +23 -23
- package/dist/commands/list.js +7 -7
- package/dist/commands/new/agent.js +8 -8
- package/dist/commands/new/marketplace.js +9 -9
- package/dist/commands/new/skill.js +8 -8
- package/dist/commands/outdated.js +7 -7
- package/dist/commands/search.js +7 -7
- package/dist/commands/uninstall.js +7 -7
- package/dist/commands/update.js +8 -8
- package/dist/commands/validate.js +7 -7
- package/dist/components/wizard/category-grid.js +2 -2
- package/dist/components/wizard/category-grid.test.js +11 -11
- package/dist/components/wizard/domain-selection.js +9 -9
- package/dist/components/wizard/source-grid.js +2 -2
- package/dist/components/wizard/source-grid.test.js +11 -11
- package/dist/components/wizard/stack-selection.js +8 -8
- package/dist/components/wizard/step-agents.js +9 -9
- package/dist/components/wizard/step-agents.test.js +13 -13
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +9 -9
- package/dist/components/wizard/step-build.test.js +12 -12
- package/dist/components/wizard/step-confirm.js +4 -4
- package/dist/components/wizard/step-confirm.test.js +10 -10
- package/dist/components/wizard/step-settings.js +7 -7
- package/dist/components/wizard/step-settings.test.js +10 -10
- package/dist/components/wizard/step-sources.js +9 -9
- package/dist/components/wizard/step-sources.test.js +12 -12
- package/dist/components/wizard/step-stack.js +9 -12
- package/dist/components/wizard/step-stack.test.js +19 -111
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/wizard-layout.js +10 -10
- package/dist/components/wizard/wizard-tabs.js +1 -1
- package/dist/components/wizard/wizard-tabs.test.js +12 -23
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
- package/dist/components/wizard/wizard.js +21 -21
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +23 -23
- package/dist/{loader-JMOO2A7C.js → loader-LI3EM4VG.js} +4 -4
- package/dist/{source-loader-D3VIG3GM.js → source-loader-TPUCZELX.js} +7 -7
- package/dist/source-manager-PJ5APXX2.js +19 -0
- package/dist/src/agents/meta/agent-summoner/workflow.md +10 -10
- package/dist/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
- package/dist/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
- package/dist/src/agents/meta/convention-keeper/examples.md +71 -0
- package/dist/src/agents/meta/convention-keeper/intro.md +11 -0
- package/dist/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/dist/src/agents/meta/convention-keeper/output-format.md +134 -0
- package/dist/src/agents/meta/convention-keeper/workflow.md +258 -0
- package/dist/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
- package/{src/agents/meta/documentor → dist/src/agents/meta/scribe}/workflow.md +1 -1
- package/dist/src/agents/planning/web-pm/workflow.md +1 -1
- package/dist/stores/wizard-store.js +7 -7
- package/dist/stores/wizard-store.test.js +19 -13
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/meta/agent-summoner/workflow.md +10 -10
- package/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
- package/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
- package/src/agents/meta/convention-keeper/examples.md +71 -0
- package/src/agents/meta/convention-keeper/intro.md +11 -0
- package/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/src/agents/meta/convention-keeper/output-format.md +134 -0
- package/src/agents/meta/convention-keeper/workflow.md +258 -0
- package/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
- package/{dist/src/agents/meta/documentor → src/agents/meta/scribe}/workflow.md +1 -1
- package/src/agents/planning/web-pm/workflow.md +1 -1
- package/dist/chunk-32HX6UYI.js.map +0 -1
- package/dist/chunk-B4C2S5LP.js.map +0 -1
- package/dist/chunk-EO6KJI5D.js.map +0 -1
- package/dist/chunk-FSK4TQX7.js.map +0 -1
- package/dist/chunk-HANGA633.js.map +0 -1
- package/dist/chunk-KQDGLEBF.js.map +0 -1
- package/dist/chunk-N2XGUAJU.js.map +0 -1
- package/dist/chunk-N34D3ROY.js.map +0 -1
- package/dist/chunk-OOWNDQCG.js.map +0 -1
- package/dist/chunk-QD3GQ2CH.js.map +0 -1
- package/dist/chunk-VDVLM3KB.js.map +0 -1
- package/dist/source-manager-FPYFJRR7.js +0 -19
- /package/dist/{chunk-XA7WF3BI.js.map → chunk-3C6AXGR7.js.map} +0 -0
- /package/dist/{chunk-7JQIMEUX.js.map → chunk-3SCIYMRK.js.map} +0 -0
- /package/dist/{chunk-MUCQ27HV.js.map → chunk-4R72372U.js.map} +0 -0
- /package/dist/{chunk-Q755X6QF.js.map → chunk-4VFBRV76.js.map} +0 -0
- /package/dist/{chunk-F4IZ3UAS.js.map → chunk-55AZIEK6.js.map} +0 -0
- /package/dist/{chunk-XYPAOBBV.js.map → chunk-633YIZOU.js.map} +0 -0
- /package/dist/{chunk-YFHVP3VA.js.map → chunk-F4VG5XWZ.js.map} +0 -0
- /package/dist/{chunk-NKLNT7N7.js.map → chunk-H3NQGJMB.js.map} +0 -0
- /package/dist/{chunk-FUWUCKES.js.map → chunk-LO4X32JC.js.map} +0 -0
- /package/dist/{chunk-D4T3HHE7.js.map → chunk-MNJAF4K2.js.map} +0 -0
- /package/dist/{chunk-KVRR4PEJ.js.map → chunk-NJCU7OC2.js.map} +0 -0
- /package/dist/{chunk-U2KFFRRX.js.map → chunk-NZAJTLEK.js.map} +0 -0
- /package/dist/{chunk-OTMIGYBB.js.map → chunk-RTHAMTDE.js.map} +0 -0
- /package/dist/{chunk-7LBYURQR.js.map → chunk-TQ363UUH.js.map} +0 -0
- /package/dist/{chunk-IFCASC6R.js.map → chunk-TZY7WNWO.js.map} +0 -0
- /package/dist/{chunk-SJNUTUSJ.js.map → chunk-W6PIVGMH.js.map} +0 -0
- /package/dist/{chunk-W46L2PXK.js.map → chunk-WZGROC5L.js.map} +0 -0
- /package/dist/{chunk-OIHZ2YH3.js.map → chunk-XFL7EIM7.js.map} +0 -0
- /package/dist/{chunk-7HGMFJ4Y.js.map → chunk-YDB5KXMG.js.map} +0 -0
- /package/dist/{loader-JMOO2A7C.js.map → loader-LI3EM4VG.js.map} +0 -0
- /package/dist/{source-loader-D3VIG3GM.js.map → source-loader-TPUCZELX.js.map} +0 -0
- /package/dist/{source-manager-FPYFJRR7.js.map → source-manager-PJ5APXX2.js.map} +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/examples.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/intro.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/examples.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/intro.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
|
@@ -341,6 +341,42 @@ var BUILT_IN_MATRIX = {
|
|
|
341
341
|
required: true,
|
|
342
342
|
order: 1
|
|
343
343
|
},
|
|
344
|
+
"api-cms": {
|
|
345
|
+
id: "api-cms",
|
|
346
|
+
displayName: "Api Cms",
|
|
347
|
+
description: "Auto-generated category for api-cms",
|
|
348
|
+
domain: "api",
|
|
349
|
+
exclusive: false,
|
|
350
|
+
required: false,
|
|
351
|
+
order: 999
|
|
352
|
+
},
|
|
353
|
+
"api-framework": {
|
|
354
|
+
id: "api-framework",
|
|
355
|
+
displayName: "Api Framework",
|
|
356
|
+
description: "Auto-generated category for api-framework",
|
|
357
|
+
domain: "api",
|
|
358
|
+
exclusive: false,
|
|
359
|
+
required: false,
|
|
360
|
+
order: 999
|
|
361
|
+
},
|
|
362
|
+
"api-search": {
|
|
363
|
+
id: "api-search",
|
|
364
|
+
displayName: "Api Search",
|
|
365
|
+
description: "Auto-generated category for api-search",
|
|
366
|
+
domain: "api",
|
|
367
|
+
exclusive: false,
|
|
368
|
+
required: false,
|
|
369
|
+
order: 999
|
|
370
|
+
},
|
|
371
|
+
"api-vector-db": {
|
|
372
|
+
id: "api-vector-db",
|
|
373
|
+
displayName: "Api Vector Db",
|
|
374
|
+
description: "Auto-generated category for api-vector-db",
|
|
375
|
+
domain: "api",
|
|
376
|
+
exclusive: false,
|
|
377
|
+
required: false,
|
|
378
|
+
order: 999
|
|
379
|
+
},
|
|
344
380
|
"shared-infra": {
|
|
345
381
|
id: "shared-infra",
|
|
346
382
|
displayName: "Shared Infra",
|
|
@@ -349,6 +385,15 @@ var BUILT_IN_MATRIX = {
|
|
|
349
385
|
exclusive: false,
|
|
350
386
|
required: false,
|
|
351
387
|
order: 999
|
|
388
|
+
},
|
|
389
|
+
"api-commerce": {
|
|
390
|
+
id: "api-commerce",
|
|
391
|
+
displayName: "Api Commerce",
|
|
392
|
+
description: "Auto-generated category for api-commerce",
|
|
393
|
+
domain: "api",
|
|
394
|
+
exclusive: false,
|
|
395
|
+
required: false,
|
|
396
|
+
order: 999
|
|
352
397
|
}
|
|
353
398
|
},
|
|
354
399
|
skills: {
|
|
@@ -380,11 +425,21 @@ var BUILT_IN_MATRIX = {
|
|
|
380
425
|
usageGuidance: "Use when configuring Biome as an all-in-one linter, formatter, and import organizer \u2014 replacing ESLint and Prettier with a single fast tool.",
|
|
381
426
|
category: "shared-tooling",
|
|
382
427
|
author: "@vince",
|
|
383
|
-
conflictsWith: [
|
|
428
|
+
conflictsWith: [
|
|
429
|
+
{
|
|
430
|
+
skillId: "shared-tooling-eslint-prettier",
|
|
431
|
+
reason: "Linting and formatting tools are mutually exclusive"
|
|
432
|
+
}
|
|
433
|
+
],
|
|
384
434
|
discourages: [],
|
|
385
435
|
compatibleWith: [],
|
|
386
436
|
requires: [],
|
|
387
|
-
alternatives: [
|
|
437
|
+
alternatives: [
|
|
438
|
+
{
|
|
439
|
+
skillId: "shared-tooling-eslint-prettier",
|
|
440
|
+
purpose: "Linting / Formatting"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
388
443
|
isRecommended: false,
|
|
389
444
|
path: "skills/shared-tooling-biome"
|
|
390
445
|
},
|
|
@@ -404,6 +459,14 @@ var BUILT_IN_MATRIX = {
|
|
|
404
459
|
{
|
|
405
460
|
skillId: "api-framework-fastify",
|
|
406
461
|
reason: "API frameworks are mutually exclusive within a single service"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
skillId: "api-framework-elysia",
|
|
465
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
skillId: "api-framework-nestjs",
|
|
469
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
407
470
|
}
|
|
408
471
|
],
|
|
409
472
|
discourages: [
|
|
@@ -422,9 +485,18 @@ var BUILT_IN_MATRIX = {
|
|
|
422
485
|
{
|
|
423
486
|
skillId: "api-framework-fastify",
|
|
424
487
|
purpose: "API Framework"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
skillId: "api-framework-elysia",
|
|
491
|
+
purpose: "API Framework"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
skillId: "api-framework-nestjs",
|
|
495
|
+
purpose: "API Framework"
|
|
425
496
|
}
|
|
426
497
|
],
|
|
427
|
-
isRecommended:
|
|
498
|
+
isRecommended: true,
|
|
499
|
+
recommendedReason: "Fast, lightweight API framework with edge support",
|
|
428
500
|
path: "skills/api-framework-hono"
|
|
429
501
|
},
|
|
430
502
|
"api-database-mongodb": {
|
|
@@ -437,27 +509,14 @@ var BUILT_IN_MATRIX = {
|
|
|
437
509
|
author: "@vince",
|
|
438
510
|
conflictsWith: [
|
|
439
511
|
{
|
|
440
|
-
skillId: "api-database-
|
|
441
|
-
reason: "
|
|
442
|
-
},
|
|
443
|
-
{
|
|
444
|
-
skillId: "api-database-prisma",
|
|
445
|
-
reason: "Database ORMs/ODMs are mutually exclusive"
|
|
512
|
+
skillId: "api-database-mongoose",
|
|
513
|
+
reason: "Raw MongoDB driver and Mongoose ODM are alternative approaches"
|
|
446
514
|
}
|
|
447
515
|
],
|
|
448
516
|
discourages: [],
|
|
449
517
|
compatibleWith: [],
|
|
450
518
|
requires: [],
|
|
451
|
-
alternatives: [
|
|
452
|
-
{
|
|
453
|
-
skillId: "api-database-drizzle",
|
|
454
|
-
purpose: "Database ORM / ODM"
|
|
455
|
-
},
|
|
456
|
-
{
|
|
457
|
-
skillId: "api-database-prisma",
|
|
458
|
-
purpose: "Database ORM / ODM"
|
|
459
|
-
}
|
|
460
|
-
],
|
|
519
|
+
alternatives: [],
|
|
461
520
|
isRecommended: false,
|
|
462
521
|
path: "skills/api-database-mongodb"
|
|
463
522
|
},
|
|
@@ -530,7 +589,18 @@ var BUILT_IN_MATRIX = {
|
|
|
530
589
|
"web-framework-angular-standalone",
|
|
531
590
|
"web-meta-framework-nuxt",
|
|
532
591
|
"web-data-fetching-graphql-urql",
|
|
533
|
-
"web-framework-solidjs"
|
|
592
|
+
"web-framework-solidjs",
|
|
593
|
+
"web-routing-react-router",
|
|
594
|
+
"web-ui-chakra-ui",
|
|
595
|
+
"web-ui-mantine",
|
|
596
|
+
"web-ui-mui",
|
|
597
|
+
"web-ui-ant-design",
|
|
598
|
+
"web-ui-headless-ui",
|
|
599
|
+
"mobile-framework-expo",
|
|
600
|
+
"mobile-framework-react-native",
|
|
601
|
+
"web-tooling-storybook",
|
|
602
|
+
"web-framework-svelte",
|
|
603
|
+
"web-meta-framework-sveltekit"
|
|
534
604
|
],
|
|
535
605
|
requires: [],
|
|
536
606
|
alternatives: [
|
|
@@ -554,6 +624,106 @@ var BUILT_IN_MATRIX = {
|
|
|
554
624
|
isRecommended: false,
|
|
555
625
|
path: "skills/web-framework-react"
|
|
556
626
|
},
|
|
627
|
+
"api-database-typeorm": {
|
|
628
|
+
id: "api-database-typeorm",
|
|
629
|
+
slug: "typeorm",
|
|
630
|
+
displayName: "TypeORM",
|
|
631
|
+
description: "Decorator-based TypeScript ORM with Data Mapper patterns",
|
|
632
|
+
usageGuidance: "Use when building TypeScript applications with relational databases \u2014 entity decorators, repository pattern, migrations, relations, query builder, and transaction management.",
|
|
633
|
+
category: "api-database",
|
|
634
|
+
author: "@vince",
|
|
635
|
+
conflictsWith: [
|
|
636
|
+
{
|
|
637
|
+
skillId: "api-database-drizzle",
|
|
638
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
skillId: "api-database-prisma",
|
|
642
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
skillId: "api-database-sequelize",
|
|
646
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
647
|
+
}
|
|
648
|
+
],
|
|
649
|
+
discourages: [
|
|
650
|
+
{
|
|
651
|
+
skillId: "api-database-drizzle",
|
|
652
|
+
reason: "TypeORM uses decorators; Drizzle is more TypeScript-native"
|
|
653
|
+
}
|
|
654
|
+
],
|
|
655
|
+
compatibleWith: [],
|
|
656
|
+
requires: [],
|
|
657
|
+
alternatives: [
|
|
658
|
+
{
|
|
659
|
+
skillId: "api-database-drizzle",
|
|
660
|
+
purpose: "Database ORM / ODM"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
skillId: "api-database-prisma",
|
|
664
|
+
purpose: "Database ORM / ODM"
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
skillId: "api-database-sequelize",
|
|
668
|
+
purpose: "Database ORM / ODM"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
skillId: "api-database-mongoose",
|
|
672
|
+
purpose: "Database ORM / ODM"
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
isRecommended: false,
|
|
676
|
+
path: "skills/api-database-typeorm"
|
|
677
|
+
},
|
|
678
|
+
"api-ai-replicate": {
|
|
679
|
+
id: "api-ai-replicate",
|
|
680
|
+
slug: "replicate",
|
|
681
|
+
displayName: "Replicate",
|
|
682
|
+
description: "API for running open-source ML models with serverless GPU inference",
|
|
683
|
+
usageGuidance: "Use when running open-source models on Replicate \u2014 model predictions, streaming, webhooks, file handling, model versioning, and serverless GPU deployment.",
|
|
684
|
+
category: "api-ai",
|
|
685
|
+
author: "@vince",
|
|
686
|
+
conflictsWith: [],
|
|
687
|
+
discourages: [],
|
|
688
|
+
compatibleWith: [],
|
|
689
|
+
requires: [],
|
|
690
|
+
alternatives: [
|
|
691
|
+
{
|
|
692
|
+
skillId: "api-ai-anthropic-sdk",
|
|
693
|
+
purpose: "AI Provider SDK"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
skillId: "api-ai-openai-sdk",
|
|
697
|
+
purpose: "AI Provider SDK"
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
701
|
+
purpose: "AI Provider SDK"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
skillId: "api-ai-mistral-sdk",
|
|
705
|
+
purpose: "AI Provider SDK"
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
skillId: "api-ai-cohere-sdk",
|
|
709
|
+
purpose: "AI Provider SDK"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
skillId: "api-ai-together-ai",
|
|
713
|
+
purpose: "AI Provider SDK"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
skillId: "api-ai-huggingface-inference",
|
|
717
|
+
purpose: "AI Provider SDK"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
skillId: "api-ai-ollama",
|
|
721
|
+
purpose: "AI Provider SDK"
|
|
722
|
+
}
|
|
723
|
+
],
|
|
724
|
+
isRecommended: false,
|
|
725
|
+
path: "skills/api-ai-replicate"
|
|
726
|
+
},
|
|
557
727
|
"api-database-prisma": {
|
|
558
728
|
id: "api-database-prisma",
|
|
559
729
|
slug: "prisma",
|
|
@@ -565,11 +735,15 @@ var BUILT_IN_MATRIX = {
|
|
|
565
735
|
conflictsWith: [
|
|
566
736
|
{
|
|
567
737
|
skillId: "api-database-drizzle",
|
|
568
|
-
reason: "
|
|
738
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
569
739
|
},
|
|
570
740
|
{
|
|
571
|
-
skillId: "api-database-
|
|
572
|
-
reason: "
|
|
741
|
+
skillId: "api-database-sequelize",
|
|
742
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
skillId: "api-database-typeorm",
|
|
746
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
573
747
|
}
|
|
574
748
|
],
|
|
575
749
|
discourages: [],
|
|
@@ -581,7 +755,15 @@ var BUILT_IN_MATRIX = {
|
|
|
581
755
|
purpose: "Database ORM / ODM"
|
|
582
756
|
},
|
|
583
757
|
{
|
|
584
|
-
skillId: "api-database-
|
|
758
|
+
skillId: "api-database-sequelize",
|
|
759
|
+
purpose: "Database ORM / ODM"
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
skillId: "api-database-typeorm",
|
|
763
|
+
purpose: "Database ORM / ODM"
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
skillId: "api-database-mongoose",
|
|
585
767
|
purpose: "Database ORM / ODM"
|
|
586
768
|
}
|
|
587
769
|
],
|
|
@@ -589,6 +771,56 @@ var BUILT_IN_MATRIX = {
|
|
|
589
771
|
recommendedReason: "Mature database ORM with great DX",
|
|
590
772
|
path: "skills/api-database-prisma"
|
|
591
773
|
},
|
|
774
|
+
"api-ai-anthropic-sdk": {
|
|
775
|
+
id: "api-ai-anthropic-sdk",
|
|
776
|
+
slug: "anthropic-sdk",
|
|
777
|
+
displayName: "Anthropic SDK",
|
|
778
|
+
description: "Official TypeScript SDK for Claude API with messages, streaming, tool use, and vision",
|
|
779
|
+
usageGuidance: "Use when integrating Claude via the Anthropic API \u2014 messages API, streaming responses, tool use (function calling), vision (image input), extended thinking, batch API, and prompt caching.",
|
|
780
|
+
category: "api-ai",
|
|
781
|
+
author: "@vince",
|
|
782
|
+
conflictsWith: [],
|
|
783
|
+
discourages: [],
|
|
784
|
+
compatibleWith: [],
|
|
785
|
+
requires: [],
|
|
786
|
+
alternatives: [
|
|
787
|
+
{
|
|
788
|
+
skillId: "api-ai-openai-sdk",
|
|
789
|
+
purpose: "AI Provider SDK"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
793
|
+
purpose: "AI Provider SDK"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
skillId: "api-ai-mistral-sdk",
|
|
797
|
+
purpose: "AI Provider SDK"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
skillId: "api-ai-cohere-sdk",
|
|
801
|
+
purpose: "AI Provider SDK"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
skillId: "api-ai-together-ai",
|
|
805
|
+
purpose: "AI Provider SDK"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
skillId: "api-ai-replicate",
|
|
809
|
+
purpose: "AI Provider SDK"
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
skillId: "api-ai-huggingface-inference",
|
|
813
|
+
purpose: "AI Provider SDK"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
skillId: "api-ai-ollama",
|
|
817
|
+
purpose: "AI Provider SDK"
|
|
818
|
+
}
|
|
819
|
+
],
|
|
820
|
+
isRecommended: true,
|
|
821
|
+
recommendedReason: "Direct Claude API access with tool use and vision",
|
|
822
|
+
path: "skills/api-ai-anthropic-sdk"
|
|
823
|
+
},
|
|
592
824
|
"shared-ci-cd-github-actions": {
|
|
593
825
|
id: "shared-ci-cd-github-actions",
|
|
594
826
|
slug: "github-actions",
|
|
@@ -642,6 +874,22 @@ var BUILT_IN_MATRIX = {
|
|
|
642
874
|
recommendedReason: "Type-safe validation for forms and APIs",
|
|
643
875
|
path: "skills/web-forms-zod-validation"
|
|
644
876
|
},
|
|
877
|
+
"web-utilities-rxjs": {
|
|
878
|
+
id: "web-utilities-rxjs",
|
|
879
|
+
slug: "rxjs",
|
|
880
|
+
displayName: "RxJS",
|
|
881
|
+
description: "Reactive programming with Observables, operators, and async stream composition",
|
|
882
|
+
usageGuidance: "Use when handling complex async flows with RxJS \u2014 Observables, operators (map, filter, switchMap, mergeMap), Subjects, error handling, unsubscription, and reactive patterns for event streams and HTTP requests.",
|
|
883
|
+
category: "web-utilities",
|
|
884
|
+
author: "@vince",
|
|
885
|
+
conflictsWith: [],
|
|
886
|
+
discourages: [],
|
|
887
|
+
compatibleWith: [],
|
|
888
|
+
requires: [],
|
|
889
|
+
alternatives: [],
|
|
890
|
+
isRecommended: false,
|
|
891
|
+
path: "skills/web-utilities-rxjs"
|
|
892
|
+
},
|
|
645
893
|
"web-ui-headless-ui": {
|
|
646
894
|
id: "web-ui-headless-ui",
|
|
647
895
|
slug: "headless-ui",
|
|
@@ -652,11 +900,128 @@ var BUILT_IN_MATRIX = {
|
|
|
652
900
|
author: "@vince",
|
|
653
901
|
conflictsWith: [],
|
|
654
902
|
discourages: [],
|
|
903
|
+
compatibleWith: [
|
|
904
|
+
"web-framework-react",
|
|
905
|
+
"web-framework-vue-composition-api",
|
|
906
|
+
"web-meta-framework-nextjs",
|
|
907
|
+
"web-meta-framework-remix",
|
|
908
|
+
"web-meta-framework-nuxt"
|
|
909
|
+
],
|
|
910
|
+
requires: [
|
|
911
|
+
{
|
|
912
|
+
skillIds: [
|
|
913
|
+
"web-framework-react",
|
|
914
|
+
"web-framework-vue-composition-api",
|
|
915
|
+
"web-meta-framework-nextjs",
|
|
916
|
+
"web-meta-framework-remix",
|
|
917
|
+
"web-meta-framework-nuxt"
|
|
918
|
+
],
|
|
919
|
+
needsAny: true,
|
|
920
|
+
reason: "Headless UI supports React and Vue"
|
|
921
|
+
}
|
|
922
|
+
],
|
|
923
|
+
alternatives: [],
|
|
924
|
+
isRecommended: false,
|
|
925
|
+
path: "skills/web-ui-headless-ui"
|
|
926
|
+
},
|
|
927
|
+
"api-cms-payload": {
|
|
928
|
+
id: "api-cms-payload",
|
|
929
|
+
slug: "payload",
|
|
930
|
+
displayName: "Payload CMS",
|
|
931
|
+
description: "TypeScript-native headless CMS with code-first schema and built-in admin panel",
|
|
932
|
+
usageGuidance: "Use when building content-managed applications with Payload \u2014 collection configs, field types, hooks, access control, REST/GraphQL/Local API, admin panel customization, and database adapter pattern.",
|
|
933
|
+
category: "api-cms",
|
|
934
|
+
author: "@vince",
|
|
935
|
+
conflictsWith: [
|
|
936
|
+
{
|
|
937
|
+
skillId: "api-cms-sanity",
|
|
938
|
+
reason: "CMS platforms are mutually exclusive"
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
skillId: "api-cms-strapi",
|
|
942
|
+
reason: "CMS platforms are mutually exclusive"
|
|
943
|
+
}
|
|
944
|
+
],
|
|
945
|
+
discourages: [],
|
|
946
|
+
compatibleWith: [],
|
|
947
|
+
requires: [],
|
|
948
|
+
alternatives: [
|
|
949
|
+
{
|
|
950
|
+
skillId: "api-cms-sanity",
|
|
951
|
+
purpose: "CMS"
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
skillId: "api-cms-strapi",
|
|
955
|
+
purpose: "CMS"
|
|
956
|
+
}
|
|
957
|
+
],
|
|
958
|
+
isRecommended: false,
|
|
959
|
+
path: "skills/api-cms-payload"
|
|
960
|
+
},
|
|
961
|
+
"api-database-mysql": {
|
|
962
|
+
id: "api-database-mysql",
|
|
963
|
+
slug: "mysql",
|
|
964
|
+
displayName: "MySQL",
|
|
965
|
+
description: "Direct MySQL database access with mysql2 driver",
|
|
966
|
+
usageGuidance: "Use when interacting directly with MySQL -- connection pools, prepared statements, transactions, streaming, and promise-based API with mysql2.",
|
|
967
|
+
category: "api-database",
|
|
968
|
+
author: "@vince",
|
|
969
|
+
conflictsWith: [],
|
|
970
|
+
discourages: [],
|
|
655
971
|
compatibleWith: [],
|
|
656
972
|
requires: [],
|
|
657
973
|
alternatives: [],
|
|
658
974
|
isRecommended: false,
|
|
659
|
-
path: "skills/
|
|
975
|
+
path: "skills/api-database-mysql"
|
|
976
|
+
},
|
|
977
|
+
"api-ai-cohere-sdk": {
|
|
978
|
+
id: "api-ai-cohere-sdk",
|
|
979
|
+
slug: "cohere-sdk",
|
|
980
|
+
displayName: "Cohere SDK",
|
|
981
|
+
description: "Official TypeScript SDK for Cohere with chat, embeddings, rerank, and RAG",
|
|
982
|
+
usageGuidance: "Use when integrating Cohere AI -- chat completions with Command models, embeddings for semantic search, rerank for relevance scoring, RAG with inline documents and citations, tool use / function calling, and streaming.",
|
|
983
|
+
category: "api-ai",
|
|
984
|
+
author: "@vince",
|
|
985
|
+
conflictsWith: [],
|
|
986
|
+
discourages: [],
|
|
987
|
+
compatibleWith: [],
|
|
988
|
+
requires: [],
|
|
989
|
+
alternatives: [
|
|
990
|
+
{
|
|
991
|
+
skillId: "api-ai-anthropic-sdk",
|
|
992
|
+
purpose: "AI Provider SDK"
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
skillId: "api-ai-openai-sdk",
|
|
996
|
+
purpose: "AI Provider SDK"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
1000
|
+
purpose: "AI Provider SDK"
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
skillId: "api-ai-mistral-sdk",
|
|
1004
|
+
purpose: "AI Provider SDK"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
skillId: "api-ai-together-ai",
|
|
1008
|
+
purpose: "AI Provider SDK"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
skillId: "api-ai-replicate",
|
|
1012
|
+
purpose: "AI Provider SDK"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
skillId: "api-ai-huggingface-inference",
|
|
1016
|
+
purpose: "AI Provider SDK"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
skillId: "api-ai-ollama",
|
|
1020
|
+
purpose: "AI Provider SDK"
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
isRecommended: false,
|
|
1024
|
+
path: "skills/api-ai-cohere-sdk"
|
|
660
1025
|
},
|
|
661
1026
|
"cli-framework-cli-commander": {
|
|
662
1027
|
id: "cli-framework-cli-commander",
|
|
@@ -718,7 +1083,10 @@ var BUILT_IN_MATRIX = {
|
|
|
718
1083
|
"web-framework-vue-composition-api",
|
|
719
1084
|
"web-meta-framework-nextjs",
|
|
720
1085
|
"web-meta-framework-remix",
|
|
721
|
-
"web-meta-framework-nuxt"
|
|
1086
|
+
"web-meta-framework-nuxt",
|
|
1087
|
+
"web-tooling-storybook",
|
|
1088
|
+
"web-framework-svelte",
|
|
1089
|
+
"web-meta-framework-sveltekit"
|
|
722
1090
|
],
|
|
723
1091
|
requires: [],
|
|
724
1092
|
alternatives: [
|
|
@@ -800,16 +1168,64 @@ var BUILT_IN_MATRIX = {
|
|
|
800
1168
|
author: "@vince",
|
|
801
1169
|
conflictsWith: [],
|
|
802
1170
|
discourages: [],
|
|
803
|
-
compatibleWith: [],
|
|
804
|
-
requires: [
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
1171
|
+
compatibleWith: ["web-framework-react", "mobile-framework-react-native"],
|
|
1172
|
+
requires: [
|
|
1173
|
+
{
|
|
1174
|
+
skillIds: ["mobile-framework-react-native"],
|
|
1175
|
+
needsAny: false,
|
|
1176
|
+
reason: "Expo is a React Native framework"
|
|
1177
|
+
}
|
|
1178
|
+
],
|
|
1179
|
+
alternatives: [
|
|
1180
|
+
{
|
|
1181
|
+
skillId: "mobile-framework-react-native",
|
|
1182
|
+
purpose: "Mobile"
|
|
1183
|
+
}
|
|
1184
|
+
],
|
|
1185
|
+
isRecommended: true,
|
|
1186
|
+
recommendedReason: "Best-in-class React Native development experience",
|
|
1187
|
+
path: "skills/mobile-framework-expo"
|
|
1188
|
+
},
|
|
1189
|
+
"web-routing-react-router": {
|
|
1190
|
+
id: "web-routing-react-router",
|
|
1191
|
+
slug: "react-router",
|
|
1192
|
+
displayName: "React Router",
|
|
1193
|
+
description: "Client-side and server-side routing for React applications",
|
|
1194
|
+
usageGuidance: "Use when building React apps with client-side routing \u2014 nested routes, loaders, actions, error boundaries, lazy loading, and URL-based state.",
|
|
1195
|
+
category: "web-routing",
|
|
1196
|
+
author: "@vince",
|
|
1197
|
+
conflictsWith: [
|
|
1198
|
+
{
|
|
1199
|
+
skillId: "web-routing-tanstack-router",
|
|
1200
|
+
reason: "React client-side routers are mutually exclusive"
|
|
1201
|
+
}
|
|
1202
|
+
],
|
|
1203
|
+
discourages: [],
|
|
1204
|
+
compatibleWith: ["web-framework-react", "web-meta-framework-remix"],
|
|
1205
|
+
requires: [
|
|
1206
|
+
{
|
|
1207
|
+
skillIds: [
|
|
1208
|
+
"web-framework-react",
|
|
1209
|
+
"web-meta-framework-nextjs",
|
|
1210
|
+
"web-meta-framework-remix"
|
|
1211
|
+
],
|
|
1212
|
+
needsAny: true,
|
|
1213
|
+
reason: "React Router is a React routing library"
|
|
1214
|
+
}
|
|
1215
|
+
],
|
|
1216
|
+
alternatives: [
|
|
1217
|
+
{
|
|
1218
|
+
skillId: "web-routing-tanstack-router",
|
|
1219
|
+
purpose: "Routing (React)"
|
|
1220
|
+
}
|
|
1221
|
+
],
|
|
1222
|
+
isRecommended: false,
|
|
1223
|
+
path: "skills/web-routing-react-router"
|
|
1224
|
+
},
|
|
1225
|
+
"web-state-jotai": {
|
|
1226
|
+
id: "web-state-jotai",
|
|
1227
|
+
slug: "jotai",
|
|
1228
|
+
displayName: "Jotai",
|
|
813
1229
|
description: "Atomic client state",
|
|
814
1230
|
usageGuidance: "Use when managing atomic state with bottom-up composition.",
|
|
815
1231
|
category: "web-client-state",
|
|
@@ -839,6 +1255,89 @@ var BUILT_IN_MATRIX = {
|
|
|
839
1255
|
isRecommended: false,
|
|
840
1256
|
path: "skills/web-state-jotai"
|
|
841
1257
|
},
|
|
1258
|
+
"api-ai-huggingface-inference": {
|
|
1259
|
+
id: "api-ai-huggingface-inference",
|
|
1260
|
+
slug: "huggingface-inference",
|
|
1261
|
+
displayName: "Hugging Face Inference",
|
|
1262
|
+
description: "Access 200k+ models via Hugging Face Inference API and Inference Endpoints",
|
|
1263
|
+
usageGuidance: "Use when accessing ML models via Hugging Face \u2014 text generation, chat completion, embeddings, image generation, audio transcription, translation, summarization, and custom Inference Endpoints for dedicated deployments.",
|
|
1264
|
+
category: "api-ai",
|
|
1265
|
+
author: "@vince",
|
|
1266
|
+
conflictsWith: [],
|
|
1267
|
+
discourages: [],
|
|
1268
|
+
compatibleWith: [],
|
|
1269
|
+
requires: [],
|
|
1270
|
+
alternatives: [
|
|
1271
|
+
{
|
|
1272
|
+
skillId: "api-ai-anthropic-sdk",
|
|
1273
|
+
purpose: "AI Provider SDK"
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
skillId: "api-ai-openai-sdk",
|
|
1277
|
+
purpose: "AI Provider SDK"
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
1281
|
+
purpose: "AI Provider SDK"
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
skillId: "api-ai-mistral-sdk",
|
|
1285
|
+
purpose: "AI Provider SDK"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
skillId: "api-ai-cohere-sdk",
|
|
1289
|
+
purpose: "AI Provider SDK"
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
skillId: "api-ai-together-ai",
|
|
1293
|
+
purpose: "AI Provider SDK"
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
skillId: "api-ai-replicate",
|
|
1297
|
+
purpose: "AI Provider SDK"
|
|
1298
|
+
},
|
|
1299
|
+
{
|
|
1300
|
+
skillId: "api-ai-ollama",
|
|
1301
|
+
purpose: "AI Provider SDK"
|
|
1302
|
+
}
|
|
1303
|
+
],
|
|
1304
|
+
isRecommended: false,
|
|
1305
|
+
path: "skills/api-ai-huggingface-inference"
|
|
1306
|
+
},
|
|
1307
|
+
"api-cms-sanity": {
|
|
1308
|
+
id: "api-cms-sanity",
|
|
1309
|
+
slug: "sanity",
|
|
1310
|
+
displayName: "Sanity",
|
|
1311
|
+
description: "Structured content platform with GROQ query language and real-time collaboration",
|
|
1312
|
+
usageGuidance: "Use when building content-managed applications with Sanity \u2014 schema definitions, GROQ queries, @sanity/client for data fetching, image handling with @sanity/image-url, Portable Text for rich text, and Sanity Studio customization.",
|
|
1313
|
+
category: "api-cms",
|
|
1314
|
+
author: "@vince",
|
|
1315
|
+
conflictsWith: [
|
|
1316
|
+
{
|
|
1317
|
+
skillId: "api-cms-payload",
|
|
1318
|
+
reason: "CMS platforms are mutually exclusive"
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
skillId: "api-cms-strapi",
|
|
1322
|
+
reason: "CMS platforms are mutually exclusive"
|
|
1323
|
+
}
|
|
1324
|
+
],
|
|
1325
|
+
discourages: [],
|
|
1326
|
+
compatibleWith: [],
|
|
1327
|
+
requires: [],
|
|
1328
|
+
alternatives: [
|
|
1329
|
+
{
|
|
1330
|
+
skillId: "api-cms-payload",
|
|
1331
|
+
purpose: "CMS"
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
skillId: "api-cms-strapi",
|
|
1335
|
+
purpose: "CMS"
|
|
1336
|
+
}
|
|
1337
|
+
],
|
|
1338
|
+
isRecommended: false,
|
|
1339
|
+
path: "skills/api-cms-sanity"
|
|
1340
|
+
},
|
|
842
1341
|
"api-observability-setup-axiom-pino-sentry": {
|
|
843
1342
|
id: "api-observability-setup-axiom-pino-sentry",
|
|
844
1343
|
slug: "setup-axiom-pino-sentry",
|
|
@@ -855,6 +1354,55 @@ var BUILT_IN_MATRIX = {
|
|
|
855
1354
|
isRecommended: false,
|
|
856
1355
|
path: "skills/api-observability-setup-axiom-pino-sentry"
|
|
857
1356
|
},
|
|
1357
|
+
"api-ai-mistral-sdk": {
|
|
1358
|
+
id: "api-ai-mistral-sdk",
|
|
1359
|
+
slug: "mistral-sdk",
|
|
1360
|
+
displayName: "Mistral SDK",
|
|
1361
|
+
description: "Official TypeScript SDK for Mistral AI with chat, embeddings, function calling, and code generation",
|
|
1362
|
+
usageGuidance: "Use when integrating Mistral AI models \u2014 chat completions, streaming, function calling, embeddings, JSON mode, structured outputs with Zod, vision with Pixtral, and Codestral for code generation / FIM.",
|
|
1363
|
+
category: "api-ai",
|
|
1364
|
+
author: "@vince",
|
|
1365
|
+
conflictsWith: [],
|
|
1366
|
+
discourages: [],
|
|
1367
|
+
compatibleWith: [],
|
|
1368
|
+
requires: [],
|
|
1369
|
+
alternatives: [
|
|
1370
|
+
{
|
|
1371
|
+
skillId: "api-ai-anthropic-sdk",
|
|
1372
|
+
purpose: "AI Provider SDK"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
skillId: "api-ai-openai-sdk",
|
|
1376
|
+
purpose: "AI Provider SDK"
|
|
1377
|
+
},
|
|
1378
|
+
{
|
|
1379
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
1380
|
+
purpose: "AI Provider SDK"
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
skillId: "api-ai-cohere-sdk",
|
|
1384
|
+
purpose: "AI Provider SDK"
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
skillId: "api-ai-together-ai",
|
|
1388
|
+
purpose: "AI Provider SDK"
|
|
1389
|
+
},
|
|
1390
|
+
{
|
|
1391
|
+
skillId: "api-ai-replicate",
|
|
1392
|
+
purpose: "AI Provider SDK"
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
skillId: "api-ai-huggingface-inference",
|
|
1396
|
+
purpose: "AI Provider SDK"
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
skillId: "api-ai-ollama",
|
|
1400
|
+
purpose: "AI Provider SDK"
|
|
1401
|
+
}
|
|
1402
|
+
],
|
|
1403
|
+
isRecommended: false,
|
|
1404
|
+
path: "skills/api-ai-mistral-sdk"
|
|
1405
|
+
},
|
|
858
1406
|
"shared-meta-research-methodology": {
|
|
859
1407
|
id: "shared-meta-research-methodology",
|
|
860
1408
|
slug: "research-methodology",
|
|
@@ -883,7 +1431,16 @@ var BUILT_IN_MATRIX = {
|
|
|
883
1431
|
discourages: [],
|
|
884
1432
|
compatibleWith: [],
|
|
885
1433
|
requires: [],
|
|
886
|
-
alternatives: [
|
|
1434
|
+
alternatives: [
|
|
1435
|
+
{
|
|
1436
|
+
skillId: "web-realtime-socket-io",
|
|
1437
|
+
purpose: "Realtime"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
skillId: "web-realtime-sse",
|
|
1441
|
+
purpose: "Realtime"
|
|
1442
|
+
}
|
|
1443
|
+
],
|
|
887
1444
|
isRecommended: false,
|
|
888
1445
|
path: "skills/web-realtime-websockets"
|
|
889
1446
|
},
|
|
@@ -1003,6 +1560,35 @@ var BUILT_IN_MATRIX = {
|
|
|
1003
1560
|
isRecommended: false,
|
|
1004
1561
|
path: "skills/web-state-redux-toolkit"
|
|
1005
1562
|
},
|
|
1563
|
+
"api-baas-turso": {
|
|
1564
|
+
id: "api-baas-turso",
|
|
1565
|
+
slug: "turso",
|
|
1566
|
+
displayName: "Turso",
|
|
1567
|
+
description: "Edge-hosted SQLite database with libSQL driver and embedded replicas",
|
|
1568
|
+
usageGuidance: "Use when deploying SQLite on Turso \u2014 libSQL client for edge/serverless, embedded replicas for zero-latency reads, database groups for multi-region, and schema migrations with branching.",
|
|
1569
|
+
category: "api-baas",
|
|
1570
|
+
author: "@vince",
|
|
1571
|
+
conflictsWith: [],
|
|
1572
|
+
discourages: [],
|
|
1573
|
+
compatibleWith: [],
|
|
1574
|
+
requires: [],
|
|
1575
|
+
alternatives: [
|
|
1576
|
+
{
|
|
1577
|
+
skillId: "api-baas-neon",
|
|
1578
|
+
purpose: "Managed Database"
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
skillId: "api-baas-planetscale",
|
|
1582
|
+
purpose: "Managed Database"
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
skillId: "api-baas-vercel-postgres",
|
|
1586
|
+
purpose: "Managed Database"
|
|
1587
|
+
}
|
|
1588
|
+
],
|
|
1589
|
+
isRecommended: false,
|
|
1590
|
+
path: "skills/api-baas-turso"
|
|
1591
|
+
},
|
|
1006
1592
|
"web-state-pinia": {
|
|
1007
1593
|
id: "web-state-pinia",
|
|
1008
1594
|
slug: "pinia",
|
|
@@ -1043,6 +1629,71 @@ var BUILT_IN_MATRIX = {
|
|
|
1043
1629
|
recommendedReason: "Vue community standard state management",
|
|
1044
1630
|
path: "skills/web-state-pinia"
|
|
1045
1631
|
},
|
|
1632
|
+
"api-ai-promptfoo": {
|
|
1633
|
+
id: "api-ai-promptfoo",
|
|
1634
|
+
slug: "promptfoo",
|
|
1635
|
+
displayName: "Promptfoo",
|
|
1636
|
+
description: "Testing and evaluation framework for LLM prompts and applications",
|
|
1637
|
+
usageGuidance: "Use when testing LLM prompts and applications \u2014 promptfooconfig.yaml for test definitions, assertion types, model-graded evals, red teaming, CI integration, and comparative evaluation across providers.",
|
|
1638
|
+
category: "api-ai",
|
|
1639
|
+
author: "@vince",
|
|
1640
|
+
conflictsWith: [],
|
|
1641
|
+
discourages: [],
|
|
1642
|
+
compatibleWith: [],
|
|
1643
|
+
requires: [],
|
|
1644
|
+
alternatives: [],
|
|
1645
|
+
isRecommended: false,
|
|
1646
|
+
path: "skills/api-ai-promptfoo"
|
|
1647
|
+
},
|
|
1648
|
+
"api-ai-ollama": {
|
|
1649
|
+
id: "api-ai-ollama",
|
|
1650
|
+
slug: "ollama",
|
|
1651
|
+
displayName: "Ollama",
|
|
1652
|
+
description: "Local LLM inference with the Ollama JavaScript client",
|
|
1653
|
+
usageGuidance: "Use when running LLMs locally with Ollama \u2014 chat completions, streaming, tool calling, vision, embeddings, model management, structured output with JSON schemas, and the OpenAI-compatible endpoint.",
|
|
1654
|
+
category: "api-ai",
|
|
1655
|
+
author: "@vince",
|
|
1656
|
+
conflictsWith: [],
|
|
1657
|
+
discourages: [],
|
|
1658
|
+
compatibleWith: [],
|
|
1659
|
+
requires: [],
|
|
1660
|
+
alternatives: [
|
|
1661
|
+
{
|
|
1662
|
+
skillId: "api-ai-anthropic-sdk",
|
|
1663
|
+
purpose: "AI Provider SDK"
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
skillId: "api-ai-openai-sdk",
|
|
1667
|
+
purpose: "AI Provider SDK"
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
1671
|
+
purpose: "AI Provider SDK"
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
skillId: "api-ai-mistral-sdk",
|
|
1675
|
+
purpose: "AI Provider SDK"
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
skillId: "api-ai-cohere-sdk",
|
|
1679
|
+
purpose: "AI Provider SDK"
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
skillId: "api-ai-together-ai",
|
|
1683
|
+
purpose: "AI Provider SDK"
|
|
1684
|
+
},
|
|
1685
|
+
{
|
|
1686
|
+
skillId: "api-ai-replicate",
|
|
1687
|
+
purpose: "AI Provider SDK"
|
|
1688
|
+
},
|
|
1689
|
+
{
|
|
1690
|
+
skillId: "api-ai-huggingface-inference",
|
|
1691
|
+
purpose: "AI Provider SDK"
|
|
1692
|
+
}
|
|
1693
|
+
],
|
|
1694
|
+
isRecommended: false,
|
|
1695
|
+
path: "skills/api-ai-ollama"
|
|
1696
|
+
},
|
|
1046
1697
|
"api-auth-clerk": {
|
|
1047
1698
|
id: "api-auth-clerk",
|
|
1048
1699
|
slug: "clerk",
|
|
@@ -1068,6 +1719,61 @@ var BUILT_IN_MATRIX = {
|
|
|
1068
1719
|
isRecommended: false,
|
|
1069
1720
|
path: "skills/api-auth-clerk"
|
|
1070
1721
|
},
|
|
1722
|
+
"api-framework-elysia": {
|
|
1723
|
+
id: "api-framework-elysia",
|
|
1724
|
+
slug: "elysia",
|
|
1725
|
+
displayName: "Elysia",
|
|
1726
|
+
description: "Bun-native HTTP framework with end-to-end type safety",
|
|
1727
|
+
usageGuidance: "Use when building APIs on Bun runtime \u2014 end-to-end type safety via Eden Treaty, plugin-based architecture, schema validation with TypeBox, lifecycle hooks, and high-performance routing.",
|
|
1728
|
+
category: "api-framework",
|
|
1729
|
+
author: "@vince",
|
|
1730
|
+
conflictsWith: [
|
|
1731
|
+
{
|
|
1732
|
+
skillId: "api-framework-hono",
|
|
1733
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
skillId: "api-framework-express",
|
|
1737
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
1738
|
+
},
|
|
1739
|
+
{
|
|
1740
|
+
skillId: "api-framework-fastify",
|
|
1741
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
skillId: "api-framework-nestjs",
|
|
1745
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
1746
|
+
}
|
|
1747
|
+
],
|
|
1748
|
+
discourages: [
|
|
1749
|
+
{
|
|
1750
|
+
skillId: "api-framework-express",
|
|
1751
|
+
reason: "Express is mature but Elysia is faster on Bun with end-to-end type safety"
|
|
1752
|
+
}
|
|
1753
|
+
],
|
|
1754
|
+
compatibleWith: [],
|
|
1755
|
+
requires: [],
|
|
1756
|
+
alternatives: [
|
|
1757
|
+
{
|
|
1758
|
+
skillId: "api-framework-hono",
|
|
1759
|
+
purpose: "API Framework"
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
skillId: "api-framework-express",
|
|
1763
|
+
purpose: "API Framework"
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
skillId: "api-framework-fastify",
|
|
1767
|
+
purpose: "API Framework"
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
skillId: "api-framework-nestjs",
|
|
1771
|
+
purpose: "API Framework"
|
|
1772
|
+
}
|
|
1773
|
+
],
|
|
1774
|
+
isRecommended: false,
|
|
1775
|
+
path: "skills/api-framework-elysia"
|
|
1776
|
+
},
|
|
1071
1777
|
"web-tooling-vite": {
|
|
1072
1778
|
id: "web-tooling-vite",
|
|
1073
1779
|
slug: "vite",
|
|
@@ -1084,6 +1790,32 @@ var BUILT_IN_MATRIX = {
|
|
|
1084
1790
|
isRecommended: false,
|
|
1085
1791
|
path: "skills/web-tooling-vite"
|
|
1086
1792
|
},
|
|
1793
|
+
"api-search-meilisearch": {
|
|
1794
|
+
id: "api-search-meilisearch",
|
|
1795
|
+
slug: "meilisearch",
|
|
1796
|
+
displayName: "Meilisearch",
|
|
1797
|
+
description: "Fast, typo-tolerant search engine with instant results and faceted filtering",
|
|
1798
|
+
usageGuidance: "Use when adding search to applications with Meilisearch -- instant typo-tolerant search, faceted filtering, geo search, multi-index search, and real-time document indexing.",
|
|
1799
|
+
category: "api-search",
|
|
1800
|
+
author: "@vince",
|
|
1801
|
+
conflictsWith: [
|
|
1802
|
+
{
|
|
1803
|
+
skillId: "api-search-elasticsearch",
|
|
1804
|
+
reason: "Search engines are mutually exclusive"
|
|
1805
|
+
}
|
|
1806
|
+
],
|
|
1807
|
+
discourages: [],
|
|
1808
|
+
compatibleWith: [],
|
|
1809
|
+
requires: [],
|
|
1810
|
+
alternatives: [
|
|
1811
|
+
{
|
|
1812
|
+
skillId: "api-search-elasticsearch",
|
|
1813
|
+
purpose: "Search Engine"
|
|
1814
|
+
}
|
|
1815
|
+
],
|
|
1816
|
+
isRecommended: false,
|
|
1817
|
+
path: "skills/api-search-meilisearch"
|
|
1818
|
+
},
|
|
1087
1819
|
"shared-meta-cli-reviewing": {
|
|
1088
1820
|
id: "shared-meta-cli-reviewing",
|
|
1089
1821
|
slug: "cli-reviewing",
|
|
@@ -1100,6 +1832,32 @@ var BUILT_IN_MATRIX = {
|
|
|
1100
1832
|
isRecommended: false,
|
|
1101
1833
|
path: "skills/shared-meta-cli-reviewing"
|
|
1102
1834
|
},
|
|
1835
|
+
"api-search-elasticsearch": {
|
|
1836
|
+
id: "api-search-elasticsearch",
|
|
1837
|
+
slug: "elasticsearch",
|
|
1838
|
+
displayName: "Elasticsearch",
|
|
1839
|
+
description: "Distributed search and analytics engine with full-text search, aggregations, and vector search",
|
|
1840
|
+
usageGuidance: "Use when building search with Elasticsearch -- full-text search, structured queries, aggregations, vector/semantic search, index management, and bulk operations.",
|
|
1841
|
+
category: "api-search",
|
|
1842
|
+
author: "@vince",
|
|
1843
|
+
conflictsWith: [
|
|
1844
|
+
{
|
|
1845
|
+
skillId: "api-search-meilisearch",
|
|
1846
|
+
reason: "Search engines are mutually exclusive"
|
|
1847
|
+
}
|
|
1848
|
+
],
|
|
1849
|
+
discourages: [],
|
|
1850
|
+
compatibleWith: [],
|
|
1851
|
+
requires: [],
|
|
1852
|
+
alternatives: [
|
|
1853
|
+
{
|
|
1854
|
+
skillId: "api-search-meilisearch",
|
|
1855
|
+
purpose: "Search Engine"
|
|
1856
|
+
}
|
|
1857
|
+
],
|
|
1858
|
+
isRecommended: false,
|
|
1859
|
+
path: "skills/api-search-elasticsearch"
|
|
1860
|
+
},
|
|
1103
1861
|
"web-utilities-date-fns": {
|
|
1104
1862
|
id: "web-utilities-date-fns",
|
|
1105
1863
|
slug: "date-fns",
|
|
@@ -1116,6 +1874,31 @@ var BUILT_IN_MATRIX = {
|
|
|
1116
1874
|
isRecommended: false,
|
|
1117
1875
|
path: "skills/web-utilities-date-fns"
|
|
1118
1876
|
},
|
|
1877
|
+
"api-baas-upstash": {
|
|
1878
|
+
id: "api-baas-upstash",
|
|
1879
|
+
slug: "upstash",
|
|
1880
|
+
displayName: "Upstash",
|
|
1881
|
+
description: "Serverless Redis with REST API for edge and serverless functions",
|
|
1882
|
+
usageGuidance: "Use when deploying Redis on Upstash -- REST-based Redis for edge/serverless compatibility, automatic JSON serialization, pipeline support, rate limiting with @upstash/ratelimit, and global replication.",
|
|
1883
|
+
category: "api-baas",
|
|
1884
|
+
author: "@vince",
|
|
1885
|
+
conflictsWith: [],
|
|
1886
|
+
discourages: [],
|
|
1887
|
+
compatibleWith: [],
|
|
1888
|
+
requires: [],
|
|
1889
|
+
alternatives: [
|
|
1890
|
+
{
|
|
1891
|
+
skillId: "api-database-redis",
|
|
1892
|
+
purpose: "Cache / KV Store"
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
skillId: "api-baas-vercel-kv",
|
|
1896
|
+
purpose: "Cache / KV Store"
|
|
1897
|
+
}
|
|
1898
|
+
],
|
|
1899
|
+
isRecommended: false,
|
|
1900
|
+
path: "skills/api-baas-upstash"
|
|
1901
|
+
},
|
|
1119
1902
|
"web-tooling-storybook": {
|
|
1120
1903
|
id: "web-tooling-storybook",
|
|
1121
1904
|
slug: "storybook",
|
|
@@ -1126,11 +1909,65 @@ var BUILT_IN_MATRIX = {
|
|
|
1126
1909
|
author: "@vince",
|
|
1127
1910
|
conflictsWith: [],
|
|
1128
1911
|
discourages: [],
|
|
1129
|
-
compatibleWith: [
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1912
|
+
compatibleWith: [
|
|
1913
|
+
"web-framework-react",
|
|
1914
|
+
"web-framework-vue-composition-api",
|
|
1915
|
+
"web-framework-angular-standalone",
|
|
1916
|
+
"web-framework-svelte",
|
|
1917
|
+
"web-meta-framework-nextjs",
|
|
1918
|
+
"web-meta-framework-remix",
|
|
1919
|
+
"web-meta-framework-nuxt",
|
|
1920
|
+
"web-meta-framework-sveltekit"
|
|
1921
|
+
],
|
|
1922
|
+
requires: [],
|
|
1923
|
+
alternatives: [],
|
|
1924
|
+
isRecommended: false,
|
|
1925
|
+
path: "skills/web-tooling-storybook"
|
|
1926
|
+
},
|
|
1927
|
+
"api-ai-tool-use-patterns": {
|
|
1928
|
+
id: "api-ai-tool-use-patterns",
|
|
1929
|
+
slug: "tool-use-patterns",
|
|
1930
|
+
displayName: "Tool Use Patterns",
|
|
1931
|
+
description: "Provider-agnostic patterns for LLM function calling",
|
|
1932
|
+
usageGuidance: "Use when implementing LLM tool use -- tool definition schemas, the tool call loop pattern, parallel tool calls, error reporting back to the model, multi-step agent workflows, human-in-the-loop patterns, and tool choice control. Provider-agnostic -- shows generic TypeScript patterns, not provider-specific SDK code.",
|
|
1933
|
+
category: "api-ai",
|
|
1934
|
+
author: "@vince",
|
|
1935
|
+
conflictsWith: [],
|
|
1936
|
+
discourages: [],
|
|
1937
|
+
compatibleWith: [],
|
|
1938
|
+
requires: [],
|
|
1939
|
+
alternatives: [],
|
|
1940
|
+
isRecommended: false,
|
|
1941
|
+
path: "skills/api-ai-tool-use-patterns"
|
|
1942
|
+
},
|
|
1943
|
+
"api-baas-planetscale": {
|
|
1944
|
+
id: "api-baas-planetscale",
|
|
1945
|
+
slug: "planetscale",
|
|
1946
|
+
displayName: "PlanetScale",
|
|
1947
|
+
description: "Serverless MySQL platform with branching, deploy requests, and edge-compatible driver",
|
|
1948
|
+
usageGuidance: "Use when deploying MySQL on PlanetScale \u2014 serverless driver for edge/serverless, database branching, deploy requests for schema changes, connection pooling, and Vitess-powered horizontal scaling.",
|
|
1949
|
+
category: "api-baas",
|
|
1950
|
+
author: "@vince",
|
|
1951
|
+
conflictsWith: [],
|
|
1952
|
+
discourages: [],
|
|
1953
|
+
compatibleWith: [],
|
|
1954
|
+
requires: [],
|
|
1955
|
+
alternatives: [
|
|
1956
|
+
{
|
|
1957
|
+
skillId: "api-baas-neon",
|
|
1958
|
+
purpose: "Managed Database"
|
|
1959
|
+
},
|
|
1960
|
+
{
|
|
1961
|
+
skillId: "api-baas-turso",
|
|
1962
|
+
purpose: "Managed Database"
|
|
1963
|
+
},
|
|
1964
|
+
{
|
|
1965
|
+
skillId: "api-baas-vercel-postgres",
|
|
1966
|
+
purpose: "Managed Database"
|
|
1967
|
+
}
|
|
1968
|
+
],
|
|
1969
|
+
isRecommended: false,
|
|
1970
|
+
path: "skills/api-baas-planetscale"
|
|
1134
1971
|
},
|
|
1135
1972
|
"web-ui-shadcn-ui": {
|
|
1136
1973
|
id: "web-ui-shadcn-ui",
|
|
@@ -1140,7 +1977,24 @@ var BUILT_IN_MATRIX = {
|
|
|
1140
1977
|
usageGuidance: "Use when using shadcn/ui components, theming, or customization.",
|
|
1141
1978
|
category: "web-ui-components",
|
|
1142
1979
|
author: "@vince",
|
|
1143
|
-
conflictsWith: [
|
|
1980
|
+
conflictsWith: [
|
|
1981
|
+
{
|
|
1982
|
+
skillId: "web-ui-mui",
|
|
1983
|
+
reason: "React UI component libraries define competing design systems"
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
skillId: "web-ui-chakra-ui",
|
|
1987
|
+
reason: "React UI component libraries define competing design systems"
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
skillId: "web-ui-mantine",
|
|
1991
|
+
reason: "React UI component libraries define competing design systems"
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
skillId: "web-ui-ant-design",
|
|
1995
|
+
reason: "React UI component libraries define competing design systems"
|
|
1996
|
+
}
|
|
1997
|
+
],
|
|
1144
1998
|
discourages: [],
|
|
1145
1999
|
compatibleWith: [
|
|
1146
2000
|
"web-framework-react",
|
|
@@ -1163,7 +2017,24 @@ var BUILT_IN_MATRIX = {
|
|
|
1163
2017
|
reason: "shadcn/ui requires Tailwind CSS"
|
|
1164
2018
|
}
|
|
1165
2019
|
],
|
|
1166
|
-
alternatives: [
|
|
2020
|
+
alternatives: [
|
|
2021
|
+
{
|
|
2022
|
+
skillId: "web-ui-mui",
|
|
2023
|
+
purpose: "UI Components (React)"
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
skillId: "web-ui-chakra-ui",
|
|
2027
|
+
purpose: "UI Components (React)"
|
|
2028
|
+
},
|
|
2029
|
+
{
|
|
2030
|
+
skillId: "web-ui-mantine",
|
|
2031
|
+
purpose: "UI Components (React)"
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
skillId: "web-ui-ant-design",
|
|
2035
|
+
purpose: "UI Components (React)"
|
|
2036
|
+
}
|
|
2037
|
+
],
|
|
1167
2038
|
isRecommended: true,
|
|
1168
2039
|
recommendedReason: "Best-in-class React + Tailwind component library",
|
|
1169
2040
|
path: "skills/web-ui-shadcn-ui"
|
|
@@ -1203,9 +2074,20 @@ var BUILT_IN_MATRIX = {
|
|
|
1203
2074
|
author: "@vince",
|
|
1204
2075
|
conflictsWith: [],
|
|
1205
2076
|
discourages: [],
|
|
1206
|
-
compatibleWith: [],
|
|
1207
|
-
requires: [
|
|
1208
|
-
|
|
2077
|
+
compatibleWith: ["mobile-framework-expo", "web-framework-react"],
|
|
2078
|
+
requires: [
|
|
2079
|
+
{
|
|
2080
|
+
skillIds: ["web-framework-react"],
|
|
2081
|
+
needsAny: false,
|
|
2082
|
+
reason: "React Native is built on React"
|
|
2083
|
+
}
|
|
2084
|
+
],
|
|
2085
|
+
alternatives: [
|
|
2086
|
+
{
|
|
2087
|
+
skillId: "mobile-framework-expo",
|
|
2088
|
+
purpose: "Mobile"
|
|
2089
|
+
}
|
|
2090
|
+
],
|
|
1209
2091
|
isRecommended: false,
|
|
1210
2092
|
path: "skills/mobile-framework-react-native"
|
|
1211
2093
|
},
|
|
@@ -1221,7 +2103,16 @@ var BUILT_IN_MATRIX = {
|
|
|
1221
2103
|
discourages: [],
|
|
1222
2104
|
compatibleWith: [],
|
|
1223
2105
|
requires: [],
|
|
1224
|
-
alternatives: [
|
|
2106
|
+
alternatives: [
|
|
2107
|
+
{
|
|
2108
|
+
skillId: "web-realtime-websockets",
|
|
2109
|
+
purpose: "Realtime"
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
skillId: "web-realtime-socket-io",
|
|
2113
|
+
purpose: "Realtime"
|
|
2114
|
+
}
|
|
2115
|
+
],
|
|
1225
2116
|
isRecommended: false,
|
|
1226
2117
|
path: "skills/web-realtime-sse"
|
|
1227
2118
|
},
|
|
@@ -1264,7 +2155,12 @@ var BUILT_IN_MATRIX = {
|
|
|
1264
2155
|
"web-meta-framework-nextjs",
|
|
1265
2156
|
"web-meta-framework-remix",
|
|
1266
2157
|
"web-data-fetching-graphql-urql",
|
|
1267
|
-
"web-framework-solidjs"
|
|
2158
|
+
"web-framework-solidjs",
|
|
2159
|
+
"web-ui-headless-ui",
|
|
2160
|
+
"web-utilities-vueuse",
|
|
2161
|
+
"web-tooling-storybook",
|
|
2162
|
+
"web-framework-svelte",
|
|
2163
|
+
"web-meta-framework-sveltekit"
|
|
1268
2164
|
],
|
|
1269
2165
|
requires: [],
|
|
1270
2166
|
alternatives: [
|
|
@@ -1288,6 +2184,48 @@ var BUILT_IN_MATRIX = {
|
|
|
1288
2184
|
isRecommended: false,
|
|
1289
2185
|
path: "skills/web-framework-vue-composition-api"
|
|
1290
2186
|
},
|
|
2187
|
+
"api-vector-db-chroma": {
|
|
2188
|
+
id: "api-vector-db-chroma",
|
|
2189
|
+
slug: "chroma",
|
|
2190
|
+
displayName: "Chroma",
|
|
2191
|
+
description: "Lightweight embedding database with automatic vectorization and metadata filtering",
|
|
2192
|
+
usageGuidance: "Use when building semantic search or RAG with Chroma -- collection management, automatic embedding generation, metadata filtering, document storage, and multi-modal embeddings.",
|
|
2193
|
+
category: "api-vector-db",
|
|
2194
|
+
author: "@vince",
|
|
2195
|
+
conflictsWith: [
|
|
2196
|
+
{
|
|
2197
|
+
skillId: "api-vector-db-pinecone",
|
|
2198
|
+
reason: "Vector databases are mutually exclusive"
|
|
2199
|
+
},
|
|
2200
|
+
{
|
|
2201
|
+
skillId: "api-vector-db-qdrant",
|
|
2202
|
+
reason: "Vector databases are mutually exclusive"
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
skillId: "api-vector-db-weaviate",
|
|
2206
|
+
reason: "Vector databases are mutually exclusive"
|
|
2207
|
+
}
|
|
2208
|
+
],
|
|
2209
|
+
discourages: [],
|
|
2210
|
+
compatibleWith: [],
|
|
2211
|
+
requires: [],
|
|
2212
|
+
alternatives: [
|
|
2213
|
+
{
|
|
2214
|
+
skillId: "api-vector-db-pinecone",
|
|
2215
|
+
purpose: "Vector Database"
|
|
2216
|
+
},
|
|
2217
|
+
{
|
|
2218
|
+
skillId: "api-vector-db-qdrant",
|
|
2219
|
+
purpose: "Vector Database"
|
|
2220
|
+
},
|
|
2221
|
+
{
|
|
2222
|
+
skillId: "api-vector-db-weaviate",
|
|
2223
|
+
purpose: "Vector Database"
|
|
2224
|
+
}
|
|
2225
|
+
],
|
|
2226
|
+
isRecommended: false,
|
|
2227
|
+
path: "skills/api-vector-db-chroma"
|
|
2228
|
+
},
|
|
1291
2229
|
"web-forms-vee-validate": {
|
|
1292
2230
|
id: "web-forms-vee-validate",
|
|
1293
2231
|
slug: "vee-validate",
|
|
@@ -1344,6 +2282,70 @@ var BUILT_IN_MATRIX = {
|
|
|
1344
2282
|
recommendedReason: "Vue component testing library",
|
|
1345
2283
|
path: "skills/web-testing-vue-test-utils"
|
|
1346
2284
|
},
|
|
2285
|
+
"web-ui-chakra-ui": {
|
|
2286
|
+
id: "web-ui-chakra-ui",
|
|
2287
|
+
slug: "chakra-ui",
|
|
2288
|
+
displayName: "Chakra UI",
|
|
2289
|
+
description: "Accessible React component library with style props and theming",
|
|
2290
|
+
usageGuidance: "Use when building React UIs with Chakra UI \u2014 style props, responsive design, theming, accessible components, and composable component patterns.",
|
|
2291
|
+
category: "web-ui-components",
|
|
2292
|
+
author: "@vince",
|
|
2293
|
+
conflictsWith: [
|
|
2294
|
+
{
|
|
2295
|
+
skillId: "web-ui-shadcn-ui",
|
|
2296
|
+
reason: "React UI component libraries define competing design systems"
|
|
2297
|
+
},
|
|
2298
|
+
{
|
|
2299
|
+
skillId: "web-ui-mui",
|
|
2300
|
+
reason: "React UI component libraries define competing design systems"
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
skillId: "web-ui-mantine",
|
|
2304
|
+
reason: "React UI component libraries define competing design systems"
|
|
2305
|
+
},
|
|
2306
|
+
{
|
|
2307
|
+
skillId: "web-ui-ant-design",
|
|
2308
|
+
reason: "React UI component libraries define competing design systems"
|
|
2309
|
+
}
|
|
2310
|
+
],
|
|
2311
|
+
discourages: [],
|
|
2312
|
+
compatibleWith: [
|
|
2313
|
+
"web-framework-react",
|
|
2314
|
+
"web-meta-framework-nextjs",
|
|
2315
|
+
"web-meta-framework-remix"
|
|
2316
|
+
],
|
|
2317
|
+
requires: [
|
|
2318
|
+
{
|
|
2319
|
+
skillIds: [
|
|
2320
|
+
"web-framework-react",
|
|
2321
|
+
"web-meta-framework-nextjs",
|
|
2322
|
+
"web-meta-framework-remix"
|
|
2323
|
+
],
|
|
2324
|
+
needsAny: true,
|
|
2325
|
+
reason: "Chakra UI is a React component library"
|
|
2326
|
+
}
|
|
2327
|
+
],
|
|
2328
|
+
alternatives: [
|
|
2329
|
+
{
|
|
2330
|
+
skillId: "web-ui-shadcn-ui",
|
|
2331
|
+
purpose: "UI Components (React)"
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
skillId: "web-ui-mui",
|
|
2335
|
+
purpose: "UI Components (React)"
|
|
2336
|
+
},
|
|
2337
|
+
{
|
|
2338
|
+
skillId: "web-ui-mantine",
|
|
2339
|
+
purpose: "UI Components (React)"
|
|
2340
|
+
},
|
|
2341
|
+
{
|
|
2342
|
+
skillId: "web-ui-ant-design",
|
|
2343
|
+
purpose: "UI Components (React)"
|
|
2344
|
+
}
|
|
2345
|
+
],
|
|
2346
|
+
isRecommended: false,
|
|
2347
|
+
path: "skills/web-ui-chakra-ui"
|
|
2348
|
+
},
|
|
1347
2349
|
"web-state-zustand": {
|
|
1348
2350
|
id: "web-state-zustand",
|
|
1349
2351
|
slug: "zustand",
|
|
@@ -1420,7 +2422,7 @@ var BUILT_IN_MATRIX = {
|
|
|
1420
2422
|
slug: "radix-ui",
|
|
1421
2423
|
displayName: "Radix UI",
|
|
1422
2424
|
description: "Accessible UI primitives",
|
|
1423
|
-
usageGuidance: "Use when building accessible
|
|
2425
|
+
usageGuidance: "Use when building accessible overlay components (dialogs, popovers, dropdowns, tooltips), compound component APIs, keyboard navigation, focus management, or polymorphic components with asChild and Slot patterns.",
|
|
1424
2426
|
category: "web-ui-components",
|
|
1425
2427
|
author: "@vince",
|
|
1426
2428
|
conflictsWith: [],
|
|
@@ -1516,11 +2518,21 @@ var BUILT_IN_MATRIX = {
|
|
|
1516
2518
|
usageGuidance: "Use when configuring ESLint 9 flat config, Prettier formatting, shared linting configs, or migrating from legacy .eslintrc to flat config.",
|
|
1517
2519
|
category: "shared-tooling",
|
|
1518
2520
|
author: "@vince",
|
|
1519
|
-
conflictsWith: [
|
|
2521
|
+
conflictsWith: [
|
|
2522
|
+
{
|
|
2523
|
+
skillId: "shared-tooling-biome",
|
|
2524
|
+
reason: "Linting and formatting tools are mutually exclusive"
|
|
2525
|
+
}
|
|
2526
|
+
],
|
|
1520
2527
|
discourages: [],
|
|
1521
2528
|
compatibleWith: [],
|
|
1522
2529
|
requires: [],
|
|
1523
|
-
alternatives: [
|
|
2530
|
+
alternatives: [
|
|
2531
|
+
{
|
|
2532
|
+
skillId: "shared-tooling-biome",
|
|
2533
|
+
purpose: "Linting / Formatting"
|
|
2534
|
+
}
|
|
2535
|
+
],
|
|
1524
2536
|
isRecommended: false,
|
|
1525
2537
|
path: "skills/shared-tooling-eslint-prettier"
|
|
1526
2538
|
},
|
|
@@ -1540,7 +2552,16 @@ var BUILT_IN_MATRIX = {
|
|
|
1540
2552
|
"web-meta-framework-remix"
|
|
1541
2553
|
],
|
|
1542
2554
|
requires: [],
|
|
1543
|
-
alternatives: [
|
|
2555
|
+
alternatives: [
|
|
2556
|
+
{
|
|
2557
|
+
skillId: "web-animation-css-animations",
|
|
2558
|
+
purpose: "Animation"
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
skillId: "web-animation-view-transitions",
|
|
2562
|
+
purpose: "Animation"
|
|
2563
|
+
}
|
|
2564
|
+
],
|
|
1544
2565
|
isRecommended: false,
|
|
1545
2566
|
path: "skills/web-animation-framer-motion"
|
|
1546
2567
|
},
|
|
@@ -1705,6 +2726,10 @@ var BUILT_IN_MATRIX = {
|
|
|
1705
2726
|
{
|
|
1706
2727
|
skillId: "web-meta-framework-sveltekit",
|
|
1707
2728
|
reason: "Meta-frameworks are mutually exclusive"
|
|
2729
|
+
},
|
|
2730
|
+
{
|
|
2731
|
+
skillId: "web-meta-framework-qwik",
|
|
2732
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
1708
2733
|
}
|
|
1709
2734
|
],
|
|
1710
2735
|
discourages: [],
|
|
@@ -1726,11 +2751,44 @@ var BUILT_IN_MATRIX = {
|
|
|
1726
2751
|
{
|
|
1727
2752
|
skillId: "web-meta-framework-sveltekit",
|
|
1728
2753
|
purpose: "Meta-Framework"
|
|
2754
|
+
},
|
|
2755
|
+
{
|
|
2756
|
+
skillId: "web-meta-framework-qwik",
|
|
2757
|
+
purpose: "Meta-Framework"
|
|
1729
2758
|
}
|
|
1730
2759
|
],
|
|
1731
2760
|
isRecommended: false,
|
|
1732
2761
|
path: "skills/web-meta-framework-astro"
|
|
1733
2762
|
},
|
|
2763
|
+
"api-baas-neon": {
|
|
2764
|
+
id: "api-baas-neon",
|
|
2765
|
+
slug: "neon",
|
|
2766
|
+
displayName: "Neon",
|
|
2767
|
+
description: "Serverless PostgreSQL with branching, autoscaling, and edge-compatible driver",
|
|
2768
|
+
usageGuidance: "Use when deploying PostgreSQL on Neon \u2014 serverless driver for edge/serverless functions, database branching for dev/preview, autoscaling, connection pooling, and the Neon API for programmatic management.",
|
|
2769
|
+
category: "api-baas",
|
|
2770
|
+
author: "@vince",
|
|
2771
|
+
conflictsWith: [],
|
|
2772
|
+
discourages: [],
|
|
2773
|
+
compatibleWith: [],
|
|
2774
|
+
requires: [],
|
|
2775
|
+
alternatives: [
|
|
2776
|
+
{
|
|
2777
|
+
skillId: "api-baas-planetscale",
|
|
2778
|
+
purpose: "Managed Database"
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
skillId: "api-baas-turso",
|
|
2782
|
+
purpose: "Managed Database"
|
|
2783
|
+
},
|
|
2784
|
+
{
|
|
2785
|
+
skillId: "api-baas-vercel-postgres",
|
|
2786
|
+
purpose: "Managed Database"
|
|
2787
|
+
}
|
|
2788
|
+
],
|
|
2789
|
+
isRecommended: false,
|
|
2790
|
+
path: "skills/api-baas-neon"
|
|
2791
|
+
},
|
|
1734
2792
|
"shared-meta-reviewing": {
|
|
1735
2793
|
id: "shared-meta-reviewing",
|
|
1736
2794
|
slug: "reviewing",
|
|
@@ -1747,6 +2805,64 @@ var BUILT_IN_MATRIX = {
|
|
|
1747
2805
|
isRecommended: false,
|
|
1748
2806
|
path: "skills/shared-meta-reviewing"
|
|
1749
2807
|
},
|
|
2808
|
+
"api-database-edgedb": {
|
|
2809
|
+
id: "api-database-edgedb",
|
|
2810
|
+
slug: "edgedb",
|
|
2811
|
+
displayName: "Gel (EdgeDB)",
|
|
2812
|
+
description: "Graph-relational database with EdgeQL and code-first schema",
|
|
2813
|
+
usageGuidance: "Use when working with Gel (formerly EdgeDB) \u2014 EdgeQL for type-safe queries, code-first schema with migrations, link-based relations, computed properties, and the query builder for fully typed TypeScript queries.",
|
|
2814
|
+
category: "api-database",
|
|
2815
|
+
author: "@vince",
|
|
2816
|
+
conflictsWith: [],
|
|
2817
|
+
discourages: [],
|
|
2818
|
+
compatibleWith: [],
|
|
2819
|
+
requires: [],
|
|
2820
|
+
alternatives: [],
|
|
2821
|
+
isRecommended: false,
|
|
2822
|
+
path: "skills/api-database-edgedb"
|
|
2823
|
+
},
|
|
2824
|
+
"api-vector-db-weaviate": {
|
|
2825
|
+
id: "api-vector-db-weaviate",
|
|
2826
|
+
slug: "weaviate",
|
|
2827
|
+
displayName: "Weaviate",
|
|
2828
|
+
description: "Open-source vector database with built-in vectorization and hybrid search",
|
|
2829
|
+
usageGuidance: "Use when building semantic search or RAG with Weaviate \u2014 collection management, built-in vectorization modules, hybrid search (vector + keyword), filtering, multi-tenancy, and generative search.",
|
|
2830
|
+
category: "api-vector-db",
|
|
2831
|
+
author: "@vince",
|
|
2832
|
+
conflictsWith: [
|
|
2833
|
+
{
|
|
2834
|
+
skillId: "api-vector-db-pinecone",
|
|
2835
|
+
reason: "Vector databases are mutually exclusive"
|
|
2836
|
+
},
|
|
2837
|
+
{
|
|
2838
|
+
skillId: "api-vector-db-qdrant",
|
|
2839
|
+
reason: "Vector databases are mutually exclusive"
|
|
2840
|
+
},
|
|
2841
|
+
{
|
|
2842
|
+
skillId: "api-vector-db-chroma",
|
|
2843
|
+
reason: "Vector databases are mutually exclusive"
|
|
2844
|
+
}
|
|
2845
|
+
],
|
|
2846
|
+
discourages: [],
|
|
2847
|
+
compatibleWith: [],
|
|
2848
|
+
requires: [],
|
|
2849
|
+
alternatives: [
|
|
2850
|
+
{
|
|
2851
|
+
skillId: "api-vector-db-pinecone",
|
|
2852
|
+
purpose: "Vector Database"
|
|
2853
|
+
},
|
|
2854
|
+
{
|
|
2855
|
+
skillId: "api-vector-db-qdrant",
|
|
2856
|
+
purpose: "Vector Database"
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
skillId: "api-vector-db-chroma",
|
|
2860
|
+
purpose: "Vector Database"
|
|
2861
|
+
}
|
|
2862
|
+
],
|
|
2863
|
+
isRecommended: false,
|
|
2864
|
+
path: "skills/api-vector-db-weaviate"
|
|
2865
|
+
},
|
|
1750
2866
|
"web-pwa-service-workers": {
|
|
1751
2867
|
id: "web-pwa-service-workers",
|
|
1752
2868
|
slug: "service-workers",
|
|
@@ -1815,6 +2931,22 @@ var BUILT_IN_MATRIX = {
|
|
|
1815
2931
|
recommendedReason: "Standard React component testing",
|
|
1816
2932
|
path: "skills/web-testing-react-testing-library"
|
|
1817
2933
|
},
|
|
2934
|
+
"api-database-knex": {
|
|
2935
|
+
id: "api-database-knex",
|
|
2936
|
+
slug: "knex",
|
|
2937
|
+
displayName: "Knex.js",
|
|
2938
|
+
description: "SQL query builder for PostgreSQL, MySQL, SQLite, and MSSQL",
|
|
2939
|
+
usageGuidance: "Use when building SQL queries programmatically -- fluent query builder, schema builder, migrations, seeds, transactions, and raw queries with parameter binding.",
|
|
2940
|
+
category: "api-database",
|
|
2941
|
+
author: "@vince",
|
|
2942
|
+
conflictsWith: [],
|
|
2943
|
+
discourages: [],
|
|
2944
|
+
compatibleWith: [],
|
|
2945
|
+
requires: [],
|
|
2946
|
+
alternatives: [],
|
|
2947
|
+
isRecommended: false,
|
|
2948
|
+
path: "skills/api-database-knex"
|
|
2949
|
+
},
|
|
1818
2950
|
"web-styling-cva": {
|
|
1819
2951
|
id: "web-styling-cva",
|
|
1820
2952
|
slug: "cva",
|
|
@@ -1866,11 +2998,21 @@ var BUILT_IN_MATRIX = {
|
|
|
1866
2998
|
usageGuidance: "Use when configuring monorepo pipelines, workspaces, or package architecture.",
|
|
1867
2999
|
category: "shared-monorepo",
|
|
1868
3000
|
author: "@vince",
|
|
1869
|
-
conflictsWith: [
|
|
3001
|
+
conflictsWith: [
|
|
3002
|
+
{
|
|
3003
|
+
skillId: "shared-monorepo-nx",
|
|
3004
|
+
reason: "Monorepo build orchestrators are mutually exclusive"
|
|
3005
|
+
}
|
|
3006
|
+
],
|
|
1870
3007
|
discourages: [],
|
|
1871
3008
|
compatibleWith: [],
|
|
1872
3009
|
requires: [],
|
|
1873
|
-
alternatives: [
|
|
3010
|
+
alternatives: [
|
|
3011
|
+
{
|
|
3012
|
+
skillId: "shared-monorepo-nx",
|
|
3013
|
+
purpose: "Monorepo Orchestrator"
|
|
3014
|
+
}
|
|
3015
|
+
],
|
|
1874
3016
|
isRecommended: false,
|
|
1875
3017
|
path: "skills/shared-monorepo-turborepo"
|
|
1876
3018
|
},
|
|
@@ -1898,7 +3040,12 @@ var BUILT_IN_MATRIX = {
|
|
|
1898
3040
|
usageGuidance: "Use when building React SPAs with type-safe routing \u2014 file-based routes, search params validation, route loaders, code splitting, and nested layouts.",
|
|
1899
3041
|
category: "web-routing",
|
|
1900
3042
|
author: "@vince",
|
|
1901
|
-
conflictsWith: [
|
|
3043
|
+
conflictsWith: [
|
|
3044
|
+
{
|
|
3045
|
+
skillId: "web-routing-react-router",
|
|
3046
|
+
reason: "React client-side routers are mutually exclusive"
|
|
3047
|
+
}
|
|
3048
|
+
],
|
|
1902
3049
|
discourages: [],
|
|
1903
3050
|
compatibleWith: ["web-framework-react"],
|
|
1904
3051
|
requires: [
|
|
@@ -1908,26 +3055,73 @@ var BUILT_IN_MATRIX = {
|
|
|
1908
3055
|
reason: "TanStack Router is a React routing library"
|
|
1909
3056
|
}
|
|
1910
3057
|
],
|
|
1911
|
-
alternatives: [
|
|
3058
|
+
alternatives: [
|
|
3059
|
+
{
|
|
3060
|
+
skillId: "web-routing-react-router",
|
|
3061
|
+
purpose: "Routing (React)"
|
|
3062
|
+
}
|
|
3063
|
+
],
|
|
1912
3064
|
isRecommended: false,
|
|
1913
3065
|
path: "skills/web-routing-tanstack-router"
|
|
1914
3066
|
},
|
|
1915
|
-
"
|
|
1916
|
-
id: "
|
|
1917
|
-
slug: "
|
|
1918
|
-
displayName: "
|
|
1919
|
-
description: "
|
|
1920
|
-
usageGuidance: "Use when
|
|
1921
|
-
category: "
|
|
3067
|
+
"api-vector-db-qdrant": {
|
|
3068
|
+
id: "api-vector-db-qdrant",
|
|
3069
|
+
slug: "qdrant",
|
|
3070
|
+
displayName: "Qdrant",
|
|
3071
|
+
description: "High-performance vector database with filtering, payload indexing, and quantization",
|
|
3072
|
+
usageGuidance: "Use when building semantic search or RAG with Qdrant -- collection management, vector upsert/search, payload filtering, named vectors, quantization, and recommendation API.",
|
|
3073
|
+
category: "api-vector-db",
|
|
1922
3074
|
author: "@vince",
|
|
1923
|
-
conflictsWith: [
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
3075
|
+
conflictsWith: [
|
|
3076
|
+
{
|
|
3077
|
+
skillId: "api-vector-db-pinecone",
|
|
3078
|
+
reason: "Vector databases are mutually exclusive"
|
|
3079
|
+
},
|
|
3080
|
+
{
|
|
3081
|
+
skillId: "api-vector-db-chroma",
|
|
3082
|
+
reason: "Vector databases are mutually exclusive"
|
|
3083
|
+
},
|
|
3084
|
+
{
|
|
3085
|
+
skillId: "api-vector-db-weaviate",
|
|
3086
|
+
reason: "Vector databases are mutually exclusive"
|
|
3087
|
+
}
|
|
3088
|
+
],
|
|
3089
|
+
discourages: [],
|
|
3090
|
+
compatibleWith: [],
|
|
3091
|
+
requires: [],
|
|
3092
|
+
alternatives: [
|
|
3093
|
+
{
|
|
3094
|
+
skillId: "api-vector-db-pinecone",
|
|
3095
|
+
purpose: "Vector Database"
|
|
3096
|
+
},
|
|
3097
|
+
{
|
|
3098
|
+
skillId: "api-vector-db-chroma",
|
|
3099
|
+
purpose: "Vector Database"
|
|
3100
|
+
},
|
|
3101
|
+
{
|
|
3102
|
+
skillId: "api-vector-db-weaviate",
|
|
3103
|
+
purpose: "Vector Database"
|
|
3104
|
+
}
|
|
3105
|
+
],
|
|
3106
|
+
isRecommended: false,
|
|
3107
|
+
path: "skills/api-vector-db-qdrant"
|
|
3108
|
+
},
|
|
3109
|
+
"web-files-image-handling": {
|
|
3110
|
+
id: "web-files-image-handling",
|
|
3111
|
+
slug: "image-handling",
|
|
3112
|
+
displayName: "Image Handling",
|
|
3113
|
+
description: "Client-side image processing",
|
|
3114
|
+
usageGuidance: "Use when processing images client-side, resizing, or format conversion.",
|
|
3115
|
+
category: "web-files",
|
|
3116
|
+
author: "@vince",
|
|
3117
|
+
conflictsWith: [],
|
|
3118
|
+
discourages: [],
|
|
3119
|
+
compatibleWith: [
|
|
3120
|
+
"web-framework-react",
|
|
3121
|
+
"web-meta-framework-nextjs",
|
|
3122
|
+
"web-meta-framework-remix"
|
|
3123
|
+
],
|
|
3124
|
+
requires: [],
|
|
1931
3125
|
alternatives: [],
|
|
1932
3126
|
isRecommended: false,
|
|
1933
3127
|
path: "skills/web-files-image-handling"
|
|
@@ -1948,6 +3142,28 @@ var BUILT_IN_MATRIX = {
|
|
|
1948
3142
|
isRecommended: false,
|
|
1949
3143
|
path: "skills/api-email-setup-resend"
|
|
1950
3144
|
},
|
|
3145
|
+
"api-ai-claude-vision": {
|
|
3146
|
+
id: "api-ai-claude-vision",
|
|
3147
|
+
slug: "claude-vision",
|
|
3148
|
+
displayName: "Claude Vision",
|
|
3149
|
+
description: "Image understanding and document analysis with Claude's multimodal capabilities",
|
|
3150
|
+
usageGuidance: "Use when processing images and documents with Claude \u2014 image analysis, document extraction, chart interpretation, multi-image comparison, and PDF processing with the Anthropic API.",
|
|
3151
|
+
category: "api-ai",
|
|
3152
|
+
author: "@vince",
|
|
3153
|
+
conflictsWith: [],
|
|
3154
|
+
discourages: [],
|
|
3155
|
+
compatibleWith: [],
|
|
3156
|
+
requires: [
|
|
3157
|
+
{
|
|
3158
|
+
skillIds: ["api-ai-anthropic-sdk"],
|
|
3159
|
+
needsAny: false,
|
|
3160
|
+
reason: "Claude Vision uses the Anthropic SDK"
|
|
3161
|
+
}
|
|
3162
|
+
],
|
|
3163
|
+
alternatives: [],
|
|
3164
|
+
isRecommended: false,
|
|
3165
|
+
path: "skills/api-ai-claude-vision"
|
|
3166
|
+
},
|
|
1951
3167
|
"web-server-state-react-query": {
|
|
1952
3168
|
id: "web-server-state-react-query",
|
|
1953
3169
|
slug: "react-query",
|
|
@@ -1995,6 +3211,31 @@ var BUILT_IN_MATRIX = {
|
|
|
1995
3211
|
recommendedReason: "Modern server state caching for React",
|
|
1996
3212
|
path: "skills/web-server-state-react-query"
|
|
1997
3213
|
},
|
|
3214
|
+
"api-ai-llamaindex": {
|
|
3215
|
+
id: "api-ai-llamaindex",
|
|
3216
|
+
slug: "llamaindex",
|
|
3217
|
+
displayName: "LlamaIndex",
|
|
3218
|
+
description: "Data framework for LLM applications with indexing, retrieval, and query engines",
|
|
3219
|
+
usageGuidance: "Use when building RAG and data-aware LLM applications \u2014 document loading, text chunking, vector indexing, query engines, chat engines, and agentic RAG with LlamaIndex.TS.",
|
|
3220
|
+
category: "api-ai",
|
|
3221
|
+
author: "@vince",
|
|
3222
|
+
conflictsWith: [],
|
|
3223
|
+
discourages: [],
|
|
3224
|
+
compatibleWith: [],
|
|
3225
|
+
requires: [],
|
|
3226
|
+
alternatives: [
|
|
3227
|
+
{
|
|
3228
|
+
skillId: "api-ai-vercel-ai-sdk",
|
|
3229
|
+
purpose: "AI SDK"
|
|
3230
|
+
},
|
|
3231
|
+
{
|
|
3232
|
+
skillId: "api-ai-langchain",
|
|
3233
|
+
purpose: "AI SDK"
|
|
3234
|
+
}
|
|
3235
|
+
],
|
|
3236
|
+
isRecommended: false,
|
|
3237
|
+
path: "skills/api-ai-llamaindex"
|
|
3238
|
+
},
|
|
1998
3239
|
"web-framework-svelte": {
|
|
1999
3240
|
id: "web-framework-svelte",
|
|
2000
3241
|
slug: "svelte",
|
|
@@ -2022,7 +3263,16 @@ var BUILT_IN_MATRIX = {
|
|
|
2022
3263
|
}
|
|
2023
3264
|
],
|
|
2024
3265
|
discourages: [],
|
|
2025
|
-
compatibleWith: [
|
|
3266
|
+
compatibleWith: [
|
|
3267
|
+
"web-tooling-storybook",
|
|
3268
|
+
"web-framework-react",
|
|
3269
|
+
"web-framework-vue-composition-api",
|
|
3270
|
+
"web-framework-angular-standalone",
|
|
3271
|
+
"web-meta-framework-nextjs",
|
|
3272
|
+
"web-meta-framework-remix",
|
|
3273
|
+
"web-meta-framework-nuxt",
|
|
3274
|
+
"web-meta-framework-sveltekit"
|
|
3275
|
+
],
|
|
2026
3276
|
requires: [],
|
|
2027
3277
|
alternatives: [
|
|
2028
3278
|
{
|
|
@@ -2045,6 +3295,22 @@ var BUILT_IN_MATRIX = {
|
|
|
2045
3295
|
isRecommended: false,
|
|
2046
3296
|
path: "skills/web-framework-svelte"
|
|
2047
3297
|
},
|
|
3298
|
+
"api-ai-elevenlabs": {
|
|
3299
|
+
id: "api-ai-elevenlabs",
|
|
3300
|
+
slug: "elevenlabs",
|
|
3301
|
+
displayName: "ElevenLabs",
|
|
3302
|
+
description: "AI voice synthesis with text-to-speech, voice cloning, and real-time streaming",
|
|
3303
|
+
usageGuidance: "Use when generating speech with ElevenLabs \u2014 text-to-speech, streaming audio, voice cloning, voice selection, pronunciation control (SSML), and real-time conversational AI.",
|
|
3304
|
+
category: "api-ai",
|
|
3305
|
+
author: "@vince",
|
|
3306
|
+
conflictsWith: [],
|
|
3307
|
+
discourages: [],
|
|
3308
|
+
compatibleWith: [],
|
|
3309
|
+
requires: [],
|
|
3310
|
+
alternatives: [],
|
|
3311
|
+
isRecommended: false,
|
|
3312
|
+
path: "skills/api-ai-elevenlabs"
|
|
3313
|
+
},
|
|
2048
3314
|
"api-performance-api-performance": {
|
|
2049
3315
|
id: "api-performance-api-performance",
|
|
2050
3316
|
slug: "api-performance",
|
|
@@ -2115,11 +3381,59 @@ var BUILT_IN_MATRIX = {
|
|
|
2115
3381
|
usageGuidance: "Use when building React UIs with Ant Design \u2014 ConfigProvider theming, Table, Form, Layout, data entry components, and enterprise design patterns.",
|
|
2116
3382
|
category: "web-ui-components",
|
|
2117
3383
|
author: "@vince",
|
|
2118
|
-
conflictsWith: [
|
|
3384
|
+
conflictsWith: [
|
|
3385
|
+
{
|
|
3386
|
+
skillId: "web-ui-shadcn-ui",
|
|
3387
|
+
reason: "React UI component libraries define competing design systems"
|
|
3388
|
+
},
|
|
3389
|
+
{
|
|
3390
|
+
skillId: "web-ui-mui",
|
|
3391
|
+
reason: "React UI component libraries define competing design systems"
|
|
3392
|
+
},
|
|
3393
|
+
{
|
|
3394
|
+
skillId: "web-ui-chakra-ui",
|
|
3395
|
+
reason: "React UI component libraries define competing design systems"
|
|
3396
|
+
},
|
|
3397
|
+
{
|
|
3398
|
+
skillId: "web-ui-mantine",
|
|
3399
|
+
reason: "React UI component libraries define competing design systems"
|
|
3400
|
+
}
|
|
3401
|
+
],
|
|
2119
3402
|
discourages: [],
|
|
2120
|
-
compatibleWith: [
|
|
2121
|
-
|
|
2122
|
-
|
|
3403
|
+
compatibleWith: [
|
|
3404
|
+
"web-framework-react",
|
|
3405
|
+
"web-meta-framework-nextjs",
|
|
3406
|
+
"web-meta-framework-remix"
|
|
3407
|
+
],
|
|
3408
|
+
requires: [
|
|
3409
|
+
{
|
|
3410
|
+
skillIds: [
|
|
3411
|
+
"web-framework-react",
|
|
3412
|
+
"web-meta-framework-nextjs",
|
|
3413
|
+
"web-meta-framework-remix"
|
|
3414
|
+
],
|
|
3415
|
+
needsAny: true,
|
|
3416
|
+
reason: "Ant Design is a React component library"
|
|
3417
|
+
}
|
|
3418
|
+
],
|
|
3419
|
+
alternatives: [
|
|
3420
|
+
{
|
|
3421
|
+
skillId: "web-ui-shadcn-ui",
|
|
3422
|
+
purpose: "UI Components (React)"
|
|
3423
|
+
},
|
|
3424
|
+
{
|
|
3425
|
+
skillId: "web-ui-mui",
|
|
3426
|
+
purpose: "UI Components (React)"
|
|
3427
|
+
},
|
|
3428
|
+
{
|
|
3429
|
+
skillId: "web-ui-chakra-ui",
|
|
3430
|
+
purpose: "UI Components (React)"
|
|
3431
|
+
},
|
|
3432
|
+
{
|
|
3433
|
+
skillId: "web-ui-mantine",
|
|
3434
|
+
purpose: "UI Components (React)"
|
|
3435
|
+
}
|
|
3436
|
+
],
|
|
2123
3437
|
isRecommended: false,
|
|
2124
3438
|
path: "skills/web-ui-ant-design"
|
|
2125
3439
|
},
|
|
@@ -2145,7 +3459,12 @@ var BUILT_IN_MATRIX = {
|
|
|
2145
3459
|
"web-meta-framework-nextjs",
|
|
2146
3460
|
"web-meta-framework-remix",
|
|
2147
3461
|
"web-data-fetching-graphql-urql",
|
|
2148
|
-
"web-framework-solidjs"
|
|
3462
|
+
"web-framework-solidjs",
|
|
3463
|
+
"web-ui-headless-ui",
|
|
3464
|
+
"web-utilities-vueuse",
|
|
3465
|
+
"web-tooling-storybook",
|
|
3466
|
+
"web-framework-svelte",
|
|
3467
|
+
"web-meta-framework-sveltekit"
|
|
2149
3468
|
],
|
|
2150
3469
|
requires: [
|
|
2151
3470
|
{
|
|
@@ -2170,6 +3489,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2170
3489
|
{
|
|
2171
3490
|
skillId: "web-meta-framework-astro",
|
|
2172
3491
|
purpose: "Meta-Framework"
|
|
3492
|
+
},
|
|
3493
|
+
{
|
|
3494
|
+
skillId: "web-meta-framework-qwik",
|
|
3495
|
+
purpose: "Meta-Framework"
|
|
2173
3496
|
}
|
|
2174
3497
|
],
|
|
2175
3498
|
isRecommended: false,
|
|
@@ -2187,10 +3510,57 @@ var BUILT_IN_MATRIX = {
|
|
|
2187
3510
|
discourages: [],
|
|
2188
3511
|
compatibleWith: [],
|
|
2189
3512
|
requires: [],
|
|
2190
|
-
alternatives: [
|
|
3513
|
+
alternatives: [
|
|
3514
|
+
{
|
|
3515
|
+
skillId: "api-baas-firebase",
|
|
3516
|
+
purpose: "Backend as a Service"
|
|
3517
|
+
},
|
|
3518
|
+
{
|
|
3519
|
+
skillId: "api-baas-appwrite",
|
|
3520
|
+
purpose: "Backend as a Service"
|
|
3521
|
+
}
|
|
3522
|
+
],
|
|
2191
3523
|
isRecommended: false,
|
|
2192
3524
|
path: "skills/api-baas-supabase"
|
|
2193
3525
|
},
|
|
3526
|
+
"api-database-mongoose": {
|
|
3527
|
+
id: "api-database-mongoose",
|
|
3528
|
+
slug: "mongoose",
|
|
3529
|
+
displayName: "Mongoose",
|
|
3530
|
+
description: "MongoDB ODM with schemas, validation, middleware, and TypeScript support",
|
|
3531
|
+
usageGuidance: "Use when working with MongoDB via Mongoose \u2014 schema definitions, model creation, queries, population, middleware hooks, virtuals, and TypeScript integration.",
|
|
3532
|
+
category: "api-database",
|
|
3533
|
+
author: "@vince",
|
|
3534
|
+
conflictsWith: [
|
|
3535
|
+
{
|
|
3536
|
+
skillId: "api-database-mongodb",
|
|
3537
|
+
reason: "Raw MongoDB driver and Mongoose ODM are alternative approaches"
|
|
3538
|
+
}
|
|
3539
|
+
],
|
|
3540
|
+
discourages: [],
|
|
3541
|
+
compatibleWith: [],
|
|
3542
|
+
requires: [],
|
|
3543
|
+
alternatives: [
|
|
3544
|
+
{
|
|
3545
|
+
skillId: "api-database-drizzle",
|
|
3546
|
+
purpose: "Database ORM / ODM"
|
|
3547
|
+
},
|
|
3548
|
+
{
|
|
3549
|
+
skillId: "api-database-prisma",
|
|
3550
|
+
purpose: "Database ORM / ODM"
|
|
3551
|
+
},
|
|
3552
|
+
{
|
|
3553
|
+
skillId: "api-database-sequelize",
|
|
3554
|
+
purpose: "Database ORM / ODM"
|
|
3555
|
+
},
|
|
3556
|
+
{
|
|
3557
|
+
skillId: "api-database-typeorm",
|
|
3558
|
+
purpose: "Database ORM / ODM"
|
|
3559
|
+
}
|
|
3560
|
+
],
|
|
3561
|
+
isRecommended: false,
|
|
3562
|
+
path: "skills/api-database-mongoose"
|
|
3563
|
+
},
|
|
2194
3564
|
"web-state-mobx": {
|
|
2195
3565
|
id: "web-state-mobx",
|
|
2196
3566
|
slug: "mobx",
|
|
@@ -2272,7 +3642,16 @@ var BUILT_IN_MATRIX = {
|
|
|
2272
3642
|
discourages: [],
|
|
2273
3643
|
compatibleWith: [],
|
|
2274
3644
|
requires: [],
|
|
2275
|
-
alternatives: [
|
|
3645
|
+
alternatives: [
|
|
3646
|
+
{
|
|
3647
|
+
skillId: "web-animation-framer-motion",
|
|
3648
|
+
purpose: "Animation"
|
|
3649
|
+
},
|
|
3650
|
+
{
|
|
3651
|
+
skillId: "web-animation-view-transitions",
|
|
3652
|
+
purpose: "Animation"
|
|
3653
|
+
}
|
|
3654
|
+
],
|
|
2276
3655
|
isRecommended: false,
|
|
2277
3656
|
path: "skills/web-animation-css-animations"
|
|
2278
3657
|
},
|
|
@@ -2316,14 +3695,49 @@ var BUILT_IN_MATRIX = {
|
|
|
2316
3695
|
usageGuidance: "Use when setting up or working with Nx monorepos \u2014 workspace configuration, project graph, task pipelines, caching, generators, and plugins.",
|
|
2317
3696
|
category: "shared-monorepo",
|
|
2318
3697
|
author: "@vince",
|
|
2319
|
-
conflictsWith: [
|
|
3698
|
+
conflictsWith: [
|
|
3699
|
+
{
|
|
3700
|
+
skillId: "shared-monorepo-turborepo",
|
|
3701
|
+
reason: "Monorepo build orchestrators are mutually exclusive"
|
|
3702
|
+
}
|
|
3703
|
+
],
|
|
2320
3704
|
discourages: [],
|
|
2321
3705
|
compatibleWith: [],
|
|
2322
3706
|
requires: [],
|
|
2323
|
-
alternatives: [
|
|
3707
|
+
alternatives: [
|
|
3708
|
+
{
|
|
3709
|
+
skillId: "shared-monorepo-turborepo",
|
|
3710
|
+
purpose: "Monorepo Orchestrator"
|
|
3711
|
+
}
|
|
3712
|
+
],
|
|
2324
3713
|
isRecommended: false,
|
|
2325
3714
|
path: "skills/shared-monorepo-nx"
|
|
2326
3715
|
},
|
|
3716
|
+
"api-baas-appwrite": {
|
|
3717
|
+
id: "api-baas-appwrite",
|
|
3718
|
+
slug: "appwrite",
|
|
3719
|
+
displayName: "Appwrite",
|
|
3720
|
+
description: "Open-source backend-as-a-service with auth, databases, storage, and functions",
|
|
3721
|
+
usageGuidance: "Use when building with Appwrite \u2014 client/server SDKs for authentication, TablesDB (tables, rows, columns), file storage with buckets, serverless functions, and realtime subscriptions.",
|
|
3722
|
+
category: "api-baas",
|
|
3723
|
+
author: "@vince",
|
|
3724
|
+
conflictsWith: [],
|
|
3725
|
+
discourages: [],
|
|
3726
|
+
compatibleWith: [],
|
|
3727
|
+
requires: [],
|
|
3728
|
+
alternatives: [
|
|
3729
|
+
{
|
|
3730
|
+
skillId: "api-baas-supabase",
|
|
3731
|
+
purpose: "Backend as a Service"
|
|
3732
|
+
},
|
|
3733
|
+
{
|
|
3734
|
+
skillId: "api-baas-firebase",
|
|
3735
|
+
purpose: "Backend as a Service"
|
|
3736
|
+
}
|
|
3737
|
+
],
|
|
3738
|
+
isRecommended: false,
|
|
3739
|
+
path: "skills/api-baas-appwrite"
|
|
3740
|
+
},
|
|
2327
3741
|
"cli-framework-oclif-ink": {
|
|
2328
3742
|
id: "cli-framework-oclif-ink",
|
|
2329
3743
|
slug: "oclif-ink",
|
|
@@ -2350,6 +3764,62 @@ var BUILT_IN_MATRIX = {
|
|
|
2350
3764
|
isRecommended: false,
|
|
2351
3765
|
path: "skills/cli-framework-oclif-ink"
|
|
2352
3766
|
},
|
|
3767
|
+
"api-cms-strapi": {
|
|
3768
|
+
id: "api-cms-strapi",
|
|
3769
|
+
slug: "strapi",
|
|
3770
|
+
displayName: "Strapi",
|
|
3771
|
+
description: "Open-source headless CMS with content types, REST/GraphQL API, and admin panel",
|
|
3772
|
+
usageGuidance: "Use when building content-managed applications with Strapi \u2014 content type schemas, REST API (filters, populate, pagination), Document Service API (find, create, update, delete, publish), custom controllers, services, policies, middlewares, lifecycle hooks, authentication (register, login, JWT), roles and permissions, media upload, and TypeScript support.",
|
|
3773
|
+
category: "api-cms",
|
|
3774
|
+
author: "@vince",
|
|
3775
|
+
conflictsWith: [
|
|
3776
|
+
{
|
|
3777
|
+
skillId: "api-cms-payload",
|
|
3778
|
+
reason: "CMS platforms are mutually exclusive"
|
|
3779
|
+
},
|
|
3780
|
+
{
|
|
3781
|
+
skillId: "api-cms-sanity",
|
|
3782
|
+
reason: "CMS platforms are mutually exclusive"
|
|
3783
|
+
}
|
|
3784
|
+
],
|
|
3785
|
+
discourages: [],
|
|
3786
|
+
compatibleWith: [],
|
|
3787
|
+
requires: [],
|
|
3788
|
+
alternatives: [
|
|
3789
|
+
{
|
|
3790
|
+
skillId: "api-cms-payload",
|
|
3791
|
+
purpose: "CMS"
|
|
3792
|
+
},
|
|
3793
|
+
{
|
|
3794
|
+
skillId: "api-cms-sanity",
|
|
3795
|
+
purpose: "CMS"
|
|
3796
|
+
}
|
|
3797
|
+
],
|
|
3798
|
+
isRecommended: false,
|
|
3799
|
+
path: "skills/api-cms-strapi"
|
|
3800
|
+
},
|
|
3801
|
+
"web-utilities-vueuse": {
|
|
3802
|
+
id: "web-utilities-vueuse",
|
|
3803
|
+
slug: "vueuse",
|
|
3804
|
+
displayName: "Vueuse",
|
|
3805
|
+
description: "Vue Composition API utility collection with 250+ composable functions",
|
|
3806
|
+
usageGuidance: "Use when building Vue apps with VueUse \u2014 browser APIs (useLocalStorage, useClipboard, useFetch), sensors (useMouse, useScroll), animations, state management helpers, and component utilities.",
|
|
3807
|
+
category: "web-utilities",
|
|
3808
|
+
author: "@vince",
|
|
3809
|
+
conflictsWith: [],
|
|
3810
|
+
discourages: [],
|
|
3811
|
+
compatibleWith: ["web-framework-vue-composition-api", "web-meta-framework-nuxt"],
|
|
3812
|
+
requires: [
|
|
3813
|
+
{
|
|
3814
|
+
skillIds: ["web-framework-vue-composition-api", "web-meta-framework-nuxt"],
|
|
3815
|
+
needsAny: true,
|
|
3816
|
+
reason: "VueUse composables require Vue 3"
|
|
3817
|
+
}
|
|
3818
|
+
],
|
|
3819
|
+
alternatives: [],
|
|
3820
|
+
isRecommended: false,
|
|
3821
|
+
path: "skills/web-utilities-vueuse"
|
|
3822
|
+
},
|
|
2353
3823
|
"api-baas-firebase": {
|
|
2354
3824
|
id: "api-baas-firebase",
|
|
2355
3825
|
slug: "firebase",
|
|
@@ -2362,7 +3832,16 @@ var BUILT_IN_MATRIX = {
|
|
|
2362
3832
|
discourages: [],
|
|
2363
3833
|
compatibleWith: [],
|
|
2364
3834
|
requires: [],
|
|
2365
|
-
alternatives: [
|
|
3835
|
+
alternatives: [
|
|
3836
|
+
{
|
|
3837
|
+
skillId: "api-baas-supabase",
|
|
3838
|
+
purpose: "Backend as a Service"
|
|
3839
|
+
},
|
|
3840
|
+
{
|
|
3841
|
+
skillId: "api-baas-appwrite",
|
|
3842
|
+
purpose: "Backend as a Service"
|
|
3843
|
+
}
|
|
3844
|
+
],
|
|
2366
3845
|
isRecommended: false,
|
|
2367
3846
|
path: "skills/api-baas-firebase"
|
|
2368
3847
|
},
|
|
@@ -2378,17 +3857,50 @@ var BUILT_IN_MATRIX = {
|
|
|
2378
3857
|
discourages: [],
|
|
2379
3858
|
compatibleWith: [],
|
|
2380
3859
|
requires: [],
|
|
2381
|
-
alternatives: [
|
|
3860
|
+
alternatives: [
|
|
3861
|
+
{
|
|
3862
|
+
skillId: "api-ai-anthropic-sdk",
|
|
3863
|
+
purpose: "AI Provider SDK"
|
|
3864
|
+
},
|
|
3865
|
+
{
|
|
3866
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
3867
|
+
purpose: "AI Provider SDK"
|
|
3868
|
+
},
|
|
3869
|
+
{
|
|
3870
|
+
skillId: "api-ai-mistral-sdk",
|
|
3871
|
+
purpose: "AI Provider SDK"
|
|
3872
|
+
},
|
|
3873
|
+
{
|
|
3874
|
+
skillId: "api-ai-cohere-sdk",
|
|
3875
|
+
purpose: "AI Provider SDK"
|
|
3876
|
+
},
|
|
3877
|
+
{
|
|
3878
|
+
skillId: "api-ai-together-ai",
|
|
3879
|
+
purpose: "AI Provider SDK"
|
|
3880
|
+
},
|
|
3881
|
+
{
|
|
3882
|
+
skillId: "api-ai-replicate",
|
|
3883
|
+
purpose: "AI Provider SDK"
|
|
3884
|
+
},
|
|
3885
|
+
{
|
|
3886
|
+
skillId: "api-ai-huggingface-inference",
|
|
3887
|
+
purpose: "AI Provider SDK"
|
|
3888
|
+
},
|
|
3889
|
+
{
|
|
3890
|
+
skillId: "api-ai-ollama",
|
|
3891
|
+
purpose: "AI Provider SDK"
|
|
3892
|
+
}
|
|
3893
|
+
],
|
|
2382
3894
|
isRecommended: false,
|
|
2383
3895
|
path: "skills/api-ai-openai-sdk"
|
|
2384
3896
|
},
|
|
2385
|
-
"api-
|
|
2386
|
-
id: "api-
|
|
2387
|
-
slug: "
|
|
2388
|
-
displayName: "
|
|
2389
|
-
description: "
|
|
2390
|
-
usageGuidance: "Use when
|
|
2391
|
-
category: "api-
|
|
3897
|
+
"api-ai-langfuse": {
|
|
3898
|
+
id: "api-ai-langfuse",
|
|
3899
|
+
slug: "langfuse",
|
|
3900
|
+
displayName: "Langfuse",
|
|
3901
|
+
description: "LLM observability platform with tracing, evaluations, and prompt management",
|
|
3902
|
+
usageGuidance: "Use when adding observability to LLM applications \u2014 tracing LLM calls, tracking costs, evaluations, prompt management, session tracking, user feedback, and datasets for testing with Langfuse.",
|
|
3903
|
+
category: "api-ai",
|
|
2392
3904
|
author: "@vince",
|
|
2393
3905
|
conflictsWith: [],
|
|
2394
3906
|
discourages: [],
|
|
@@ -2396,6 +3908,53 @@ var BUILT_IN_MATRIX = {
|
|
|
2396
3908
|
requires: [],
|
|
2397
3909
|
alternatives: [],
|
|
2398
3910
|
isRecommended: false,
|
|
3911
|
+
path: "skills/api-ai-langfuse"
|
|
3912
|
+
},
|
|
3913
|
+
"api-ai-openai-whisper": {
|
|
3914
|
+
id: "api-ai-openai-whisper",
|
|
3915
|
+
slug: "openai-whisper",
|
|
3916
|
+
displayName: "OpenAI Whisper",
|
|
3917
|
+
description: "Speech-to-text transcription and translation via OpenAI Audio API",
|
|
3918
|
+
usageGuidance: "Use when transcribing or translating audio with OpenAI Whisper -- file transcription, real-time transcription, translation to English, timestamp generation, and custom vocabulary prompting.",
|
|
3919
|
+
category: "api-ai",
|
|
3920
|
+
author: "@vince",
|
|
3921
|
+
conflictsWith: [],
|
|
3922
|
+
discourages: [],
|
|
3923
|
+
compatibleWith: [],
|
|
3924
|
+
requires: [
|
|
3925
|
+
{
|
|
3926
|
+
skillIds: ["api-ai-openai-sdk"],
|
|
3927
|
+
needsAny: false,
|
|
3928
|
+
reason: "Whisper API uses the OpenAI SDK"
|
|
3929
|
+
}
|
|
3930
|
+
],
|
|
3931
|
+
alternatives: [],
|
|
3932
|
+
isRecommended: false,
|
|
3933
|
+
path: "skills/api-ai-openai-whisper"
|
|
3934
|
+
},
|
|
3935
|
+
"api-database-redis": {
|
|
3936
|
+
id: "api-database-redis",
|
|
3937
|
+
slug: "redis",
|
|
3938
|
+
displayName: "Redis",
|
|
3939
|
+
description: "Redis in-memory data store with ioredis",
|
|
3940
|
+
usageGuidance: "Use when implementing caching, session storage, rate limiting, pub/sub messaging, queues, or real-time leaderboards with Redis.",
|
|
3941
|
+
category: "api-database",
|
|
3942
|
+
author: "@vince",
|
|
3943
|
+
conflictsWith: [],
|
|
3944
|
+
discourages: [],
|
|
3945
|
+
compatibleWith: [],
|
|
3946
|
+
requires: [],
|
|
3947
|
+
alternatives: [
|
|
3948
|
+
{
|
|
3949
|
+
skillId: "api-baas-upstash",
|
|
3950
|
+
purpose: "Cache / KV Store"
|
|
3951
|
+
},
|
|
3952
|
+
{
|
|
3953
|
+
skillId: "api-baas-vercel-kv",
|
|
3954
|
+
purpose: "Cache / KV Store"
|
|
3955
|
+
}
|
|
3956
|
+
],
|
|
3957
|
+
isRecommended: false,
|
|
2399
3958
|
path: "skills/api-database-redis"
|
|
2400
3959
|
},
|
|
2401
3960
|
"shared-monorepo-pnpm-workspaces": {
|
|
@@ -2414,6 +3973,22 @@ var BUILT_IN_MATRIX = {
|
|
|
2414
3973
|
isRecommended: false,
|
|
2415
3974
|
path: "skills/shared-monorepo-pnpm-workspaces"
|
|
2416
3975
|
},
|
|
3976
|
+
"api-ai-litellm": {
|
|
3977
|
+
id: "api-ai-litellm",
|
|
3978
|
+
slug: "litellm",
|
|
3979
|
+
displayName: "LiteLLM",
|
|
3980
|
+
description: "Unified LLM proxy supporting 100+ providers with OpenAI-compatible API",
|
|
3981
|
+
usageGuidance: "Use when routing LLM requests through LiteLLM proxy \u2014 unified OpenAI-compatible API across providers, model fallbacks, load balancing, spend tracking, and rate limiting. Covers proxy server config.yaml setup, TypeScript client via OpenAI SDK, virtual keys, and production deployment.",
|
|
3982
|
+
category: "api-ai",
|
|
3983
|
+
author: "@vince",
|
|
3984
|
+
conflictsWith: [],
|
|
3985
|
+
discourages: [],
|
|
3986
|
+
compatibleWith: [],
|
|
3987
|
+
requires: [],
|
|
3988
|
+
alternatives: [],
|
|
3989
|
+
isRecommended: false,
|
|
3990
|
+
path: "skills/api-ai-litellm"
|
|
3991
|
+
},
|
|
2417
3992
|
"web-ui-mui": {
|
|
2418
3993
|
id: "web-ui-mui",
|
|
2419
3994
|
slug: "mui",
|
|
@@ -2422,11 +3997,59 @@ var BUILT_IN_MATRIX = {
|
|
|
2422
3997
|
usageGuidance: "Use when building React UIs with MUI \u2014 theming, component customization, sx prop, styled API, data grids, date pickers, and Material Design patterns.",
|
|
2423
3998
|
category: "web-ui-components",
|
|
2424
3999
|
author: "@vince",
|
|
2425
|
-
conflictsWith: [
|
|
4000
|
+
conflictsWith: [
|
|
4001
|
+
{
|
|
4002
|
+
skillId: "web-ui-shadcn-ui",
|
|
4003
|
+
reason: "React UI component libraries define competing design systems"
|
|
4004
|
+
},
|
|
4005
|
+
{
|
|
4006
|
+
skillId: "web-ui-chakra-ui",
|
|
4007
|
+
reason: "React UI component libraries define competing design systems"
|
|
4008
|
+
},
|
|
4009
|
+
{
|
|
4010
|
+
skillId: "web-ui-mantine",
|
|
4011
|
+
reason: "React UI component libraries define competing design systems"
|
|
4012
|
+
},
|
|
4013
|
+
{
|
|
4014
|
+
skillId: "web-ui-ant-design",
|
|
4015
|
+
reason: "React UI component libraries define competing design systems"
|
|
4016
|
+
}
|
|
4017
|
+
],
|
|
2426
4018
|
discourages: [],
|
|
2427
|
-
compatibleWith: [
|
|
2428
|
-
|
|
2429
|
-
|
|
4019
|
+
compatibleWith: [
|
|
4020
|
+
"web-framework-react",
|
|
4021
|
+
"web-meta-framework-nextjs",
|
|
4022
|
+
"web-meta-framework-remix"
|
|
4023
|
+
],
|
|
4024
|
+
requires: [
|
|
4025
|
+
{
|
|
4026
|
+
skillIds: [
|
|
4027
|
+
"web-framework-react",
|
|
4028
|
+
"web-meta-framework-nextjs",
|
|
4029
|
+
"web-meta-framework-remix"
|
|
4030
|
+
],
|
|
4031
|
+
needsAny: true,
|
|
4032
|
+
reason: "MUI is a React component library"
|
|
4033
|
+
}
|
|
4034
|
+
],
|
|
4035
|
+
alternatives: [
|
|
4036
|
+
{
|
|
4037
|
+
skillId: "web-ui-shadcn-ui",
|
|
4038
|
+
purpose: "UI Components (React)"
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
skillId: "web-ui-chakra-ui",
|
|
4042
|
+
purpose: "UI Components (React)"
|
|
4043
|
+
},
|
|
4044
|
+
{
|
|
4045
|
+
skillId: "web-ui-mantine",
|
|
4046
|
+
purpose: "UI Components (React)"
|
|
4047
|
+
},
|
|
4048
|
+
{
|
|
4049
|
+
skillId: "web-ui-ant-design",
|
|
4050
|
+
purpose: "UI Components (React)"
|
|
4051
|
+
}
|
|
4052
|
+
],
|
|
2430
4053
|
isRecommended: false,
|
|
2431
4054
|
path: "skills/web-ui-mui"
|
|
2432
4055
|
},
|
|
@@ -2441,14 +4064,27 @@ var BUILT_IN_MATRIX = {
|
|
|
2441
4064
|
conflictsWith: [
|
|
2442
4065
|
{
|
|
2443
4066
|
skillId: "api-database-prisma",
|
|
2444
|
-
reason: "
|
|
4067
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
2445
4068
|
},
|
|
2446
4069
|
{
|
|
2447
|
-
skillId: "api-database-
|
|
2448
|
-
reason: "
|
|
4070
|
+
skillId: "api-database-sequelize",
|
|
4071
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
4072
|
+
},
|
|
4073
|
+
{
|
|
4074
|
+
skillId: "api-database-typeorm",
|
|
4075
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
4076
|
+
}
|
|
4077
|
+
],
|
|
4078
|
+
discourages: [
|
|
4079
|
+
{
|
|
4080
|
+
skillId: "api-database-sequelize",
|
|
4081
|
+
reason: "Sequelize is mature but Drizzle offers better TypeScript integration"
|
|
4082
|
+
},
|
|
4083
|
+
{
|
|
4084
|
+
skillId: "api-database-typeorm",
|
|
4085
|
+
reason: "TypeORM uses decorators; Drizzle is more TypeScript-native"
|
|
2449
4086
|
}
|
|
2450
4087
|
],
|
|
2451
|
-
discourages: [],
|
|
2452
4088
|
compatibleWith: [],
|
|
2453
4089
|
requires: [],
|
|
2454
4090
|
alternatives: [
|
|
@@ -2457,7 +4093,15 @@ var BUILT_IN_MATRIX = {
|
|
|
2457
4093
|
purpose: "Database ORM / ODM"
|
|
2458
4094
|
},
|
|
2459
4095
|
{
|
|
2460
|
-
skillId: "api-database-
|
|
4096
|
+
skillId: "api-database-sequelize",
|
|
4097
|
+
purpose: "Database ORM / ODM"
|
|
4098
|
+
},
|
|
4099
|
+
{
|
|
4100
|
+
skillId: "api-database-typeorm",
|
|
4101
|
+
purpose: "Database ORM / ODM"
|
|
4102
|
+
},
|
|
4103
|
+
{
|
|
4104
|
+
skillId: "api-database-mongoose",
|
|
2461
4105
|
purpose: "Database ORM / ODM"
|
|
2462
4106
|
}
|
|
2463
4107
|
],
|
|
@@ -2465,6 +4109,22 @@ var BUILT_IN_MATRIX = {
|
|
|
2465
4109
|
recommendedReason: "Modern TypeScript-first ORM",
|
|
2466
4110
|
path: "skills/api-database-drizzle"
|
|
2467
4111
|
},
|
|
4112
|
+
"api-database-surrealdb": {
|
|
4113
|
+
id: "api-database-surrealdb",
|
|
4114
|
+
slug: "surrealdb",
|
|
4115
|
+
displayName: "SurrealDB",
|
|
4116
|
+
description: "Multi-model database with SQL-like query language, graph relations, and real-time subscriptions",
|
|
4117
|
+
usageGuidance: "Use when working with SurrealDB \u2014 SurrealQL queries, record links for graph relations, live queries for real-time, schema-full and schema-less modes, and multi-tenancy with namespaces and databases.",
|
|
4118
|
+
category: "api-database",
|
|
4119
|
+
author: "@vince",
|
|
4120
|
+
conflictsWith: [],
|
|
4121
|
+
discourages: [],
|
|
4122
|
+
compatibleWith: [],
|
|
4123
|
+
requires: [],
|
|
4124
|
+
alternatives: [],
|
|
4125
|
+
isRecommended: false,
|
|
4126
|
+
path: "skills/api-database-surrealdb"
|
|
4127
|
+
},
|
|
2468
4128
|
"web-testing-vitest": {
|
|
2469
4129
|
id: "web-testing-vitest",
|
|
2470
4130
|
slug: "vitest",
|
|
@@ -2502,6 +4162,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2502
4162
|
{
|
|
2503
4163
|
skillId: "web-meta-framework-astro",
|
|
2504
4164
|
reason: "Meta-frameworks are mutually exclusive"
|
|
4165
|
+
},
|
|
4166
|
+
{
|
|
4167
|
+
skillId: "web-meta-framework-qwik",
|
|
4168
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
2505
4169
|
}
|
|
2506
4170
|
],
|
|
2507
4171
|
discourages: [],
|
|
@@ -2531,7 +4195,15 @@ var BUILT_IN_MATRIX = {
|
|
|
2531
4195
|
"web-framework-angular-standalone",
|
|
2532
4196
|
"web-meta-framework-nuxt",
|
|
2533
4197
|
"web-data-fetching-graphql-urql",
|
|
2534
|
-
"web-framework-solidjs"
|
|
4198
|
+
"web-framework-solidjs",
|
|
4199
|
+
"web-ui-chakra-ui",
|
|
4200
|
+
"web-ui-mantine",
|
|
4201
|
+
"web-ui-mui",
|
|
4202
|
+
"web-ui-ant-design",
|
|
4203
|
+
"web-ui-headless-ui",
|
|
4204
|
+
"web-tooling-storybook",
|
|
4205
|
+
"web-framework-svelte",
|
|
4206
|
+
"web-meta-framework-sveltekit"
|
|
2535
4207
|
],
|
|
2536
4208
|
requires: [
|
|
2537
4209
|
{
|
|
@@ -2556,11 +4228,31 @@ var BUILT_IN_MATRIX = {
|
|
|
2556
4228
|
{
|
|
2557
4229
|
skillId: "web-meta-framework-astro",
|
|
2558
4230
|
purpose: "Meta-Framework"
|
|
4231
|
+
},
|
|
4232
|
+
{
|
|
4233
|
+
skillId: "web-meta-framework-qwik",
|
|
4234
|
+
purpose: "Meta-Framework"
|
|
2559
4235
|
}
|
|
2560
4236
|
],
|
|
2561
4237
|
isRecommended: false,
|
|
2562
4238
|
path: "skills/web-meta-framework-nextjs"
|
|
2563
4239
|
},
|
|
4240
|
+
"api-database-cockroachdb": {
|
|
4241
|
+
id: "api-database-cockroachdb",
|
|
4242
|
+
slug: "cockroachdb",
|
|
4243
|
+
displayName: "CockroachDB",
|
|
4244
|
+
description: "Distributed SQL database with PostgreSQL compatibility and automatic replication",
|
|
4245
|
+
usageGuidance: "Use when working with CockroachDB -- PostgreSQL-compatible wire protocol, distributed transactions with serializable isolation, automatic sharding, multi-region locality, and transaction retry logic.",
|
|
4246
|
+
category: "api-database",
|
|
4247
|
+
author: "@vince",
|
|
4248
|
+
conflictsWith: [],
|
|
4249
|
+
discourages: [],
|
|
4250
|
+
compatibleWith: [],
|
|
4251
|
+
requires: [],
|
|
4252
|
+
alternatives: [],
|
|
4253
|
+
isRecommended: false,
|
|
4254
|
+
path: "skills/api-database-cockroachdb"
|
|
4255
|
+
},
|
|
2564
4256
|
"web-animation-view-transitions": {
|
|
2565
4257
|
id: "web-animation-view-transitions",
|
|
2566
4258
|
slug: "view-transitions",
|
|
@@ -2573,7 +4265,16 @@ var BUILT_IN_MATRIX = {
|
|
|
2573
4265
|
discourages: [],
|
|
2574
4266
|
compatibleWith: [],
|
|
2575
4267
|
requires: [],
|
|
2576
|
-
alternatives: [
|
|
4268
|
+
alternatives: [
|
|
4269
|
+
{
|
|
4270
|
+
skillId: "web-animation-framer-motion",
|
|
4271
|
+
purpose: "Animation"
|
|
4272
|
+
},
|
|
4273
|
+
{
|
|
4274
|
+
skillId: "web-animation-css-animations",
|
|
4275
|
+
purpose: "Animation"
|
|
4276
|
+
}
|
|
4277
|
+
],
|
|
2577
4278
|
isRecommended: false,
|
|
2578
4279
|
path: "skills/web-animation-view-transitions"
|
|
2579
4280
|
},
|
|
@@ -2585,11 +4286,45 @@ var BUILT_IN_MATRIX = {
|
|
|
2585
4286
|
usageGuidance: "Use when building NestJS apps with modules, controllers, services, or decorators.",
|
|
2586
4287
|
category: "api-api",
|
|
2587
4288
|
author: "@vince",
|
|
2588
|
-
conflictsWith: [
|
|
4289
|
+
conflictsWith: [
|
|
4290
|
+
{
|
|
4291
|
+
skillId: "api-framework-hono",
|
|
4292
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
4293
|
+
},
|
|
4294
|
+
{
|
|
4295
|
+
skillId: "api-framework-express",
|
|
4296
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
4297
|
+
},
|
|
4298
|
+
{
|
|
4299
|
+
skillId: "api-framework-fastify",
|
|
4300
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
4301
|
+
},
|
|
4302
|
+
{
|
|
4303
|
+
skillId: "api-framework-elysia",
|
|
4304
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
4305
|
+
}
|
|
4306
|
+
],
|
|
2589
4307
|
discourages: [],
|
|
2590
4308
|
compatibleWith: [],
|
|
2591
4309
|
requires: [],
|
|
2592
|
-
alternatives: [
|
|
4310
|
+
alternatives: [
|
|
4311
|
+
{
|
|
4312
|
+
skillId: "api-framework-hono",
|
|
4313
|
+
purpose: "API Framework"
|
|
4314
|
+
},
|
|
4315
|
+
{
|
|
4316
|
+
skillId: "api-framework-express",
|
|
4317
|
+
purpose: "API Framework"
|
|
4318
|
+
},
|
|
4319
|
+
{
|
|
4320
|
+
skillId: "api-framework-fastify",
|
|
4321
|
+
purpose: "API Framework"
|
|
4322
|
+
},
|
|
4323
|
+
{
|
|
4324
|
+
skillId: "api-framework-elysia",
|
|
4325
|
+
purpose: "API Framework"
|
|
4326
|
+
}
|
|
4327
|
+
],
|
|
2593
4328
|
isRecommended: false,
|
|
2594
4329
|
path: "skills/api-framework-nestjs"
|
|
2595
4330
|
},
|
|
@@ -2609,6 +4344,60 @@ var BUILT_IN_MATRIX = {
|
|
|
2609
4344
|
isRecommended: false,
|
|
2610
4345
|
path: "skills/api-email-resend-react-email"
|
|
2611
4346
|
},
|
|
4347
|
+
"api-baas-vercel-kv": {
|
|
4348
|
+
id: "api-baas-vercel-kv",
|
|
4349
|
+
slug: "vercel-kv",
|
|
4350
|
+
displayName: "Vercel KV",
|
|
4351
|
+
description: "Serverless Redis-compatible key-value store on Vercel",
|
|
4352
|
+
usageGuidance: "Use when deploying Redis-compatible KV storage on Vercel -- automatic connection via UPSTASH_REDIS_REST_URL env vars, edge-compatible REST API, Redis command compatibility, and TTL-based caching.",
|
|
4353
|
+
category: "api-baas",
|
|
4354
|
+
author: "@vince",
|
|
4355
|
+
conflictsWith: [],
|
|
4356
|
+
discourages: [],
|
|
4357
|
+
compatibleWith: [],
|
|
4358
|
+
requires: [],
|
|
4359
|
+
alternatives: [
|
|
4360
|
+
{
|
|
4361
|
+
skillId: "api-database-redis",
|
|
4362
|
+
purpose: "Cache / KV Store"
|
|
4363
|
+
},
|
|
4364
|
+
{
|
|
4365
|
+
skillId: "api-baas-upstash",
|
|
4366
|
+
purpose: "Cache / KV Store"
|
|
4367
|
+
}
|
|
4368
|
+
],
|
|
4369
|
+
isRecommended: false,
|
|
4370
|
+
path: "skills/api-baas-vercel-kv"
|
|
4371
|
+
},
|
|
4372
|
+
"api-baas-vercel-postgres": {
|
|
4373
|
+
id: "api-baas-vercel-postgres",
|
|
4374
|
+
slug: "vercel-postgres",
|
|
4375
|
+
displayName: "Vercel Postgres",
|
|
4376
|
+
description: "Serverless PostgreSQL on Vercel with edge-compatible SDK",
|
|
4377
|
+
usageGuidance: "Use when deploying PostgreSQL on Vercel -- sql tagged template for edge functions, createPool/createClient for Node.js, automatic connection management via POSTGRES_URL env vars. NOTE: @vercel/postgres is deprecated (Dec 2024). For new projects, use @neondatabase/serverless instead.",
|
|
4378
|
+
category: "api-baas",
|
|
4379
|
+
author: "@vince",
|
|
4380
|
+
conflictsWith: [],
|
|
4381
|
+
discourages: [],
|
|
4382
|
+
compatibleWith: [],
|
|
4383
|
+
requires: [],
|
|
4384
|
+
alternatives: [
|
|
4385
|
+
{
|
|
4386
|
+
skillId: "api-baas-neon",
|
|
4387
|
+
purpose: "Managed Database"
|
|
4388
|
+
},
|
|
4389
|
+
{
|
|
4390
|
+
skillId: "api-baas-planetscale",
|
|
4391
|
+
purpose: "Managed Database"
|
|
4392
|
+
},
|
|
4393
|
+
{
|
|
4394
|
+
skillId: "api-baas-turso",
|
|
4395
|
+
purpose: "Managed Database"
|
|
4396
|
+
}
|
|
4397
|
+
],
|
|
4398
|
+
isRecommended: false,
|
|
4399
|
+
path: "skills/api-baas-vercel-postgres"
|
|
4400
|
+
},
|
|
2612
4401
|
"api-framework-express": {
|
|
2613
4402
|
id: "api-framework-express",
|
|
2614
4403
|
slug: "express",
|
|
@@ -2625,6 +4414,14 @@ var BUILT_IN_MATRIX = {
|
|
|
2625
4414
|
{
|
|
2626
4415
|
skillId: "api-framework-fastify",
|
|
2627
4416
|
reason: "API frameworks are mutually exclusive within a single service"
|
|
4417
|
+
},
|
|
4418
|
+
{
|
|
4419
|
+
skillId: "api-framework-elysia",
|
|
4420
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
4421
|
+
},
|
|
4422
|
+
{
|
|
4423
|
+
skillId: "api-framework-nestjs",
|
|
4424
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
2628
4425
|
}
|
|
2629
4426
|
],
|
|
2630
4427
|
discourages: [
|
|
@@ -2635,6 +4432,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2635
4432
|
{
|
|
2636
4433
|
skillId: "api-framework-fastify",
|
|
2637
4434
|
reason: "Express is mature but Fastify offers better performance"
|
|
4435
|
+
},
|
|
4436
|
+
{
|
|
4437
|
+
skillId: "api-framework-elysia",
|
|
4438
|
+
reason: "Express is mature but Elysia is faster on Bun with end-to-end type safety"
|
|
2638
4439
|
}
|
|
2639
4440
|
],
|
|
2640
4441
|
compatibleWith: [],
|
|
@@ -2647,11 +4448,35 @@ var BUILT_IN_MATRIX = {
|
|
|
2647
4448
|
{
|
|
2648
4449
|
skillId: "api-framework-fastify",
|
|
2649
4450
|
purpose: "API Framework"
|
|
4451
|
+
},
|
|
4452
|
+
{
|
|
4453
|
+
skillId: "api-framework-elysia",
|
|
4454
|
+
purpose: "API Framework"
|
|
4455
|
+
},
|
|
4456
|
+
{
|
|
4457
|
+
skillId: "api-framework-nestjs",
|
|
4458
|
+
purpose: "API Framework"
|
|
2650
4459
|
}
|
|
2651
4460
|
],
|
|
2652
4461
|
isRecommended: false,
|
|
2653
4462
|
path: "skills/api-framework-express"
|
|
2654
4463
|
},
|
|
4464
|
+
"api-ai-modal": {
|
|
4465
|
+
id: "api-ai-modal",
|
|
4466
|
+
slug: "modal",
|
|
4467
|
+
displayName: "Modal",
|
|
4468
|
+
description: "Serverless GPU compute platform for AI model deployment and inference",
|
|
4469
|
+
usageGuidance: "Use when deploying ML models or GPU workloads on Modal \u2014 web endpoints for API access from TypeScript, serverless GPU functions, model serving, scheduled jobs, and container-based deployments.",
|
|
4470
|
+
category: "api-ai",
|
|
4471
|
+
author: "@vince",
|
|
4472
|
+
conflictsWith: [],
|
|
4473
|
+
discourages: [],
|
|
4474
|
+
compatibleWith: [],
|
|
4475
|
+
requires: [],
|
|
4476
|
+
alternatives: [],
|
|
4477
|
+
isRecommended: false,
|
|
4478
|
+
path: "skills/api-ai-modal"
|
|
4479
|
+
},
|
|
2655
4480
|
"web-ui-tanstack-table": {
|
|
2656
4481
|
id: "web-ui-tanstack-table",
|
|
2657
4482
|
slug: "tanstack-table",
|
|
@@ -2692,6 +4517,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2692
4517
|
{
|
|
2693
4518
|
skillId: "web-meta-framework-astro",
|
|
2694
4519
|
reason: "Meta-frameworks are mutually exclusive"
|
|
4520
|
+
},
|
|
4521
|
+
{
|
|
4522
|
+
skillId: "web-meta-framework-qwik",
|
|
4523
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
2695
4524
|
}
|
|
2696
4525
|
],
|
|
2697
4526
|
discourages: [],
|
|
@@ -2720,7 +4549,16 @@ var BUILT_IN_MATRIX = {
|
|
|
2720
4549
|
"web-framework-angular-standalone",
|
|
2721
4550
|
"web-meta-framework-nuxt",
|
|
2722
4551
|
"web-data-fetching-graphql-urql",
|
|
2723
|
-
"web-framework-solidjs"
|
|
4552
|
+
"web-framework-solidjs",
|
|
4553
|
+
"web-routing-react-router",
|
|
4554
|
+
"web-ui-chakra-ui",
|
|
4555
|
+
"web-ui-mantine",
|
|
4556
|
+
"web-ui-mui",
|
|
4557
|
+
"web-ui-ant-design",
|
|
4558
|
+
"web-ui-headless-ui",
|
|
4559
|
+
"web-tooling-storybook",
|
|
4560
|
+
"web-framework-svelte",
|
|
4561
|
+
"web-meta-framework-sveltekit"
|
|
2724
4562
|
],
|
|
2725
4563
|
requires: [
|
|
2726
4564
|
{
|
|
@@ -2745,6 +4583,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2745
4583
|
{
|
|
2746
4584
|
skillId: "web-meta-framework-astro",
|
|
2747
4585
|
purpose: "Meta-Framework"
|
|
4586
|
+
},
|
|
4587
|
+
{
|
|
4588
|
+
skillId: "web-meta-framework-qwik",
|
|
4589
|
+
purpose: "Meta-Framework"
|
|
2748
4590
|
}
|
|
2749
4591
|
],
|
|
2750
4592
|
isRecommended: false,
|
|
@@ -2762,10 +4604,45 @@ var BUILT_IN_MATRIX = {
|
|
|
2762
4604
|
discourages: [],
|
|
2763
4605
|
compatibleWith: [],
|
|
2764
4606
|
requires: [],
|
|
2765
|
-
alternatives: [
|
|
2766
|
-
|
|
4607
|
+
alternatives: [
|
|
4608
|
+
{
|
|
4609
|
+
skillId: "api-ai-langchain",
|
|
4610
|
+
purpose: "AI SDK"
|
|
4611
|
+
},
|
|
4612
|
+
{
|
|
4613
|
+
skillId: "api-ai-llamaindex",
|
|
4614
|
+
purpose: "AI SDK"
|
|
4615
|
+
}
|
|
4616
|
+
],
|
|
4617
|
+
isRecommended: true,
|
|
4618
|
+
recommendedReason: "Provider-agnostic AI integration with streaming",
|
|
2767
4619
|
path: "skills/api-ai-vercel-ai-sdk"
|
|
2768
4620
|
},
|
|
4621
|
+
"api-ai-langchain": {
|
|
4622
|
+
id: "api-ai-langchain",
|
|
4623
|
+
slug: "langchain",
|
|
4624
|
+
displayName: "LangChain",
|
|
4625
|
+
description: "LLM application framework with chains, agents, RAG, and memory",
|
|
4626
|
+
usageGuidance: "Use when building LLM-powered applications with LangChain.js \u2014 chat models, prompt templates, output parsers, chains (LCEL), agents with tools, RAG pipelines, vector stores, and memory.",
|
|
4627
|
+
category: "api-ai",
|
|
4628
|
+
author: "@vince",
|
|
4629
|
+
conflictsWith: [],
|
|
4630
|
+
discourages: [],
|
|
4631
|
+
compatibleWith: [],
|
|
4632
|
+
requires: [],
|
|
4633
|
+
alternatives: [
|
|
4634
|
+
{
|
|
4635
|
+
skillId: "api-ai-vercel-ai-sdk",
|
|
4636
|
+
purpose: "AI SDK"
|
|
4637
|
+
},
|
|
4638
|
+
{
|
|
4639
|
+
skillId: "api-ai-llamaindex",
|
|
4640
|
+
purpose: "AI SDK"
|
|
4641
|
+
}
|
|
4642
|
+
],
|
|
4643
|
+
isRecommended: false,
|
|
4644
|
+
path: "skills/api-ai-langchain"
|
|
4645
|
+
},
|
|
2769
4646
|
"web-error-handling-result-types": {
|
|
2770
4647
|
id: "web-error-handling-result-types",
|
|
2771
4648
|
slug: "result-types",
|
|
@@ -2877,12 +4754,77 @@ var BUILT_IN_MATRIX = {
|
|
|
2877
4754
|
recommendedReason: "Best React form library",
|
|
2878
4755
|
path: "skills/web-forms-react-hook-form"
|
|
2879
4756
|
},
|
|
2880
|
-
"
|
|
2881
|
-
id: "
|
|
2882
|
-
slug: "
|
|
2883
|
-
displayName: "
|
|
2884
|
-
description: "
|
|
2885
|
-
usageGuidance: "Use when
|
|
4757
|
+
"api-ai-google-gemini-sdk": {
|
|
4758
|
+
id: "api-ai-google-gemini-sdk",
|
|
4759
|
+
slug: "google-gemini-sdk",
|
|
4760
|
+
displayName: "Google Gemini SDK",
|
|
4761
|
+
description: "Official TypeScript SDK for Google Gemini with multimodal input, function calling, and structured output",
|
|
4762
|
+
usageGuidance: "Use when integrating Google Gemini \u2014 text generation, multimodal input (images, video, audio, PDF), function calling, structured JSON output, streaming, embeddings, and context caching.",
|
|
4763
|
+
category: "api-ai",
|
|
4764
|
+
author: "@vince",
|
|
4765
|
+
conflictsWith: [],
|
|
4766
|
+
discourages: [],
|
|
4767
|
+
compatibleWith: [],
|
|
4768
|
+
requires: [],
|
|
4769
|
+
alternatives: [
|
|
4770
|
+
{
|
|
4771
|
+
skillId: "api-ai-anthropic-sdk",
|
|
4772
|
+
purpose: "AI Provider SDK"
|
|
4773
|
+
},
|
|
4774
|
+
{
|
|
4775
|
+
skillId: "api-ai-openai-sdk",
|
|
4776
|
+
purpose: "AI Provider SDK"
|
|
4777
|
+
},
|
|
4778
|
+
{
|
|
4779
|
+
skillId: "api-ai-mistral-sdk",
|
|
4780
|
+
purpose: "AI Provider SDK"
|
|
4781
|
+
},
|
|
4782
|
+
{
|
|
4783
|
+
skillId: "api-ai-cohere-sdk",
|
|
4784
|
+
purpose: "AI Provider SDK"
|
|
4785
|
+
},
|
|
4786
|
+
{
|
|
4787
|
+
skillId: "api-ai-together-ai",
|
|
4788
|
+
purpose: "AI Provider SDK"
|
|
4789
|
+
},
|
|
4790
|
+
{
|
|
4791
|
+
skillId: "api-ai-replicate",
|
|
4792
|
+
purpose: "AI Provider SDK"
|
|
4793
|
+
},
|
|
4794
|
+
{
|
|
4795
|
+
skillId: "api-ai-huggingface-inference",
|
|
4796
|
+
purpose: "AI Provider SDK"
|
|
4797
|
+
},
|
|
4798
|
+
{
|
|
4799
|
+
skillId: "api-ai-ollama",
|
|
4800
|
+
purpose: "AI Provider SDK"
|
|
4801
|
+
}
|
|
4802
|
+
],
|
|
4803
|
+
isRecommended: false,
|
|
4804
|
+
path: "skills/api-ai-google-gemini-sdk"
|
|
4805
|
+
},
|
|
4806
|
+
"api-database-postgresql": {
|
|
4807
|
+
id: "api-database-postgresql",
|
|
4808
|
+
slug: "postgresql",
|
|
4809
|
+
displayName: "PostgreSQL",
|
|
4810
|
+
description: "Direct PostgreSQL database access with node-postgres (pg)",
|
|
4811
|
+
usageGuidance: "Use when interacting directly with PostgreSQL -- connection pools, parameterized queries, transactions, migrations, and type-safe query results with pg.",
|
|
4812
|
+
category: "api-database",
|
|
4813
|
+
author: "@vince",
|
|
4814
|
+
conflictsWith: [],
|
|
4815
|
+
discourages: [],
|
|
4816
|
+
compatibleWith: [],
|
|
4817
|
+
requires: [],
|
|
4818
|
+
alternatives: [],
|
|
4819
|
+
isRecommended: false,
|
|
4820
|
+
path: "skills/api-database-postgresql"
|
|
4821
|
+
},
|
|
4822
|
+
"web-meta-framework-sveltekit": {
|
|
4823
|
+
id: "web-meta-framework-sveltekit",
|
|
4824
|
+
slug: "sveltekit",
|
|
4825
|
+
displayName: "SvelteKit",
|
|
4826
|
+
description: "SvelteKit full-stack framework",
|
|
4827
|
+
usageGuidance: "Use when building SvelteKit apps with load functions, form actions, or server hooks.",
|
|
2886
4828
|
category: "web-meta-framework",
|
|
2887
4829
|
author: "@vince",
|
|
2888
4830
|
conflictsWith: [
|
|
@@ -2897,10 +4839,23 @@ var BUILT_IN_MATRIX = {
|
|
|
2897
4839
|
{
|
|
2898
4840
|
skillId: "web-meta-framework-astro",
|
|
2899
4841
|
reason: "Meta-frameworks are mutually exclusive"
|
|
4842
|
+
},
|
|
4843
|
+
{
|
|
4844
|
+
skillId: "web-meta-framework-qwik",
|
|
4845
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
2900
4846
|
}
|
|
2901
4847
|
],
|
|
2902
4848
|
discourages: [],
|
|
2903
|
-
compatibleWith: [
|
|
4849
|
+
compatibleWith: [
|
|
4850
|
+
"web-tooling-storybook",
|
|
4851
|
+
"web-framework-react",
|
|
4852
|
+
"web-framework-vue-composition-api",
|
|
4853
|
+
"web-framework-angular-standalone",
|
|
4854
|
+
"web-framework-svelte",
|
|
4855
|
+
"web-meta-framework-nextjs",
|
|
4856
|
+
"web-meta-framework-remix",
|
|
4857
|
+
"web-meta-framework-nuxt"
|
|
4858
|
+
],
|
|
2904
4859
|
requires: [
|
|
2905
4860
|
{
|
|
2906
4861
|
skillIds: ["web-framework-svelte"],
|
|
@@ -2924,6 +4879,10 @@ var BUILT_IN_MATRIX = {
|
|
|
2924
4879
|
{
|
|
2925
4880
|
skillId: "web-meta-framework-astro",
|
|
2926
4881
|
purpose: "Meta-Framework"
|
|
4882
|
+
},
|
|
4883
|
+
{
|
|
4884
|
+
skillId: "web-meta-framework-qwik",
|
|
4885
|
+
purpose: "Meta-Framework"
|
|
2927
4886
|
}
|
|
2928
4887
|
],
|
|
2929
4888
|
isRecommended: false,
|
|
@@ -2941,10 +4900,62 @@ var BUILT_IN_MATRIX = {
|
|
|
2941
4900
|
discourages: [],
|
|
2942
4901
|
compatibleWith: [],
|
|
2943
4902
|
requires: [],
|
|
2944
|
-
alternatives: [
|
|
4903
|
+
alternatives: [
|
|
4904
|
+
{
|
|
4905
|
+
skillId: "web-realtime-websockets",
|
|
4906
|
+
purpose: "Realtime"
|
|
4907
|
+
},
|
|
4908
|
+
{
|
|
4909
|
+
skillId: "web-realtime-sse",
|
|
4910
|
+
purpose: "Realtime"
|
|
4911
|
+
}
|
|
4912
|
+
],
|
|
2945
4913
|
isRecommended: false,
|
|
2946
4914
|
path: "skills/web-realtime-socket-io"
|
|
2947
4915
|
},
|
|
4916
|
+
"api-vector-db-pinecone": {
|
|
4917
|
+
id: "api-vector-db-pinecone",
|
|
4918
|
+
slug: "pinecone",
|
|
4919
|
+
displayName: "Pinecone",
|
|
4920
|
+
description: "Serverless vector database for similarity search and RAG applications",
|
|
4921
|
+
usageGuidance: "Use when building semantic search or RAG with Pinecone -- index management, vector upsert/query, metadata filtering, namespaces, sparse-dense hybrid search, and serverless scaling.",
|
|
4922
|
+
category: "api-vector-db",
|
|
4923
|
+
author: "@vince",
|
|
4924
|
+
conflictsWith: [
|
|
4925
|
+
{
|
|
4926
|
+
skillId: "api-vector-db-qdrant",
|
|
4927
|
+
reason: "Vector databases are mutually exclusive"
|
|
4928
|
+
},
|
|
4929
|
+
{
|
|
4930
|
+
skillId: "api-vector-db-chroma",
|
|
4931
|
+
reason: "Vector databases are mutually exclusive"
|
|
4932
|
+
},
|
|
4933
|
+
{
|
|
4934
|
+
skillId: "api-vector-db-weaviate",
|
|
4935
|
+
reason: "Vector databases are mutually exclusive"
|
|
4936
|
+
}
|
|
4937
|
+
],
|
|
4938
|
+
discourages: [],
|
|
4939
|
+
compatibleWith: [],
|
|
4940
|
+
requires: [],
|
|
4941
|
+
alternatives: [
|
|
4942
|
+
{
|
|
4943
|
+
skillId: "api-vector-db-qdrant",
|
|
4944
|
+
purpose: "Vector Database"
|
|
4945
|
+
},
|
|
4946
|
+
{
|
|
4947
|
+
skillId: "api-vector-db-chroma",
|
|
4948
|
+
purpose: "Vector Database"
|
|
4949
|
+
},
|
|
4950
|
+
{
|
|
4951
|
+
skillId: "api-vector-db-weaviate",
|
|
4952
|
+
purpose: "Vector Database"
|
|
4953
|
+
}
|
|
4954
|
+
],
|
|
4955
|
+
isRecommended: true,
|
|
4956
|
+
recommendedReason: "Managed vector database for AI applications",
|
|
4957
|
+
path: "skills/api-vector-db-pinecone"
|
|
4958
|
+
},
|
|
2948
4959
|
"web-accessibility-web-accessibility": {
|
|
2949
4960
|
id: "web-accessibility-web-accessibility",
|
|
2950
4961
|
slug: "web-accessibility",
|
|
@@ -2961,6 +4972,55 @@ var BUILT_IN_MATRIX = {
|
|
|
2961
4972
|
isRecommended: false,
|
|
2962
4973
|
path: "skills/web-accessibility-web-accessibility"
|
|
2963
4974
|
},
|
|
4975
|
+
"api-ai-together-ai": {
|
|
4976
|
+
id: "api-ai-together-ai",
|
|
4977
|
+
slug: "together-ai",
|
|
4978
|
+
displayName: "Together AI",
|
|
4979
|
+
description: "Multi-model inference API for open-source LLMs",
|
|
4980
|
+
usageGuidance: "Use when running open-source LLMs on Together AI \u2014 chat completions, streaming, embeddings, image generation, function calling, JSON mode, structured output, fine-tuning, and OpenAI-compatible endpoints.",
|
|
4981
|
+
category: "api-ai",
|
|
4982
|
+
author: "@vince",
|
|
4983
|
+
conflictsWith: [],
|
|
4984
|
+
discourages: [],
|
|
4985
|
+
compatibleWith: [],
|
|
4986
|
+
requires: [],
|
|
4987
|
+
alternatives: [
|
|
4988
|
+
{
|
|
4989
|
+
skillId: "api-ai-anthropic-sdk",
|
|
4990
|
+
purpose: "AI Provider SDK"
|
|
4991
|
+
},
|
|
4992
|
+
{
|
|
4993
|
+
skillId: "api-ai-openai-sdk",
|
|
4994
|
+
purpose: "AI Provider SDK"
|
|
4995
|
+
},
|
|
4996
|
+
{
|
|
4997
|
+
skillId: "api-ai-google-gemini-sdk",
|
|
4998
|
+
purpose: "AI Provider SDK"
|
|
4999
|
+
},
|
|
5000
|
+
{
|
|
5001
|
+
skillId: "api-ai-mistral-sdk",
|
|
5002
|
+
purpose: "AI Provider SDK"
|
|
5003
|
+
},
|
|
5004
|
+
{
|
|
5005
|
+
skillId: "api-ai-cohere-sdk",
|
|
5006
|
+
purpose: "AI Provider SDK"
|
|
5007
|
+
},
|
|
5008
|
+
{
|
|
5009
|
+
skillId: "api-ai-replicate",
|
|
5010
|
+
purpose: "AI Provider SDK"
|
|
5011
|
+
},
|
|
5012
|
+
{
|
|
5013
|
+
skillId: "api-ai-huggingface-inference",
|
|
5014
|
+
purpose: "AI Provider SDK"
|
|
5015
|
+
},
|
|
5016
|
+
{
|
|
5017
|
+
skillId: "api-ai-ollama",
|
|
5018
|
+
purpose: "AI Provider SDK"
|
|
5019
|
+
}
|
|
5020
|
+
],
|
|
5021
|
+
isRecommended: false,
|
|
5022
|
+
path: "skills/api-ai-together-ai"
|
|
5023
|
+
},
|
|
2964
5024
|
"web-styling-scss-modules": {
|
|
2965
5025
|
id: "web-styling-scss-modules",
|
|
2966
5026
|
slug: "scss-modules",
|
|
@@ -2986,6 +5046,70 @@ var BUILT_IN_MATRIX = {
|
|
|
2986
5046
|
isRecommended: false,
|
|
2987
5047
|
path: "skills/web-styling-scss-modules"
|
|
2988
5048
|
},
|
|
5049
|
+
"web-ui-mantine": {
|
|
5050
|
+
id: "web-ui-mantine",
|
|
5051
|
+
slug: "mantine",
|
|
5052
|
+
displayName: "Mantine",
|
|
5053
|
+
description: "Full-featured React component library with hooks, forms, and theming",
|
|
5054
|
+
usageGuidance: "Use when building React UIs with Mantine \u2014 100+ components, CSS modules styling, theme customization, built-in hooks, form management with @mantine/form, and notification system.",
|
|
5055
|
+
category: "web-ui-components",
|
|
5056
|
+
author: "@vince",
|
|
5057
|
+
conflictsWith: [
|
|
5058
|
+
{
|
|
5059
|
+
skillId: "web-ui-shadcn-ui",
|
|
5060
|
+
reason: "React UI component libraries define competing design systems"
|
|
5061
|
+
},
|
|
5062
|
+
{
|
|
5063
|
+
skillId: "web-ui-mui",
|
|
5064
|
+
reason: "React UI component libraries define competing design systems"
|
|
5065
|
+
},
|
|
5066
|
+
{
|
|
5067
|
+
skillId: "web-ui-chakra-ui",
|
|
5068
|
+
reason: "React UI component libraries define competing design systems"
|
|
5069
|
+
},
|
|
5070
|
+
{
|
|
5071
|
+
skillId: "web-ui-ant-design",
|
|
5072
|
+
reason: "React UI component libraries define competing design systems"
|
|
5073
|
+
}
|
|
5074
|
+
],
|
|
5075
|
+
discourages: [],
|
|
5076
|
+
compatibleWith: [
|
|
5077
|
+
"web-framework-react",
|
|
5078
|
+
"web-meta-framework-nextjs",
|
|
5079
|
+
"web-meta-framework-remix"
|
|
5080
|
+
],
|
|
5081
|
+
requires: [
|
|
5082
|
+
{
|
|
5083
|
+
skillIds: [
|
|
5084
|
+
"web-framework-react",
|
|
5085
|
+
"web-meta-framework-nextjs",
|
|
5086
|
+
"web-meta-framework-remix"
|
|
5087
|
+
],
|
|
5088
|
+
needsAny: true,
|
|
5089
|
+
reason: "Mantine is a React component library"
|
|
5090
|
+
}
|
|
5091
|
+
],
|
|
5092
|
+
alternatives: [
|
|
5093
|
+
{
|
|
5094
|
+
skillId: "web-ui-shadcn-ui",
|
|
5095
|
+
purpose: "UI Components (React)"
|
|
5096
|
+
},
|
|
5097
|
+
{
|
|
5098
|
+
skillId: "web-ui-mui",
|
|
5099
|
+
purpose: "UI Components (React)"
|
|
5100
|
+
},
|
|
5101
|
+
{
|
|
5102
|
+
skillId: "web-ui-chakra-ui",
|
|
5103
|
+
purpose: "UI Components (React)"
|
|
5104
|
+
},
|
|
5105
|
+
{
|
|
5106
|
+
skillId: "web-ui-ant-design",
|
|
5107
|
+
purpose: "UI Components (React)"
|
|
5108
|
+
}
|
|
5109
|
+
],
|
|
5110
|
+
isRecommended: false,
|
|
5111
|
+
path: "skills/web-ui-mantine"
|
|
5112
|
+
},
|
|
2989
5113
|
"shared-security-auth-security": {
|
|
2990
5114
|
id: "shared-security-auth-security",
|
|
2991
5115
|
slug: "auth-security",
|
|
@@ -3018,6 +5142,23 @@ var BUILT_IN_MATRIX = {
|
|
|
3018
5142
|
isRecommended: false,
|
|
3019
5143
|
path: "skills/web-utilities-native-js"
|
|
3020
5144
|
},
|
|
5145
|
+
"api-commerce-stripe": {
|
|
5146
|
+
id: "api-commerce-stripe",
|
|
5147
|
+
slug: "stripe",
|
|
5148
|
+
displayName: "Stripe",
|
|
5149
|
+
description: "Payment processing with subscriptions, checkout, webhooks, and Connect",
|
|
5150
|
+
usageGuidance: "Use when integrating payments with Stripe \u2014 Checkout Sessions, Payment Intents, subscriptions, webhooks, customer management, Connect for platforms, and Stripe Elements.",
|
|
5151
|
+
category: "api-commerce",
|
|
5152
|
+
author: "@vince",
|
|
5153
|
+
conflictsWith: [],
|
|
5154
|
+
discourages: [],
|
|
5155
|
+
compatibleWith: [],
|
|
5156
|
+
requires: [],
|
|
5157
|
+
alternatives: [],
|
|
5158
|
+
isRecommended: true,
|
|
5159
|
+
recommendedReason: "Industry-standard payment processing",
|
|
5160
|
+
path: "skills/api-commerce-stripe"
|
|
5161
|
+
},
|
|
3021
5162
|
"api-framework-fastify": {
|
|
3022
5163
|
id: "api-framework-fastify",
|
|
3023
5164
|
slug: "fastify",
|
|
@@ -3034,6 +5175,14 @@ var BUILT_IN_MATRIX = {
|
|
|
3034
5175
|
{
|
|
3035
5176
|
skillId: "api-framework-express",
|
|
3036
5177
|
reason: "API frameworks are mutually exclusive within a single service"
|
|
5178
|
+
},
|
|
5179
|
+
{
|
|
5180
|
+
skillId: "api-framework-elysia",
|
|
5181
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
5182
|
+
},
|
|
5183
|
+
{
|
|
5184
|
+
skillId: "api-framework-nestjs",
|
|
5185
|
+
reason: "API frameworks are mutually exclusive within a single service"
|
|
3037
5186
|
}
|
|
3038
5187
|
],
|
|
3039
5188
|
discourages: [
|
|
@@ -3052,6 +5201,14 @@ var BUILT_IN_MATRIX = {
|
|
|
3052
5201
|
{
|
|
3053
5202
|
skillId: "api-framework-express",
|
|
3054
5203
|
purpose: "API Framework"
|
|
5204
|
+
},
|
|
5205
|
+
{
|
|
5206
|
+
skillId: "api-framework-elysia",
|
|
5207
|
+
purpose: "API Framework"
|
|
5208
|
+
},
|
|
5209
|
+
{
|
|
5210
|
+
skillId: "api-framework-nestjs",
|
|
5211
|
+
purpose: "API Framework"
|
|
3055
5212
|
}
|
|
3056
5213
|
],
|
|
3057
5214
|
isRecommended: false,
|
|
@@ -3105,6 +5262,60 @@ var BUILT_IN_MATRIX = {
|
|
|
3105
5262
|
recommendedReason: "Product analytics and feature flags",
|
|
3106
5263
|
path: "skills/api-analytics-posthog-analytics"
|
|
3107
5264
|
},
|
|
5265
|
+
"web-meta-framework-qwik": {
|
|
5266
|
+
id: "web-meta-framework-qwik",
|
|
5267
|
+
slug: "qwik",
|
|
5268
|
+
displayName: "Qwik",
|
|
5269
|
+
description: "Resumable framework with zero JS hydration and fine-grained lazy loading",
|
|
5270
|
+
usageGuidance: "Use when building web apps that need instant interactivity \u2014 resumability eliminates hydration, $ suffixed functions mark lazy boundaries, and Qwik City provides file-based routing with server loaders and actions.",
|
|
5271
|
+
category: "web-meta-framework",
|
|
5272
|
+
author: "@vince",
|
|
5273
|
+
conflictsWith: [
|
|
5274
|
+
{
|
|
5275
|
+
skillId: "web-meta-framework-nextjs",
|
|
5276
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
5277
|
+
},
|
|
5278
|
+
{
|
|
5279
|
+
skillId: "web-meta-framework-remix",
|
|
5280
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
5281
|
+
},
|
|
5282
|
+
{
|
|
5283
|
+
skillId: "web-meta-framework-sveltekit",
|
|
5284
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
5285
|
+
},
|
|
5286
|
+
{
|
|
5287
|
+
skillId: "web-meta-framework-astro",
|
|
5288
|
+
reason: "Meta-frameworks are mutually exclusive"
|
|
5289
|
+
}
|
|
5290
|
+
],
|
|
5291
|
+
discourages: [],
|
|
5292
|
+
compatibleWith: [],
|
|
5293
|
+
requires: [],
|
|
5294
|
+
alternatives: [
|
|
5295
|
+
{
|
|
5296
|
+
skillId: "web-meta-framework-nextjs",
|
|
5297
|
+
purpose: "Meta-Framework"
|
|
5298
|
+
},
|
|
5299
|
+
{
|
|
5300
|
+
skillId: "web-meta-framework-remix",
|
|
5301
|
+
purpose: "Meta-Framework"
|
|
5302
|
+
},
|
|
5303
|
+
{
|
|
5304
|
+
skillId: "web-meta-framework-nuxt",
|
|
5305
|
+
purpose: "Meta-Framework"
|
|
5306
|
+
},
|
|
5307
|
+
{
|
|
5308
|
+
skillId: "web-meta-framework-sveltekit",
|
|
5309
|
+
purpose: "Meta-Framework"
|
|
5310
|
+
},
|
|
5311
|
+
{
|
|
5312
|
+
skillId: "web-meta-framework-astro",
|
|
5313
|
+
purpose: "Meta-Framework"
|
|
5314
|
+
}
|
|
5315
|
+
],
|
|
5316
|
+
isRecommended: false,
|
|
5317
|
+
path: "skills/web-meta-framework-qwik"
|
|
5318
|
+
},
|
|
3108
5319
|
"web-data-fetching-swr": {
|
|
3109
5320
|
id: "web-data-fetching-swr",
|
|
3110
5321
|
slug: "swr",
|
|
@@ -3151,6 +5362,57 @@ var BUILT_IN_MATRIX = {
|
|
|
3151
5362
|
isRecommended: false,
|
|
3152
5363
|
path: "skills/web-data-fetching-swr"
|
|
3153
5364
|
},
|
|
5365
|
+
"api-database-sequelize": {
|
|
5366
|
+
id: "api-database-sequelize",
|
|
5367
|
+
slug: "sequelize",
|
|
5368
|
+
displayName: "Sequelize",
|
|
5369
|
+
description: "Promise-based ORM for SQL databases with model definitions and migrations",
|
|
5370
|
+
usageGuidance: "Use when working with SQL databases via Sequelize \u2014 model definitions, associations, queries, transactions, migrations, hooks, and scopes.",
|
|
5371
|
+
category: "api-database",
|
|
5372
|
+
author: "@vince",
|
|
5373
|
+
conflictsWith: [
|
|
5374
|
+
{
|
|
5375
|
+
skillId: "api-database-drizzle",
|
|
5376
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
5377
|
+
},
|
|
5378
|
+
{
|
|
5379
|
+
skillId: "api-database-prisma",
|
|
5380
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
5381
|
+
},
|
|
5382
|
+
{
|
|
5383
|
+
skillId: "api-database-typeorm",
|
|
5384
|
+
reason: "SQL ORMs are mutually exclusive"
|
|
5385
|
+
}
|
|
5386
|
+
],
|
|
5387
|
+
discourages: [
|
|
5388
|
+
{
|
|
5389
|
+
skillId: "api-database-drizzle",
|
|
5390
|
+
reason: "Sequelize is mature but Drizzle offers better TypeScript integration"
|
|
5391
|
+
}
|
|
5392
|
+
],
|
|
5393
|
+
compatibleWith: [],
|
|
5394
|
+
requires: [],
|
|
5395
|
+
alternatives: [
|
|
5396
|
+
{
|
|
5397
|
+
skillId: "api-database-drizzle",
|
|
5398
|
+
purpose: "Database ORM / ODM"
|
|
5399
|
+
},
|
|
5400
|
+
{
|
|
5401
|
+
skillId: "api-database-prisma",
|
|
5402
|
+
purpose: "Database ORM / ODM"
|
|
5403
|
+
},
|
|
5404
|
+
{
|
|
5405
|
+
skillId: "api-database-typeorm",
|
|
5406
|
+
purpose: "Database ORM / ODM"
|
|
5407
|
+
},
|
|
5408
|
+
{
|
|
5409
|
+
skillId: "api-database-mongoose",
|
|
5410
|
+
purpose: "Database ORM / ODM"
|
|
5411
|
+
}
|
|
5412
|
+
],
|
|
5413
|
+
isRecommended: false,
|
|
5414
|
+
path: "skills/api-database-sequelize"
|
|
5415
|
+
},
|
|
3154
5416
|
"web-i18n-react-intl": {
|
|
3155
5417
|
id: "web-i18n-react-intl",
|
|
3156
5418
|
slug: "react-intl",
|
|
@@ -3362,7 +5624,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3362
5624
|
"cli-framework": ["cli-framework-cli-commander"],
|
|
3363
5625
|
"shared-meta": ["shared-meta-reviewing"]
|
|
3364
5626
|
},
|
|
3365
|
-
|
|
5627
|
+
scribe: {
|
|
3366
5628
|
"web-framework": ["web-framework-react"],
|
|
3367
5629
|
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
3368
5630
|
"web-styling": ["web-styling-scss-modules"],
|
|
@@ -3513,7 +5775,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3513
5775
|
"api-auth": ["api-auth-nextauth"],
|
|
3514
5776
|
"shared-meta": ["shared-meta-reviewing"]
|
|
3515
5777
|
},
|
|
3516
|
-
|
|
5778
|
+
scribe: {
|
|
3517
5779
|
"web-framework": ["web-framework-react"],
|
|
3518
5780
|
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
3519
5781
|
"web-styling": ["web-styling-tailwind"],
|
|
@@ -3742,7 +6004,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3742
6004
|
"cli-framework": ["cli-framework-cli-commander"],
|
|
3743
6005
|
"shared-meta": ["shared-meta-reviewing"]
|
|
3744
6006
|
},
|
|
3745
|
-
|
|
6007
|
+
scribe: {
|
|
3746
6008
|
"web-framework": ["web-framework-react"],
|
|
3747
6009
|
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
3748
6010
|
"web-styling": ["web-styling-scss-modules"],
|
|
@@ -3996,7 +6258,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3996
6258
|
"shared-meta": ["shared-meta-reviewing"],
|
|
3997
6259
|
"shared-monorepo": ["shared-monorepo-turborepo", "shared-monorepo-pnpm-workspaces"]
|
|
3998
6260
|
},
|
|
3999
|
-
|
|
6261
|
+
scribe: {
|
|
4000
6262
|
"web-framework": ["web-framework-react"],
|
|
4001
6263
|
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
4002
6264
|
"web-styling": ["web-styling-scss-modules"],
|
|
@@ -4056,6 +6318,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4056
6318
|
"web-framework": ["web-framework-react"],
|
|
4057
6319
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4058
6320
|
"web-styling": ["web-styling-scss-modules"],
|
|
6321
|
+
"web-routing": ["web-routing-react-router"],
|
|
4059
6322
|
"web-testing": ["web-testing-vitest"],
|
|
4060
6323
|
"shared-tooling": [
|
|
4061
6324
|
"shared-tooling-eslint-prettier",
|
|
@@ -4069,30 +6332,35 @@ var BUILT_IN_MATRIX = {
|
|
|
4069
6332
|
"web-framework": ["web-framework-react"],
|
|
4070
6333
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4071
6334
|
"web-styling": ["web-styling-scss-modules"],
|
|
6335
|
+
"web-routing": ["web-routing-react-router"],
|
|
4072
6336
|
"web-testing": ["web-testing-vitest"]
|
|
4073
6337
|
},
|
|
4074
6338
|
"web-pm": {
|
|
4075
6339
|
"web-framework": ["web-framework-react"],
|
|
4076
6340
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4077
6341
|
"web-styling": ["web-styling-scss-modules"],
|
|
6342
|
+
"web-routing": ["web-routing-react-router"],
|
|
4078
6343
|
"web-testing": ["web-testing-vitest"]
|
|
4079
6344
|
},
|
|
4080
6345
|
"web-researcher": {
|
|
4081
6346
|
"web-framework": ["web-framework-react"],
|
|
4082
6347
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4083
6348
|
"web-styling": ["web-styling-scss-modules"],
|
|
6349
|
+
"web-routing": ["web-routing-react-router"],
|
|
4084
6350
|
"web-testing": ["web-testing-vitest"]
|
|
4085
6351
|
},
|
|
4086
6352
|
"pattern-scout": {
|
|
4087
6353
|
"web-framework": ["web-framework-react"],
|
|
4088
6354
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4089
6355
|
"web-styling": ["web-styling-scss-modules"],
|
|
6356
|
+
"web-routing": ["web-routing-react-router"],
|
|
4090
6357
|
"web-testing": ["web-testing-vitest"]
|
|
4091
6358
|
},
|
|
4092
6359
|
"web-pattern-critique": {
|
|
4093
6360
|
"web-framework": ["web-framework-react"],
|
|
4094
6361
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4095
6362
|
"web-styling": ["web-styling-scss-modules"],
|
|
6363
|
+
"web-routing": ["web-routing-react-router"],
|
|
4096
6364
|
"web-testing": ["web-testing-vitest"],
|
|
4097
6365
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4098
6366
|
},
|
|
@@ -4100,6 +6368,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4100
6368
|
"web-framework": ["web-framework-react"],
|
|
4101
6369
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4102
6370
|
"web-styling": ["web-styling-scss-modules"],
|
|
6371
|
+
"web-routing": ["web-routing-react-router"],
|
|
4103
6372
|
"web-testing": ["web-testing-vitest"],
|
|
4104
6373
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4105
6374
|
},
|
|
@@ -4107,13 +6376,15 @@ var BUILT_IN_MATRIX = {
|
|
|
4107
6376
|
"web-framework": ["web-framework-react"],
|
|
4108
6377
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4109
6378
|
"web-styling": ["web-styling-scss-modules"],
|
|
6379
|
+
"web-routing": ["web-routing-react-router"],
|
|
4110
6380
|
"web-testing": ["web-testing-vitest"],
|
|
4111
6381
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4112
6382
|
},
|
|
4113
|
-
|
|
6383
|
+
scribe: {
|
|
4114
6384
|
"web-framework": ["web-framework-react"],
|
|
4115
6385
|
"web-client-state": ["web-state-redux-toolkit"],
|
|
4116
6386
|
"web-styling": ["web-styling-scss-modules"],
|
|
6387
|
+
"web-routing": ["web-routing-react-router"],
|
|
4117
6388
|
"web-testing": ["web-testing-vitest"],
|
|
4118
6389
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4119
6390
|
},
|
|
@@ -4125,6 +6396,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4125
6396
|
"web-framework-react",
|
|
4126
6397
|
"web-state-redux-toolkit",
|
|
4127
6398
|
"web-styling-scss-modules",
|
|
6399
|
+
"web-routing-react-router",
|
|
4128
6400
|
"web-testing-vitest",
|
|
4129
6401
|
"shared-tooling-eslint-prettier",
|
|
4130
6402
|
"shared-tooling-typescript-config",
|
|
@@ -4316,7 +6588,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4316
6588
|
"cli-framework": ["cli-framework-cli-commander"],
|
|
4317
6589
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4318
6590
|
},
|
|
4319
|
-
|
|
6591
|
+
scribe: {
|
|
4320
6592
|
"web-framework": ["web-framework-react"],
|
|
4321
6593
|
"web-styling": ["web-styling-scss-modules"],
|
|
4322
6594
|
"web-client-state": ["web-state-zustand"],
|
|
@@ -4467,7 +6739,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4467
6739
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
4468
6740
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4469
6741
|
},
|
|
4470
|
-
|
|
6742
|
+
scribe: {
|
|
4471
6743
|
"web-framework": ["web-framework-react"],
|
|
4472
6744
|
"web-meta-framework": ["web-meta-framework-remix"],
|
|
4473
6745
|
"web-testing": ["web-testing-vitest"],
|
|
@@ -4603,7 +6875,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4603
6875
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
4604
6876
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4605
6877
|
},
|
|
4606
|
-
|
|
6878
|
+
scribe: {
|
|
4607
6879
|
"web-framework": ["web-framework-svelte"],
|
|
4608
6880
|
"web-meta-framework": ["web-meta-framework-sveltekit"],
|
|
4609
6881
|
"web-testing": ["web-testing-vitest"],
|
|
@@ -4731,7 +7003,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4731
7003
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
4732
7004
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4733
7005
|
},
|
|
4734
|
-
|
|
7006
|
+
scribe: {
|
|
4735
7007
|
"web-framework": ["web-framework-solidjs"],
|
|
4736
7008
|
"web-testing": ["web-testing-vitest"],
|
|
4737
7009
|
"api-api": ["api-framework-hono"],
|
|
@@ -4779,6 +7051,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4779
7051
|
"api-api": ["api-framework-hono"],
|
|
4780
7052
|
"api-database": ["api-database-drizzle"],
|
|
4781
7053
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7054
|
+
"api-cms": ["api-cms-sanity"],
|
|
4782
7055
|
"shared-tooling": [
|
|
4783
7056
|
"shared-tooling-eslint-prettier",
|
|
4784
7057
|
"shared-tooling-typescript-config",
|
|
@@ -4794,19 +7067,22 @@ var BUILT_IN_MATRIX = {
|
|
|
4794
7067
|
"shared-meta": ["shared-meta-reviewing"],
|
|
4795
7068
|
"api-api": ["api-framework-hono"],
|
|
4796
7069
|
"api-database": ["api-database-drizzle"],
|
|
4797
|
-
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7070
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7071
|
+
"api-cms": ["api-cms-sanity"]
|
|
4798
7072
|
},
|
|
4799
7073
|
"web-pm": {
|
|
4800
7074
|
"web-meta-framework": ["web-meta-framework-astro"],
|
|
4801
7075
|
"web-testing": ["web-testing-vitest"],
|
|
4802
7076
|
"api-api": ["api-framework-hono"],
|
|
4803
7077
|
"api-database": ["api-database-drizzle"],
|
|
4804
|
-
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7078
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7079
|
+
"api-cms": ["api-cms-sanity"]
|
|
4805
7080
|
},
|
|
4806
7081
|
"web-architecture": {
|
|
4807
7082
|
"api-api": ["api-framework-hono"],
|
|
4808
7083
|
"api-database": ["api-database-drizzle"],
|
|
4809
|
-
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7084
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7085
|
+
"api-cms": ["api-cms-sanity"]
|
|
4810
7086
|
},
|
|
4811
7087
|
"web-researcher": {
|
|
4812
7088
|
"web-meta-framework": ["web-meta-framework-astro"],
|
|
@@ -4815,14 +7091,16 @@ var BUILT_IN_MATRIX = {
|
|
|
4815
7091
|
"api-researcher": {
|
|
4816
7092
|
"api-api": ["api-framework-hono"],
|
|
4817
7093
|
"api-database": ["api-database-drizzle"],
|
|
4818
|
-
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7094
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7095
|
+
"api-cms": ["api-cms-sanity"]
|
|
4819
7096
|
},
|
|
4820
7097
|
"pattern-scout": {
|
|
4821
7098
|
"web-meta-framework": ["web-meta-framework-astro"],
|
|
4822
7099
|
"web-testing": ["web-testing-vitest"],
|
|
4823
7100
|
"api-api": ["api-framework-hono"],
|
|
4824
7101
|
"api-database": ["api-database-drizzle"],
|
|
4825
|
-
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7102
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7103
|
+
"api-cms": ["api-cms-sanity"]
|
|
4826
7104
|
},
|
|
4827
7105
|
"web-pattern-critique": {
|
|
4828
7106
|
"web-meta-framework": ["web-meta-framework-astro"],
|
|
@@ -4830,6 +7108,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4830
7108
|
"api-api": ["api-framework-hono"],
|
|
4831
7109
|
"api-database": ["api-database-drizzle"],
|
|
4832
7110
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7111
|
+
"api-cms": ["api-cms-sanity"],
|
|
4833
7112
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4834
7113
|
},
|
|
4835
7114
|
"agent-summoner": {
|
|
@@ -4838,6 +7117,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4838
7117
|
"api-api": ["api-framework-hono"],
|
|
4839
7118
|
"api-database": ["api-database-drizzle"],
|
|
4840
7119
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7120
|
+
"api-cms": ["api-cms-sanity"],
|
|
4841
7121
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4842
7122
|
},
|
|
4843
7123
|
"skill-summoner": {
|
|
@@ -4846,14 +7126,16 @@ var BUILT_IN_MATRIX = {
|
|
|
4846
7126
|
"api-api": ["api-framework-hono"],
|
|
4847
7127
|
"api-database": ["api-database-drizzle"],
|
|
4848
7128
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7129
|
+
"api-cms": ["api-cms-sanity"],
|
|
4849
7130
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4850
7131
|
},
|
|
4851
|
-
|
|
7132
|
+
scribe: {
|
|
4852
7133
|
"web-meta-framework": ["web-meta-framework-astro"],
|
|
4853
7134
|
"web-testing": ["web-testing-vitest"],
|
|
4854
7135
|
"api-api": ["api-framework-hono"],
|
|
4855
7136
|
"api-database": ["api-database-drizzle"],
|
|
4856
7137
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7138
|
+
"api-cms": ["api-cms-sanity"],
|
|
4857
7139
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4858
7140
|
},
|
|
4859
7141
|
"web-tester": {
|
|
@@ -4870,6 +7152,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4870
7152
|
"api-framework-hono",
|
|
4871
7153
|
"api-database-drizzle",
|
|
4872
7154
|
"api-observability-axiom-pino-sentry",
|
|
7155
|
+
"api-cms-sanity",
|
|
4873
7156
|
"shared-meta-reviewing",
|
|
4874
7157
|
"web-testing-playwright-e2e"
|
|
4875
7158
|
],
|
|
@@ -4980,7 +7263,7 @@ var BUILT_IN_MATRIX = {
|
|
|
4980
7263
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
4981
7264
|
"shared-meta": ["shared-meta-reviewing"]
|
|
4982
7265
|
},
|
|
4983
|
-
|
|
7266
|
+
scribe: {
|
|
4984
7267
|
"web-framework": ["web-framework-vue-composition-api"],
|
|
4985
7268
|
"web-client-state": ["web-state-pinia"],
|
|
4986
7269
|
"web-testing": ["web-testing-vitest"],
|
|
@@ -5124,7 +7407,7 @@ var BUILT_IN_MATRIX = {
|
|
|
5124
7407
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
5125
7408
|
"shared-meta": ["shared-meta-reviewing"]
|
|
5126
7409
|
},
|
|
5127
|
-
|
|
7410
|
+
scribe: {
|
|
5128
7411
|
"web-framework": ["web-framework-vue-composition-api"],
|
|
5129
7412
|
"web-meta-framework": ["web-meta-framework-nuxt"],
|
|
5130
7413
|
"web-client-state": ["web-state-pinia"],
|
|
@@ -5262,7 +7545,7 @@ var BUILT_IN_MATRIX = {
|
|
|
5262
7545
|
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
5263
7546
|
"shared-meta": ["shared-meta-reviewing"]
|
|
5264
7547
|
},
|
|
5265
|
-
|
|
7548
|
+
scribe: {
|
|
5266
7549
|
"web-framework": ["web-framework-angular-standalone"],
|
|
5267
7550
|
"web-client-state": ["web-state-ngrx-signalstore"],
|
|
5268
7551
|
"web-testing": ["web-testing-vitest"],
|
|
@@ -5292,6 +7575,712 @@ var BUILT_IN_MATRIX = {
|
|
|
5292
7575
|
"web-testing-playwright-e2e"
|
|
5293
7576
|
],
|
|
5294
7577
|
philosophy: "Enterprise-grade and type-safe"
|
|
7578
|
+
},
|
|
7579
|
+
{
|
|
7580
|
+
id: "nextjs-ai-saas",
|
|
7581
|
+
name: "Next.js AI SaaS",
|
|
7582
|
+
description: "Next.js, Vercel AI SDK, Anthropic SDK, Drizzle, Pinecone",
|
|
7583
|
+
skills: {
|
|
7584
|
+
"web-developer": {
|
|
7585
|
+
"web-framework": ["web-framework-react"],
|
|
7586
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7587
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7588
|
+
"web-client-state": ["web-state-zustand"],
|
|
7589
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7590
|
+
"web-testing": ["web-testing-vitest"],
|
|
7591
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7592
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7593
|
+
"shared-tooling": [
|
|
7594
|
+
"shared-tooling-eslint-prettier",
|
|
7595
|
+
"shared-tooling-typescript-config",
|
|
7596
|
+
"shared-tooling-git-hooks"
|
|
7597
|
+
],
|
|
7598
|
+
"web-tooling": ["web-tooling-vite"]
|
|
7599
|
+
},
|
|
7600
|
+
"api-developer": {
|
|
7601
|
+
"api-api": ["api-framework-hono"],
|
|
7602
|
+
"api-database": ["api-database-drizzle"],
|
|
7603
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7604
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7605
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7606
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7607
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7608
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7609
|
+
"shared-tooling": [
|
|
7610
|
+
"shared-tooling-eslint-prettier",
|
|
7611
|
+
"shared-tooling-typescript-config",
|
|
7612
|
+
"shared-tooling-git-hooks"
|
|
7613
|
+
]
|
|
7614
|
+
},
|
|
7615
|
+
"cli-developer": {
|
|
7616
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
7617
|
+
"shared-tooling": [
|
|
7618
|
+
"shared-tooling-eslint-prettier",
|
|
7619
|
+
"shared-tooling-typescript-config",
|
|
7620
|
+
"shared-tooling-git-hooks"
|
|
7621
|
+
]
|
|
7622
|
+
},
|
|
7623
|
+
"web-reviewer": {
|
|
7624
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
7625
|
+
"web-framework": ["web-framework-react"],
|
|
7626
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7627
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7628
|
+
"web-client-state": ["web-state-zustand"],
|
|
7629
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7630
|
+
"web-testing": ["web-testing-vitest"],
|
|
7631
|
+
"web-mocking": ["web-mocks-msw"]
|
|
7632
|
+
},
|
|
7633
|
+
"api-reviewer": {
|
|
7634
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
7635
|
+
"api-api": ["api-framework-hono"],
|
|
7636
|
+
"api-database": ["api-database-drizzle"],
|
|
7637
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7638
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk"],
|
|
7639
|
+
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7640
|
+
},
|
|
7641
|
+
"cli-reviewer": {
|
|
7642
|
+
"shared-meta": ["shared-meta-cli-reviewing"],
|
|
7643
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7644
|
+
},
|
|
7645
|
+
"web-tester": {
|
|
7646
|
+
"web-testing": ["web-testing-playwright-e2e", "web-testing-vitest"],
|
|
7647
|
+
"web-mocking": ["web-mocks-msw"]
|
|
7648
|
+
},
|
|
7649
|
+
"web-pm": {
|
|
7650
|
+
"web-framework": ["web-framework-react"],
|
|
7651
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7652
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7653
|
+
"web-client-state": ["web-state-zustand"],
|
|
7654
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7655
|
+
"web-testing": ["web-testing-vitest"],
|
|
7656
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7657
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7658
|
+
"api-api": ["api-framework-hono"],
|
|
7659
|
+
"api-database": ["api-database-drizzle"],
|
|
7660
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7661
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7662
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7663
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7664
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7665
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7666
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7667
|
+
},
|
|
7668
|
+
"web-architecture": {
|
|
7669
|
+
"api-api": ["api-framework-hono"],
|
|
7670
|
+
"api-database": ["api-database-drizzle"],
|
|
7671
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7672
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7673
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7674
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7675
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7676
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7677
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7678
|
+
},
|
|
7679
|
+
"web-researcher": {
|
|
7680
|
+
"web-framework": ["web-framework-react"],
|
|
7681
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7682
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7683
|
+
"web-client-state": ["web-state-zustand"],
|
|
7684
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7685
|
+
"web-testing": ["web-testing-vitest"],
|
|
7686
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7687
|
+
"web-accessibility": ["web-accessibility-web-accessibility"]
|
|
7688
|
+
},
|
|
7689
|
+
"api-researcher": {
|
|
7690
|
+
"api-api": ["api-framework-hono"],
|
|
7691
|
+
"api-database": ["api-database-drizzle"],
|
|
7692
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7693
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7694
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7695
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7696
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7697
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7698
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7699
|
+
},
|
|
7700
|
+
"pattern-scout": {
|
|
7701
|
+
"web-framework": ["web-framework-react"],
|
|
7702
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7703
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7704
|
+
"web-client-state": ["web-state-zustand"],
|
|
7705
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7706
|
+
"web-testing": ["web-testing-vitest"],
|
|
7707
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7708
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7709
|
+
"api-api": ["api-framework-hono"],
|
|
7710
|
+
"api-database": ["api-database-drizzle"],
|
|
7711
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7712
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7713
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7714
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7715
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7716
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"]
|
|
7717
|
+
},
|
|
7718
|
+
"web-pattern-critique": {
|
|
7719
|
+
"web-framework": ["web-framework-react"],
|
|
7720
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7721
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7722
|
+
"web-client-state": ["web-state-zustand"],
|
|
7723
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7724
|
+
"web-testing": ["web-testing-vitest"],
|
|
7725
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7726
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7727
|
+
"api-api": ["api-framework-hono"],
|
|
7728
|
+
"api-database": ["api-database-drizzle"],
|
|
7729
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7730
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7731
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7732
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7733
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7734
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7735
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
7736
|
+
},
|
|
7737
|
+
"agent-summoner": {
|
|
7738
|
+
"web-framework": ["web-framework-react"],
|
|
7739
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7740
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7741
|
+
"web-client-state": ["web-state-zustand"],
|
|
7742
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7743
|
+
"web-testing": ["web-testing-vitest"],
|
|
7744
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7745
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7746
|
+
"api-api": ["api-framework-hono"],
|
|
7747
|
+
"api-database": ["api-database-drizzle"],
|
|
7748
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7749
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7750
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7751
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7752
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7753
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7754
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
7755
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
7756
|
+
},
|
|
7757
|
+
"skill-summoner": {
|
|
7758
|
+
"web-framework": ["web-framework-react"],
|
|
7759
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7760
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7761
|
+
"web-client-state": ["web-state-zustand"],
|
|
7762
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7763
|
+
"web-testing": ["web-testing-vitest"],
|
|
7764
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7765
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7766
|
+
"api-api": ["api-framework-hono"],
|
|
7767
|
+
"api-database": ["api-database-drizzle"],
|
|
7768
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7769
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7770
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7771
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7772
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7773
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7774
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
7775
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
7776
|
+
},
|
|
7777
|
+
scribe: {
|
|
7778
|
+
"web-framework": ["web-framework-react"],
|
|
7779
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7780
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7781
|
+
"web-client-state": ["web-state-zustand"],
|
|
7782
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7783
|
+
"web-testing": ["web-testing-vitest"],
|
|
7784
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7785
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7786
|
+
"api-api": ["api-framework-hono"],
|
|
7787
|
+
"api-database": ["api-database-drizzle"],
|
|
7788
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7789
|
+
"api-ai": ["api-ai-vercel-ai-sdk", "api-ai-anthropic-sdk", "api-ai-tool-use-patterns"],
|
|
7790
|
+
"api-vector-db": ["api-vector-db-pinecone"],
|
|
7791
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7792
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7793
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7794
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
7795
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
7796
|
+
},
|
|
7797
|
+
"cli-tester": {}
|
|
7798
|
+
},
|
|
7799
|
+
allSkillIds: [
|
|
7800
|
+
"web-framework-react",
|
|
7801
|
+
"web-meta-framework-nextjs",
|
|
7802
|
+
"web-styling-tailwind",
|
|
7803
|
+
"web-state-zustand",
|
|
7804
|
+
"web-server-state-react-query",
|
|
7805
|
+
"web-testing-vitest",
|
|
7806
|
+
"web-mocks-msw",
|
|
7807
|
+
"web-accessibility-web-accessibility",
|
|
7808
|
+
"shared-tooling-eslint-prettier",
|
|
7809
|
+
"shared-tooling-typescript-config",
|
|
7810
|
+
"shared-tooling-git-hooks",
|
|
7811
|
+
"web-tooling-vite",
|
|
7812
|
+
"api-framework-hono",
|
|
7813
|
+
"api-database-drizzle",
|
|
7814
|
+
"api-auth-better-auth-drizzle-hono",
|
|
7815
|
+
"api-ai-vercel-ai-sdk",
|
|
7816
|
+
"api-ai-anthropic-sdk",
|
|
7817
|
+
"api-ai-tool-use-patterns",
|
|
7818
|
+
"api-vector-db-pinecone",
|
|
7819
|
+
"api-observability-axiom-pino-sentry",
|
|
7820
|
+
"api-email-resend-react-email",
|
|
7821
|
+
"shared-ci-cd-github-actions",
|
|
7822
|
+
"cli-framework-cli-commander",
|
|
7823
|
+
"shared-meta-reviewing",
|
|
7824
|
+
"shared-meta-cli-reviewing",
|
|
7825
|
+
"web-testing-playwright-e2e"
|
|
7826
|
+
],
|
|
7827
|
+
philosophy: "AI-first full-stack with streaming and tool use"
|
|
7828
|
+
},
|
|
7829
|
+
{
|
|
7830
|
+
id: "nextjs-saas-starter",
|
|
7831
|
+
name: "Next.js SaaS Starter",
|
|
7832
|
+
description: "Next.js, Better Auth, Stripe, Drizzle, Resend, PostHog",
|
|
7833
|
+
skills: {
|
|
7834
|
+
"web-developer": {
|
|
7835
|
+
"web-framework": ["web-framework-react"],
|
|
7836
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7837
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7838
|
+
"web-client-state": ["web-state-zustand"],
|
|
7839
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7840
|
+
"web-testing": ["web-testing-vitest"],
|
|
7841
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7842
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7843
|
+
"shared-tooling": [
|
|
7844
|
+
"shared-tooling-eslint-prettier",
|
|
7845
|
+
"shared-tooling-typescript-config",
|
|
7846
|
+
"shared-tooling-git-hooks"
|
|
7847
|
+
],
|
|
7848
|
+
"web-tooling": ["web-tooling-vite"]
|
|
7849
|
+
},
|
|
7850
|
+
"api-developer": {
|
|
7851
|
+
"api-api": ["api-framework-hono"],
|
|
7852
|
+
"api-database": ["api-database-drizzle"],
|
|
7853
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7854
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7855
|
+
"api-flags": ["api-flags-posthog-flags"],
|
|
7856
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7857
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7858
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7859
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7860
|
+
"shared-tooling": [
|
|
7861
|
+
"shared-tooling-eslint-prettier",
|
|
7862
|
+
"shared-tooling-typescript-config",
|
|
7863
|
+
"shared-tooling-git-hooks"
|
|
7864
|
+
]
|
|
7865
|
+
},
|
|
7866
|
+
"cli-developer": {
|
|
7867
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
7868
|
+
"shared-tooling": [
|
|
7869
|
+
"shared-tooling-eslint-prettier",
|
|
7870
|
+
"shared-tooling-typescript-config",
|
|
7871
|
+
"shared-tooling-git-hooks"
|
|
7872
|
+
]
|
|
7873
|
+
},
|
|
7874
|
+
"web-reviewer": {
|
|
7875
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
7876
|
+
"web-framework": ["web-framework-react"],
|
|
7877
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7878
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7879
|
+
"web-client-state": ["web-state-zustand"],
|
|
7880
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7881
|
+
"web-testing": ["web-testing-vitest"],
|
|
7882
|
+
"web-mocking": ["web-mocks-msw"]
|
|
7883
|
+
},
|
|
7884
|
+
"api-reviewer": {
|
|
7885
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
7886
|
+
"api-api": ["api-framework-hono"],
|
|
7887
|
+
"api-database": ["api-database-drizzle"],
|
|
7888
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7889
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7890
|
+
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
7891
|
+
},
|
|
7892
|
+
"cli-reviewer": {
|
|
7893
|
+
"shared-meta": ["shared-meta-cli-reviewing"],
|
|
7894
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7895
|
+
},
|
|
7896
|
+
"web-tester": {
|
|
7897
|
+
"web-testing": ["web-testing-playwright-e2e", "web-testing-vitest"],
|
|
7898
|
+
"web-mocking": ["web-mocks-msw"]
|
|
7899
|
+
},
|
|
7900
|
+
"web-pm": {
|
|
7901
|
+
"web-framework": ["web-framework-react"],
|
|
7902
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7903
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7904
|
+
"web-client-state": ["web-state-zustand"],
|
|
7905
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7906
|
+
"web-testing": ["web-testing-vitest"],
|
|
7907
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7908
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7909
|
+
"api-api": ["api-framework-hono"],
|
|
7910
|
+
"api-database": ["api-database-drizzle"],
|
|
7911
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7912
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7913
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7914
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7915
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7916
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7917
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7918
|
+
},
|
|
7919
|
+
"web-architecture": {
|
|
7920
|
+
"api-api": ["api-framework-hono"],
|
|
7921
|
+
"api-database": ["api-database-drizzle"],
|
|
7922
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7923
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7924
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7925
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7926
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7927
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7928
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7929
|
+
},
|
|
7930
|
+
"web-researcher": {
|
|
7931
|
+
"web-framework": ["web-framework-react"],
|
|
7932
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7933
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7934
|
+
"web-client-state": ["web-state-zustand"],
|
|
7935
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7936
|
+
"web-testing": ["web-testing-vitest"],
|
|
7937
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7938
|
+
"web-accessibility": ["web-accessibility-web-accessibility"]
|
|
7939
|
+
},
|
|
7940
|
+
"api-researcher": {
|
|
7941
|
+
"api-api": ["api-framework-hono"],
|
|
7942
|
+
"api-database": ["api-database-drizzle"],
|
|
7943
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7944
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7945
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7946
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7947
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7948
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7949
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
7950
|
+
},
|
|
7951
|
+
"pattern-scout": {
|
|
7952
|
+
"web-framework": ["web-framework-react"],
|
|
7953
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7954
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7955
|
+
"web-client-state": ["web-state-zustand"],
|
|
7956
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7957
|
+
"web-testing": ["web-testing-vitest"],
|
|
7958
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7959
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7960
|
+
"api-api": ["api-framework-hono"],
|
|
7961
|
+
"api-database": ["api-database-drizzle"],
|
|
7962
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7963
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7964
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7965
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7966
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7967
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"]
|
|
7968
|
+
},
|
|
7969
|
+
"web-pattern-critique": {
|
|
7970
|
+
"web-framework": ["web-framework-react"],
|
|
7971
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7972
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7973
|
+
"web-client-state": ["web-state-zustand"],
|
|
7974
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7975
|
+
"web-testing": ["web-testing-vitest"],
|
|
7976
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7977
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7978
|
+
"api-api": ["api-framework-hono"],
|
|
7979
|
+
"api-database": ["api-database-drizzle"],
|
|
7980
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
7981
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
7982
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
7983
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
7984
|
+
"api-email": ["api-email-resend-react-email"],
|
|
7985
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
7986
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
7987
|
+
},
|
|
7988
|
+
"agent-summoner": {
|
|
7989
|
+
"web-framework": ["web-framework-react"],
|
|
7990
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
7991
|
+
"web-styling": ["web-styling-tailwind"],
|
|
7992
|
+
"web-client-state": ["web-state-zustand"],
|
|
7993
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
7994
|
+
"web-testing": ["web-testing-vitest"],
|
|
7995
|
+
"web-mocking": ["web-mocks-msw"],
|
|
7996
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
7997
|
+
"api-api": ["api-framework-hono"],
|
|
7998
|
+
"api-database": ["api-database-drizzle"],
|
|
7999
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8000
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
8001
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8002
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
8003
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8004
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8005
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8006
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8007
|
+
},
|
|
8008
|
+
"skill-summoner": {
|
|
8009
|
+
"web-framework": ["web-framework-react"],
|
|
8010
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
8011
|
+
"web-styling": ["web-styling-tailwind"],
|
|
8012
|
+
"web-client-state": ["web-state-zustand"],
|
|
8013
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8014
|
+
"web-testing": ["web-testing-vitest"],
|
|
8015
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8016
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
8017
|
+
"api-api": ["api-framework-hono"],
|
|
8018
|
+
"api-database": ["api-database-drizzle"],
|
|
8019
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8020
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
8021
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8022
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
8023
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8024
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8025
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8026
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8027
|
+
},
|
|
8028
|
+
scribe: {
|
|
8029
|
+
"web-framework": ["web-framework-react"],
|
|
8030
|
+
"web-meta-framework": ["web-meta-framework-nextjs"],
|
|
8031
|
+
"web-styling": ["web-styling-tailwind"],
|
|
8032
|
+
"web-client-state": ["web-state-zustand"],
|
|
8033
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8034
|
+
"web-testing": ["web-testing-vitest"],
|
|
8035
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8036
|
+
"web-accessibility": ["web-accessibility-web-accessibility"],
|
|
8037
|
+
"api-api": ["api-framework-hono"],
|
|
8038
|
+
"api-database": ["api-database-drizzle"],
|
|
8039
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8040
|
+
"api-commerce": ["api-commerce-stripe"],
|
|
8041
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8042
|
+
"api-analytics": ["api-analytics-posthog-analytics"],
|
|
8043
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8044
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8045
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8046
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8047
|
+
},
|
|
8048
|
+
"cli-tester": {}
|
|
8049
|
+
},
|
|
8050
|
+
allSkillIds: [
|
|
8051
|
+
"web-framework-react",
|
|
8052
|
+
"web-meta-framework-nextjs",
|
|
8053
|
+
"web-styling-tailwind",
|
|
8054
|
+
"web-state-zustand",
|
|
8055
|
+
"web-server-state-react-query",
|
|
8056
|
+
"web-testing-vitest",
|
|
8057
|
+
"web-mocks-msw",
|
|
8058
|
+
"web-accessibility-web-accessibility",
|
|
8059
|
+
"shared-tooling-eslint-prettier",
|
|
8060
|
+
"shared-tooling-typescript-config",
|
|
8061
|
+
"shared-tooling-git-hooks",
|
|
8062
|
+
"web-tooling-vite",
|
|
8063
|
+
"api-framework-hono",
|
|
8064
|
+
"api-database-drizzle",
|
|
8065
|
+
"api-auth-better-auth-drizzle-hono",
|
|
8066
|
+
"api-commerce-stripe",
|
|
8067
|
+
"api-flags-posthog-flags",
|
|
8068
|
+
"api-observability-axiom-pino-sentry",
|
|
8069
|
+
"api-analytics-posthog-analytics",
|
|
8070
|
+
"api-email-resend-react-email",
|
|
8071
|
+
"shared-ci-cd-github-actions",
|
|
8072
|
+
"cli-framework-cli-commander",
|
|
8073
|
+
"shared-meta-reviewing",
|
|
8074
|
+
"shared-meta-cli-reviewing",
|
|
8075
|
+
"web-testing-playwright-e2e"
|
|
8076
|
+
],
|
|
8077
|
+
philosophy: "Ship your SaaS fast with auth, payments, and analytics"
|
|
8078
|
+
},
|
|
8079
|
+
{
|
|
8080
|
+
id: "expo-mobile-fullstack",
|
|
8081
|
+
name: "Expo Mobile Full-Stack",
|
|
8082
|
+
description: "Expo, React Native, Zustand, React Query, Hono, Drizzle",
|
|
8083
|
+
skills: {
|
|
8084
|
+
"web-developer": {
|
|
8085
|
+
"web-framework": ["web-framework-react"],
|
|
8086
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8087
|
+
"web-client-state": ["web-state-zustand"],
|
|
8088
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8089
|
+
"web-testing": ["web-testing-vitest"],
|
|
8090
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8091
|
+
"shared-tooling": [
|
|
8092
|
+
"shared-tooling-eslint-prettier",
|
|
8093
|
+
"shared-tooling-typescript-config",
|
|
8094
|
+
"shared-tooling-git-hooks"
|
|
8095
|
+
]
|
|
8096
|
+
},
|
|
8097
|
+
"api-developer": {
|
|
8098
|
+
"api-api": ["api-framework-hono"],
|
|
8099
|
+
"api-database": ["api-database-drizzle"],
|
|
8100
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8101
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8102
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8103
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8104
|
+
"shared-tooling": [
|
|
8105
|
+
"shared-tooling-eslint-prettier",
|
|
8106
|
+
"shared-tooling-typescript-config",
|
|
8107
|
+
"shared-tooling-git-hooks"
|
|
8108
|
+
]
|
|
8109
|
+
},
|
|
8110
|
+
"cli-developer": {
|
|
8111
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8112
|
+
"shared-tooling": [
|
|
8113
|
+
"shared-tooling-eslint-prettier",
|
|
8114
|
+
"shared-tooling-typescript-config",
|
|
8115
|
+
"shared-tooling-git-hooks"
|
|
8116
|
+
]
|
|
8117
|
+
},
|
|
8118
|
+
"web-reviewer": {
|
|
8119
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
8120
|
+
"web-framework": ["web-framework-react"],
|
|
8121
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8122
|
+
"web-client-state": ["web-state-zustand"],
|
|
8123
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8124
|
+
"web-testing": ["web-testing-vitest"],
|
|
8125
|
+
"web-mocking": ["web-mocks-msw"]
|
|
8126
|
+
},
|
|
8127
|
+
"api-reviewer": {
|
|
8128
|
+
"shared-meta": ["shared-meta-reviewing"],
|
|
8129
|
+
"api-api": ["api-framework-hono"],
|
|
8130
|
+
"api-database": ["api-database-drizzle"],
|
|
8131
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8132
|
+
"api-observability": ["api-observability-axiom-pino-sentry"]
|
|
8133
|
+
},
|
|
8134
|
+
"cli-reviewer": {
|
|
8135
|
+
"shared-meta": ["shared-meta-cli-reviewing"],
|
|
8136
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
8137
|
+
},
|
|
8138
|
+
"web-tester": {
|
|
8139
|
+
"web-testing": ["web-testing-vitest"],
|
|
8140
|
+
"web-mocking": ["web-mocks-msw"]
|
|
8141
|
+
},
|
|
8142
|
+
"web-pm": {
|
|
8143
|
+
"web-framework": ["web-framework-react"],
|
|
8144
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8145
|
+
"web-client-state": ["web-state-zustand"],
|
|
8146
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8147
|
+
"web-testing": ["web-testing-vitest"],
|
|
8148
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8149
|
+
"api-api": ["api-framework-hono"],
|
|
8150
|
+
"api-database": ["api-database-drizzle"],
|
|
8151
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8152
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8153
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8154
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8155
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
8156
|
+
},
|
|
8157
|
+
"web-architecture": {
|
|
8158
|
+
"api-api": ["api-framework-hono"],
|
|
8159
|
+
"api-database": ["api-database-drizzle"],
|
|
8160
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8161
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8162
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8163
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8164
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
8165
|
+
},
|
|
8166
|
+
"web-researcher": {
|
|
8167
|
+
"web-framework": ["web-framework-react"],
|
|
8168
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8169
|
+
"web-client-state": ["web-state-zustand"],
|
|
8170
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8171
|
+
"web-testing": ["web-testing-vitest"],
|
|
8172
|
+
"web-mocking": ["web-mocks-msw"]
|
|
8173
|
+
},
|
|
8174
|
+
"api-researcher": {
|
|
8175
|
+
"api-api": ["api-framework-hono"],
|
|
8176
|
+
"api-database": ["api-database-drizzle"],
|
|
8177
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8178
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8179
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8180
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8181
|
+
"cli-framework": ["cli-framework-cli-commander"]
|
|
8182
|
+
},
|
|
8183
|
+
"pattern-scout": {
|
|
8184
|
+
"web-framework": ["web-framework-react"],
|
|
8185
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8186
|
+
"web-client-state": ["web-state-zustand"],
|
|
8187
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8188
|
+
"web-testing": ["web-testing-vitest"],
|
|
8189
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8190
|
+
"api-api": ["api-framework-hono"],
|
|
8191
|
+
"api-database": ["api-database-drizzle"],
|
|
8192
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8193
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8194
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8195
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"]
|
|
8196
|
+
},
|
|
8197
|
+
"web-pattern-critique": {
|
|
8198
|
+
"web-framework": ["web-framework-react"],
|
|
8199
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8200
|
+
"web-client-state": ["web-state-zustand"],
|
|
8201
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8202
|
+
"web-testing": ["web-testing-vitest"],
|
|
8203
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8204
|
+
"api-api": ["api-framework-hono"],
|
|
8205
|
+
"api-database": ["api-database-drizzle"],
|
|
8206
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8207
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8208
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8209
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8210
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8211
|
+
},
|
|
8212
|
+
"agent-summoner": {
|
|
8213
|
+
"web-framework": ["web-framework-react"],
|
|
8214
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8215
|
+
"web-client-state": ["web-state-zustand"],
|
|
8216
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8217
|
+
"web-testing": ["web-testing-vitest"],
|
|
8218
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8219
|
+
"api-api": ["api-framework-hono"],
|
|
8220
|
+
"api-database": ["api-database-drizzle"],
|
|
8221
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8222
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8223
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8224
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8225
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8226
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8227
|
+
},
|
|
8228
|
+
"skill-summoner": {
|
|
8229
|
+
"web-framework": ["web-framework-react"],
|
|
8230
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8231
|
+
"web-client-state": ["web-state-zustand"],
|
|
8232
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8233
|
+
"web-testing": ["web-testing-vitest"],
|
|
8234
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8235
|
+
"api-api": ["api-framework-hono"],
|
|
8236
|
+
"api-database": ["api-database-drizzle"],
|
|
8237
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8238
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8239
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8240
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8241
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8242
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8243
|
+
},
|
|
8244
|
+
scribe: {
|
|
8245
|
+
"web-framework": ["web-framework-react"],
|
|
8246
|
+
"mobile-framework": ["mobile-framework-expo", "mobile-framework-react-native"],
|
|
8247
|
+
"web-client-state": ["web-state-zustand"],
|
|
8248
|
+
"web-server-state": ["web-server-state-react-query"],
|
|
8249
|
+
"web-testing": ["web-testing-vitest"],
|
|
8250
|
+
"web-mocking": ["web-mocks-msw"],
|
|
8251
|
+
"api-api": ["api-framework-hono"],
|
|
8252
|
+
"api-database": ["api-database-drizzle"],
|
|
8253
|
+
"api-auth": ["api-auth-better-auth-drizzle-hono"],
|
|
8254
|
+
"api-observability": ["api-observability-axiom-pino-sentry"],
|
|
8255
|
+
"api-email": ["api-email-resend-react-email"],
|
|
8256
|
+
"shared-ci-cd": ["shared-ci-cd-github-actions"],
|
|
8257
|
+
"cli-framework": ["cli-framework-cli-commander"],
|
|
8258
|
+
"shared-meta": ["shared-meta-reviewing"]
|
|
8259
|
+
},
|
|
8260
|
+
"cli-tester": {}
|
|
8261
|
+
},
|
|
8262
|
+
allSkillIds: [
|
|
8263
|
+
"web-framework-react",
|
|
8264
|
+
"mobile-framework-expo",
|
|
8265
|
+
"mobile-framework-react-native",
|
|
8266
|
+
"web-state-zustand",
|
|
8267
|
+
"web-server-state-react-query",
|
|
8268
|
+
"web-testing-vitest",
|
|
8269
|
+
"web-mocks-msw",
|
|
8270
|
+
"shared-tooling-eslint-prettier",
|
|
8271
|
+
"shared-tooling-typescript-config",
|
|
8272
|
+
"shared-tooling-git-hooks",
|
|
8273
|
+
"api-framework-hono",
|
|
8274
|
+
"api-database-drizzle",
|
|
8275
|
+
"api-auth-better-auth-drizzle-hono",
|
|
8276
|
+
"api-observability-axiom-pino-sentry",
|
|
8277
|
+
"api-email-resend-react-email",
|
|
8278
|
+
"shared-ci-cd-github-actions",
|
|
8279
|
+
"cli-framework-cli-commander",
|
|
8280
|
+
"shared-meta-reviewing",
|
|
8281
|
+
"shared-meta-cli-reviewing"
|
|
8282
|
+
],
|
|
8283
|
+
philosophy: "Cross-platform mobile with shared React patterns"
|
|
5295
8284
|
}
|
|
5296
8285
|
],
|
|
5297
8286
|
slugMap: {
|
|
@@ -5302,36 +8291,58 @@ var BUILT_IN_MATRIX = {
|
|
|
5302
8291
|
mongodb: "api-database-mongodb",
|
|
5303
8292
|
"setup-posthog": "api-analytics-setup-posthog",
|
|
5304
8293
|
react: "web-framework-react",
|
|
8294
|
+
typeorm: "api-database-typeorm",
|
|
8295
|
+
replicate: "api-ai-replicate",
|
|
5305
8296
|
prisma: "api-database-prisma",
|
|
8297
|
+
"anthropic-sdk": "api-ai-anthropic-sdk",
|
|
5306
8298
|
"github-actions": "shared-ci-cd-github-actions",
|
|
5307
8299
|
"file-upload-patterns": "web-files-file-upload-patterns",
|
|
5308
8300
|
"zod-validation": "web-forms-zod-validation",
|
|
8301
|
+
rxjs: "web-utilities-rxjs",
|
|
5309
8302
|
"headless-ui": "web-ui-headless-ui",
|
|
8303
|
+
payload: "api-cms-payload",
|
|
8304
|
+
mysql: "api-database-mysql",
|
|
8305
|
+
"cohere-sdk": "api-ai-cohere-sdk",
|
|
5310
8306
|
"cli-commander": "cli-framework-cli-commander",
|
|
5311
8307
|
"angular-standalone": "web-framework-angular-standalone",
|
|
5312
8308
|
"git-hooks": "shared-tooling-git-hooks",
|
|
5313
8309
|
"offline-first": "web-pwa-offline-first",
|
|
5314
8310
|
"axiom-pino-sentry": "api-observability-axiom-pino-sentry",
|
|
5315
8311
|
expo: "mobile-framework-expo",
|
|
8312
|
+
"react-router": "web-routing-react-router",
|
|
5316
8313
|
jotai: "web-state-jotai",
|
|
8314
|
+
"huggingface-inference": "api-ai-huggingface-inference",
|
|
8315
|
+
sanity: "api-cms-sanity",
|
|
5317
8316
|
"setup-axiom-pino-sentry": "api-observability-setup-axiom-pino-sentry",
|
|
8317
|
+
"mistral-sdk": "api-ai-mistral-sdk",
|
|
5318
8318
|
"research-methodology": "shared-meta-research-methodology",
|
|
5319
8319
|
websockets: "web-realtime-websockets",
|
|
5320
8320
|
"graphql-apollo": "web-data-fetching-graphql-apollo",
|
|
5321
8321
|
"redux-toolkit": "web-state-redux-toolkit",
|
|
8322
|
+
turso: "api-baas-turso",
|
|
5322
8323
|
pinia: "web-state-pinia",
|
|
8324
|
+
promptfoo: "api-ai-promptfoo",
|
|
8325
|
+
ollama: "api-ai-ollama",
|
|
5323
8326
|
clerk: "api-auth-clerk",
|
|
8327
|
+
elysia: "api-framework-elysia",
|
|
5324
8328
|
vite: "web-tooling-vite",
|
|
8329
|
+
meilisearch: "api-search-meilisearch",
|
|
5325
8330
|
"cli-reviewing": "shared-meta-cli-reviewing",
|
|
8331
|
+
elasticsearch: "api-search-elasticsearch",
|
|
5326
8332
|
"date-fns": "web-utilities-date-fns",
|
|
8333
|
+
upstash: "api-baas-upstash",
|
|
5327
8334
|
storybook: "web-tooling-storybook",
|
|
8335
|
+
"tool-use-patterns": "api-ai-tool-use-patterns",
|
|
8336
|
+
planetscale: "api-baas-planetscale",
|
|
5328
8337
|
"shadcn-ui": "web-ui-shadcn-ui",
|
|
5329
8338
|
nextauth: "api-auth-nextauth",
|
|
5330
8339
|
"react-native": "mobile-framework-react-native",
|
|
5331
8340
|
sse: "web-realtime-sse",
|
|
5332
8341
|
"vue-composition-api": "web-framework-vue-composition-api",
|
|
8342
|
+
chroma: "api-vector-db-chroma",
|
|
5333
8343
|
"vee-validate": "web-forms-vee-validate",
|
|
5334
8344
|
"vue-test-utils": "web-testing-vue-test-utils",
|
|
8345
|
+
"chakra-ui": "web-ui-chakra-ui",
|
|
5335
8346
|
zustand: "web-state-zustand",
|
|
5336
8347
|
"radix-ui": "web-ui-radix-ui",
|
|
5337
8348
|
"ngrx-signalstore": "web-state-ngrx-signalstore",
|
|
@@ -5345,59 +8356,88 @@ var BUILT_IN_MATRIX = {
|
|
|
5345
8356
|
"next-intl": "web-i18n-next-intl",
|
|
5346
8357
|
solidjs: "web-framework-solidjs",
|
|
5347
8358
|
astro: "web-meta-framework-astro",
|
|
8359
|
+
neon: "api-baas-neon",
|
|
5348
8360
|
reviewing: "shared-meta-reviewing",
|
|
8361
|
+
edgedb: "api-database-edgedb",
|
|
8362
|
+
weaviate: "api-vector-db-weaviate",
|
|
5349
8363
|
"service-workers": "web-pwa-service-workers",
|
|
5350
8364
|
"setup-env": "shared-infra-setup-env",
|
|
5351
8365
|
"react-testing-library": "web-testing-react-testing-library",
|
|
8366
|
+
knex: "api-database-knex",
|
|
5352
8367
|
cva: "web-styling-cva",
|
|
5353
8368
|
msw: "web-mocks-msw",
|
|
5354
8369
|
turborepo: "shared-monorepo-turborepo",
|
|
5355
8370
|
"vue-i18n": "web-i18n-vue-i18n",
|
|
5356
8371
|
"tanstack-router": "web-routing-tanstack-router",
|
|
8372
|
+
qdrant: "api-vector-db-qdrant",
|
|
5357
8373
|
"image-handling": "web-files-image-handling",
|
|
5358
8374
|
"setup-resend": "api-email-setup-resend",
|
|
8375
|
+
"claude-vision": "api-ai-claude-vision",
|
|
5359
8376
|
"react-query": "web-server-state-react-query",
|
|
8377
|
+
llamaindex: "api-ai-llamaindex",
|
|
5360
8378
|
svelte: "web-framework-svelte",
|
|
8379
|
+
elevenlabs: "api-ai-elevenlabs",
|
|
5361
8380
|
"api-performance": "api-performance-api-performance",
|
|
5362
8381
|
"graphql-urql": "web-data-fetching-graphql-urql",
|
|
5363
8382
|
"ant-design": "web-ui-ant-design",
|
|
5364
8383
|
nuxt: "web-meta-framework-nuxt",
|
|
5365
8384
|
supabase: "api-baas-supabase",
|
|
8385
|
+
mongoose: "api-database-mongoose",
|
|
5366
8386
|
mobx: "web-state-mobx",
|
|
5367
8387
|
"css-animations": "web-animation-css-animations",
|
|
5368
8388
|
"better-auth-drizzle-hono": "api-auth-better-auth-drizzle-hono",
|
|
5369
8389
|
nx: "shared-monorepo-nx",
|
|
8390
|
+
appwrite: "api-baas-appwrite",
|
|
5370
8391
|
"oclif-ink": "cli-framework-oclif-ink",
|
|
8392
|
+
strapi: "api-cms-strapi",
|
|
8393
|
+
vueuse: "web-utilities-vueuse",
|
|
5371
8394
|
firebase: "api-baas-firebase",
|
|
5372
8395
|
"openai-sdk": "api-ai-openai-sdk",
|
|
8396
|
+
langfuse: "api-ai-langfuse",
|
|
8397
|
+
"openai-whisper": "api-ai-openai-whisper",
|
|
5373
8398
|
redis: "api-database-redis",
|
|
5374
8399
|
"pnpm-workspaces": "shared-monorepo-pnpm-workspaces",
|
|
8400
|
+
litellm: "api-ai-litellm",
|
|
5375
8401
|
mui: "web-ui-mui",
|
|
5376
8402
|
drizzle: "api-database-drizzle",
|
|
8403
|
+
surrealdb: "api-database-surrealdb",
|
|
5377
8404
|
vitest: "web-testing-vitest",
|
|
5378
8405
|
nextjs: "web-meta-framework-nextjs",
|
|
8406
|
+
cockroachdb: "api-database-cockroachdb",
|
|
5379
8407
|
"view-transitions": "web-animation-view-transitions",
|
|
5380
8408
|
nestjs: "api-framework-nestjs",
|
|
5381
8409
|
"resend-react-email": "api-email-resend-react-email",
|
|
8410
|
+
"vercel-kv": "api-baas-vercel-kv",
|
|
8411
|
+
"vercel-postgres": "api-baas-vercel-postgres",
|
|
5382
8412
|
express: "api-framework-express",
|
|
8413
|
+
modal: "api-ai-modal",
|
|
5383
8414
|
"tanstack-table": "web-ui-tanstack-table",
|
|
5384
8415
|
remix: "web-meta-framework-remix",
|
|
5385
8416
|
"vercel-ai-sdk": "api-ai-vercel-ai-sdk",
|
|
8417
|
+
langchain: "api-ai-langchain",
|
|
5386
8418
|
"result-types": "web-error-handling-result-types",
|
|
5387
8419
|
"web-performance": "web-performance-web-performance",
|
|
5388
8420
|
"typescript-config": "shared-tooling-typescript-config",
|
|
5389
8421
|
tailwind: "web-styling-tailwind",
|
|
5390
8422
|
"react-hook-form": "web-forms-react-hook-form",
|
|
8423
|
+
"google-gemini-sdk": "api-ai-google-gemini-sdk",
|
|
8424
|
+
postgresql: "api-database-postgresql",
|
|
5391
8425
|
sveltekit: "web-meta-framework-sveltekit",
|
|
5392
8426
|
"socket-io": "web-realtime-socket-io",
|
|
8427
|
+
pinecone: "api-vector-db-pinecone",
|
|
5393
8428
|
"web-accessibility": "web-accessibility-web-accessibility",
|
|
8429
|
+
"together-ai": "api-ai-together-ai",
|
|
5394
8430
|
"scss-modules": "web-styling-scss-modules",
|
|
8431
|
+
mantine: "web-ui-mantine",
|
|
5395
8432
|
"auth-security": "shared-security-auth-security",
|
|
5396
8433
|
"native-js": "web-utilities-native-js",
|
|
8434
|
+
stripe: "api-commerce-stripe",
|
|
5397
8435
|
fastify: "api-framework-fastify",
|
|
5398
8436
|
"cypress-e2e": "web-testing-cypress-e2e",
|
|
5399
8437
|
"posthog-analytics": "api-analytics-posthog-analytics",
|
|
8438
|
+
qwik: "web-meta-framework-qwik",
|
|
5400
8439
|
swr: "web-data-fetching-swr",
|
|
8440
|
+
sequelize: "api-database-sequelize",
|
|
5401
8441
|
"react-intl": "web-i18n-react-intl"
|
|
5402
8442
|
},
|
|
5403
8443
|
idToSlug: {
|
|
@@ -5407,36 +8447,58 @@ var BUILT_IN_MATRIX = {
|
|
|
5407
8447
|
"api-database-mongodb": "mongodb",
|
|
5408
8448
|
"api-analytics-setup-posthog": "setup-posthog",
|
|
5409
8449
|
"web-framework-react": "react",
|
|
8450
|
+
"api-database-typeorm": "typeorm",
|
|
8451
|
+
"api-ai-replicate": "replicate",
|
|
5410
8452
|
"api-database-prisma": "prisma",
|
|
8453
|
+
"api-ai-anthropic-sdk": "anthropic-sdk",
|
|
5411
8454
|
"shared-ci-cd-github-actions": "github-actions",
|
|
5412
8455
|
"web-files-file-upload-patterns": "file-upload-patterns",
|
|
5413
8456
|
"web-forms-zod-validation": "zod-validation",
|
|
8457
|
+
"web-utilities-rxjs": "rxjs",
|
|
5414
8458
|
"web-ui-headless-ui": "headless-ui",
|
|
8459
|
+
"api-cms-payload": "payload",
|
|
8460
|
+
"api-database-mysql": "mysql",
|
|
8461
|
+
"api-ai-cohere-sdk": "cohere-sdk",
|
|
5415
8462
|
"cli-framework-cli-commander": "cli-commander",
|
|
5416
8463
|
"web-framework-angular-standalone": "angular-standalone",
|
|
5417
8464
|
"shared-tooling-git-hooks": "git-hooks",
|
|
5418
8465
|
"web-pwa-offline-first": "offline-first",
|
|
5419
8466
|
"api-observability-axiom-pino-sentry": "axiom-pino-sentry",
|
|
5420
8467
|
"mobile-framework-expo": "expo",
|
|
8468
|
+
"web-routing-react-router": "react-router",
|
|
5421
8469
|
"web-state-jotai": "jotai",
|
|
8470
|
+
"api-ai-huggingface-inference": "huggingface-inference",
|
|
8471
|
+
"api-cms-sanity": "sanity",
|
|
5422
8472
|
"api-observability-setup-axiom-pino-sentry": "setup-axiom-pino-sentry",
|
|
8473
|
+
"api-ai-mistral-sdk": "mistral-sdk",
|
|
5423
8474
|
"shared-meta-research-methodology": "research-methodology",
|
|
5424
8475
|
"web-realtime-websockets": "websockets",
|
|
5425
8476
|
"web-data-fetching-graphql-apollo": "graphql-apollo",
|
|
5426
8477
|
"web-state-redux-toolkit": "redux-toolkit",
|
|
8478
|
+
"api-baas-turso": "turso",
|
|
5427
8479
|
"web-state-pinia": "pinia",
|
|
8480
|
+
"api-ai-promptfoo": "promptfoo",
|
|
8481
|
+
"api-ai-ollama": "ollama",
|
|
5428
8482
|
"api-auth-clerk": "clerk",
|
|
8483
|
+
"api-framework-elysia": "elysia",
|
|
5429
8484
|
"web-tooling-vite": "vite",
|
|
8485
|
+
"api-search-meilisearch": "meilisearch",
|
|
5430
8486
|
"shared-meta-cli-reviewing": "cli-reviewing",
|
|
8487
|
+
"api-search-elasticsearch": "elasticsearch",
|
|
5431
8488
|
"web-utilities-date-fns": "date-fns",
|
|
8489
|
+
"api-baas-upstash": "upstash",
|
|
5432
8490
|
"web-tooling-storybook": "storybook",
|
|
8491
|
+
"api-ai-tool-use-patterns": "tool-use-patterns",
|
|
8492
|
+
"api-baas-planetscale": "planetscale",
|
|
5433
8493
|
"web-ui-shadcn-ui": "shadcn-ui",
|
|
5434
8494
|
"api-auth-nextauth": "nextauth",
|
|
5435
8495
|
"mobile-framework-react-native": "react-native",
|
|
5436
8496
|
"web-realtime-sse": "sse",
|
|
5437
8497
|
"web-framework-vue-composition-api": "vue-composition-api",
|
|
8498
|
+
"api-vector-db-chroma": "chroma",
|
|
5438
8499
|
"web-forms-vee-validate": "vee-validate",
|
|
5439
8500
|
"web-testing-vue-test-utils": "vue-test-utils",
|
|
8501
|
+
"web-ui-chakra-ui": "chakra-ui",
|
|
5440
8502
|
"web-state-zustand": "zustand",
|
|
5441
8503
|
"web-ui-radix-ui": "radix-ui",
|
|
5442
8504
|
"web-state-ngrx-signalstore": "ngrx-signalstore",
|
|
@@ -5450,59 +8512,88 @@ var BUILT_IN_MATRIX = {
|
|
|
5450
8512
|
"web-i18n-next-intl": "next-intl",
|
|
5451
8513
|
"web-framework-solidjs": "solidjs",
|
|
5452
8514
|
"web-meta-framework-astro": "astro",
|
|
8515
|
+
"api-baas-neon": "neon",
|
|
5453
8516
|
"shared-meta-reviewing": "reviewing",
|
|
8517
|
+
"api-database-edgedb": "edgedb",
|
|
8518
|
+
"api-vector-db-weaviate": "weaviate",
|
|
5454
8519
|
"web-pwa-service-workers": "service-workers",
|
|
5455
8520
|
"shared-infra-setup-env": "setup-env",
|
|
5456
8521
|
"web-testing-react-testing-library": "react-testing-library",
|
|
8522
|
+
"api-database-knex": "knex",
|
|
5457
8523
|
"web-styling-cva": "cva",
|
|
5458
8524
|
"web-mocks-msw": "msw",
|
|
5459
8525
|
"shared-monorepo-turborepo": "turborepo",
|
|
5460
8526
|
"web-i18n-vue-i18n": "vue-i18n",
|
|
5461
8527
|
"web-routing-tanstack-router": "tanstack-router",
|
|
8528
|
+
"api-vector-db-qdrant": "qdrant",
|
|
5462
8529
|
"web-files-image-handling": "image-handling",
|
|
5463
8530
|
"api-email-setup-resend": "setup-resend",
|
|
8531
|
+
"api-ai-claude-vision": "claude-vision",
|
|
5464
8532
|
"web-server-state-react-query": "react-query",
|
|
8533
|
+
"api-ai-llamaindex": "llamaindex",
|
|
5465
8534
|
"web-framework-svelte": "svelte",
|
|
8535
|
+
"api-ai-elevenlabs": "elevenlabs",
|
|
5466
8536
|
"api-performance-api-performance": "api-performance",
|
|
5467
8537
|
"web-data-fetching-graphql-urql": "graphql-urql",
|
|
5468
8538
|
"web-ui-ant-design": "ant-design",
|
|
5469
8539
|
"web-meta-framework-nuxt": "nuxt",
|
|
5470
8540
|
"api-baas-supabase": "supabase",
|
|
8541
|
+
"api-database-mongoose": "mongoose",
|
|
5471
8542
|
"web-state-mobx": "mobx",
|
|
5472
8543
|
"web-animation-css-animations": "css-animations",
|
|
5473
8544
|
"api-auth-better-auth-drizzle-hono": "better-auth-drizzle-hono",
|
|
5474
8545
|
"shared-monorepo-nx": "nx",
|
|
8546
|
+
"api-baas-appwrite": "appwrite",
|
|
5475
8547
|
"cli-framework-oclif-ink": "oclif-ink",
|
|
8548
|
+
"api-cms-strapi": "strapi",
|
|
8549
|
+
"web-utilities-vueuse": "vueuse",
|
|
5476
8550
|
"api-baas-firebase": "firebase",
|
|
5477
8551
|
"api-ai-openai-sdk": "openai-sdk",
|
|
8552
|
+
"api-ai-langfuse": "langfuse",
|
|
8553
|
+
"api-ai-openai-whisper": "openai-whisper",
|
|
5478
8554
|
"api-database-redis": "redis",
|
|
5479
8555
|
"shared-monorepo-pnpm-workspaces": "pnpm-workspaces",
|
|
8556
|
+
"api-ai-litellm": "litellm",
|
|
5480
8557
|
"web-ui-mui": "mui",
|
|
5481
8558
|
"api-database-drizzle": "drizzle",
|
|
8559
|
+
"api-database-surrealdb": "surrealdb",
|
|
5482
8560
|
"web-testing-vitest": "vitest",
|
|
5483
8561
|
"web-meta-framework-nextjs": "nextjs",
|
|
8562
|
+
"api-database-cockroachdb": "cockroachdb",
|
|
5484
8563
|
"web-animation-view-transitions": "view-transitions",
|
|
5485
8564
|
"api-framework-nestjs": "nestjs",
|
|
5486
8565
|
"api-email-resend-react-email": "resend-react-email",
|
|
8566
|
+
"api-baas-vercel-kv": "vercel-kv",
|
|
8567
|
+
"api-baas-vercel-postgres": "vercel-postgres",
|
|
5487
8568
|
"api-framework-express": "express",
|
|
8569
|
+
"api-ai-modal": "modal",
|
|
5488
8570
|
"web-ui-tanstack-table": "tanstack-table",
|
|
5489
8571
|
"web-meta-framework-remix": "remix",
|
|
5490
8572
|
"api-ai-vercel-ai-sdk": "vercel-ai-sdk",
|
|
8573
|
+
"api-ai-langchain": "langchain",
|
|
5491
8574
|
"web-error-handling-result-types": "result-types",
|
|
5492
8575
|
"web-performance-web-performance": "web-performance",
|
|
5493
8576
|
"shared-tooling-typescript-config": "typescript-config",
|
|
5494
8577
|
"web-styling-tailwind": "tailwind",
|
|
5495
8578
|
"web-forms-react-hook-form": "react-hook-form",
|
|
8579
|
+
"api-ai-google-gemini-sdk": "google-gemini-sdk",
|
|
8580
|
+
"api-database-postgresql": "postgresql",
|
|
5496
8581
|
"web-meta-framework-sveltekit": "sveltekit",
|
|
5497
8582
|
"web-realtime-socket-io": "socket-io",
|
|
8583
|
+
"api-vector-db-pinecone": "pinecone",
|
|
5498
8584
|
"web-accessibility-web-accessibility": "web-accessibility",
|
|
8585
|
+
"api-ai-together-ai": "together-ai",
|
|
5499
8586
|
"web-styling-scss-modules": "scss-modules",
|
|
8587
|
+
"web-ui-mantine": "mantine",
|
|
5500
8588
|
"shared-security-auth-security": "auth-security",
|
|
5501
8589
|
"web-utilities-native-js": "native-js",
|
|
8590
|
+
"api-commerce-stripe": "stripe",
|
|
5502
8591
|
"api-framework-fastify": "fastify",
|
|
5503
8592
|
"web-testing-cypress-e2e": "cypress-e2e",
|
|
5504
8593
|
"api-analytics-posthog-analytics": "posthog-analytics",
|
|
8594
|
+
"web-meta-framework-qwik": "qwik",
|
|
5505
8595
|
"web-data-fetching-swr": "swr",
|
|
8596
|
+
"api-database-sequelize": "sequelize",
|
|
5506
8597
|
"web-i18n-react-intl": "react-intl"
|
|
5507
8598
|
}
|
|
5508
8599
|
},
|
|
@@ -5552,4 +8643,4 @@ export {
|
|
|
5552
8643
|
getCategoryDomain,
|
|
5553
8644
|
findStack
|
|
5554
8645
|
};
|
|
5555
|
-
//# sourceMappingURL=chunk-
|
|
8646
|
+
//# sourceMappingURL=chunk-4R6I6A3U.js.map
|