@agents-inc/cli 0.64.0 → 0.68.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 +46 -0
- package/dist/{chunk-J4POGAJF.js → chunk-2JJUPWE5.js} +2 -2
- package/dist/{chunk-53URJ5XK.js → chunk-45R64U2S.js} +21 -21
- package/dist/chunk-45R64U2S.js.map +1 -0
- package/dist/{chunk-FGLUQSVU.js → chunk-6BXKF5GP.js} +2 -2
- package/dist/{chunk-EZ35IPXZ.js → chunk-7LCI5PSJ.js} +2 -2
- package/dist/{chunk-4C7CSZC5.js → chunk-EULHBV5V.js} +3 -3
- package/dist/{chunk-ZFY5EMDV.js → chunk-F6KEZ4Y5.js} +4 -4
- package/dist/{chunk-EE5EPS32.js → chunk-FCF4WQEI.js} +2 -2
- package/dist/{chunk-R46CB36B.js → chunk-GK5CAS3A.js} +4 -4
- package/dist/{chunk-WSMQ5GAP.js → chunk-HADHP7XF.js} +3 -3
- package/dist/{chunk-OORWBS6F.js → chunk-JAWXWNIX.js} +16 -10
- package/dist/chunk-JAWXWNIX.js.map +1 -0
- package/dist/{chunk-3YNT3NX3.js → chunk-KBG7GYPL.js} +5 -5
- package/dist/{chunk-O2HK3NTG.js → chunk-KMDBOO3E.js} +2 -2
- package/dist/{chunk-EC3UJRKZ.js → chunk-KWB3B2HS.js} +92 -163
- package/dist/chunk-KWB3B2HS.js.map +1 -0
- package/dist/{chunk-7DI3HGKL.js → chunk-KYULKBFC.js} +2 -2
- package/dist/chunk-KYULKBFC.js.map +1 -0
- package/dist/{chunk-6DEK3TDF.js → chunk-L5LD3ZSR.js} +4 -4
- package/dist/{chunk-F3REOP7N.js → chunk-L6MTIQ2U.js} +2 -2
- package/dist/{chunk-MOMI77PL.js → chunk-N4D43IOO.js} +57 -137
- package/dist/chunk-N4D43IOO.js.map +1 -0
- package/dist/{chunk-RG3KDXMR.js → chunk-QUEO6QEL.js} +3 -3
- package/dist/{chunk-LMZXL5RQ.js → chunk-R3AR4VLZ.js} +11 -11
- package/dist/chunk-R3AR4VLZ.js.map +1 -0
- package/dist/{chunk-4KVBH2X4.js → chunk-RMMHVE2R.js} +3 -3
- package/dist/{chunk-YEGPTBX5.js → chunk-SSGPFKS4.js} +3 -3
- package/dist/{chunk-BGPGQF35.js → chunk-VTRVAXUM.js} +3 -3
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +6 -6
- package/dist/commands/build/stack.js +6 -6
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/index.js +6 -6
- package/dist/commands/config/path.js +5 -5
- package/dist/commands/config/show.js +6 -6
- package/dist/commands/diff.js +5 -5
- package/dist/commands/doctor.js +5 -5
- package/dist/commands/edit.js +40 -20
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +5 -5
- package/dist/commands/import/skill.js +5 -5
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +17 -17
- package/dist/commands/list.js +5 -5
- package/dist/commands/new/agent.js +6 -6
- package/dist/commands/new/marketplace.js +7 -7
- package/dist/commands/new/skill.js +6 -6
- package/dist/commands/outdated.js +5 -5
- package/dist/commands/search.js +5 -5
- package/dist/commands/uninstall.js +5 -5
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- package/dist/components/wizard/category-grid.test.js +11 -11
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/domain-selection.js +6 -6
- package/dist/components/wizard/help-modal.js +1 -1
- package/dist/components/wizard/search-modal.test.js.map +1 -1
- package/dist/components/wizard/source-grid.test.js +8 -13
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +6 -6
- package/dist/components/wizard/step-agents.js +6 -6
- package/dist/components/wizard/step-agents.test.js +8 -8
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +6 -6
- package/dist/components/wizard/step-build.test.js +62 -76
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.test.js +6 -6
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +6 -6
- package/dist/components/wizard/step-sources.test.js +10 -9
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +8 -8
- package/dist/components/wizard/step-stack.test.js +20 -30
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/wizard-layout.js +7 -7
- package/dist/components/wizard/wizard.js +15 -15
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +17 -17
- package/dist/{loader-4YOZCFIP.js → loader-CMSC3RAO.js} +3 -3
- package/dist/{source-loader-O5RMYUBW.js → source-loader-YMWWZFVD.js} +5 -5
- package/dist/{source-manager-NKLL6HCL.js → source-manager-6G3EVTU2.js} +5 -5
- package/dist/stores/matrix-store.test.js +23 -46
- package/dist/stores/matrix-store.test.js.map +1 -1
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +39 -54
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/schemas/metadata.schema.json +1 -1
- package/dist/chunk-53URJ5XK.js.map +0 -1
- package/dist/chunk-7DI3HGKL.js.map +0 -1
- package/dist/chunk-EC3UJRKZ.js.map +0 -1
- package/dist/chunk-LMZXL5RQ.js.map +0 -1
- package/dist/chunk-MOMI77PL.js.map +0 -1
- package/dist/chunk-OORWBS6F.js.map +0 -1
- /package/dist/{chunk-J4POGAJF.js.map → chunk-2JJUPWE5.js.map} +0 -0
- /package/dist/{chunk-FGLUQSVU.js.map → chunk-6BXKF5GP.js.map} +0 -0
- /package/dist/{chunk-EZ35IPXZ.js.map → chunk-7LCI5PSJ.js.map} +0 -0
- /package/dist/{chunk-4C7CSZC5.js.map → chunk-EULHBV5V.js.map} +0 -0
- /package/dist/{chunk-ZFY5EMDV.js.map → chunk-F6KEZ4Y5.js.map} +0 -0
- /package/dist/{chunk-EE5EPS32.js.map → chunk-FCF4WQEI.js.map} +0 -0
- /package/dist/{chunk-R46CB36B.js.map → chunk-GK5CAS3A.js.map} +0 -0
- /package/dist/{chunk-WSMQ5GAP.js.map → chunk-HADHP7XF.js.map} +0 -0
- /package/dist/{chunk-3YNT3NX3.js.map → chunk-KBG7GYPL.js.map} +0 -0
- /package/dist/{chunk-O2HK3NTG.js.map → chunk-KMDBOO3E.js.map} +0 -0
- /package/dist/{chunk-6DEK3TDF.js.map → chunk-L5LD3ZSR.js.map} +0 -0
- /package/dist/{chunk-F3REOP7N.js.map → chunk-L6MTIQ2U.js.map} +0 -0
- /package/dist/{chunk-RG3KDXMR.js.map → chunk-QUEO6QEL.js.map} +0 -0
- /package/dist/{chunk-4KVBH2X4.js.map → chunk-RMMHVE2R.js.map} +0 -0
- /package/dist/{chunk-YEGPTBX5.js.map → chunk-SSGPFKS4.js.map} +0 -0
- /package/dist/{chunk-BGPGQF35.js.map → chunk-VTRVAXUM.js.map} +0 -0
- /package/dist/{loader-4YOZCFIP.js.map → loader-CMSC3RAO.js.map} +0 -0
- /package/dist/{source-loader-O5RMYUBW.js.map → source-loader-YMWWZFVD.js.map} +0 -0
- /package/dist/{source-manager-NKLL6HCL.js.map → source-manager-6G3EVTU2.js.map} +0 -0
|
@@ -363,248 +363,190 @@ var defaultRules = {
|
|
|
363
363
|
relationships: {
|
|
364
364
|
conflicts: [
|
|
365
365
|
{
|
|
366
|
-
skills: [
|
|
367
|
-
"web-framework-react",
|
|
368
|
-
"web-framework-vue-composition-api",
|
|
369
|
-
"web-framework-angular-standalone",
|
|
370
|
-
"web-framework-solidjs",
|
|
371
|
-
"web-framework-nextjs-app-router",
|
|
372
|
-
"web-framework-remix",
|
|
373
|
-
"web-framework-nuxt"
|
|
374
|
-
],
|
|
366
|
+
skills: ["react", "vue", "angular", "solidjs", "nextjs-app-router", "remix", "nuxt"],
|
|
375
367
|
reason: "Frameworks are mutually exclusive"
|
|
376
368
|
},
|
|
377
369
|
{
|
|
378
|
-
skills: [
|
|
379
|
-
"web-state-pinia",
|
|
380
|
-
"web-state-zustand",
|
|
381
|
-
"web-state-redux-toolkit",
|
|
382
|
-
"web-state-mobx"
|
|
383
|
-
],
|
|
370
|
+
skills: ["pinia", "zustand", "redux-toolkit", "mobx"],
|
|
384
371
|
reason: "Pinia is Vue-only; zustand/redux-toolkit/mobx skills teach React patterns"
|
|
385
372
|
},
|
|
386
373
|
{
|
|
387
|
-
skills: [
|
|
388
|
-
"web-state-ngrx-signalstore",
|
|
389
|
-
"web-state-zustand",
|
|
390
|
-
"web-state-pinia",
|
|
391
|
-
"web-state-redux-toolkit",
|
|
392
|
-
"web-state-mobx"
|
|
393
|
-
],
|
|
374
|
+
skills: ["ngrx-signalstore", "zustand", "pinia", "redux-toolkit", "mobx"],
|
|
394
375
|
reason: "NgRx SignalStore is Angular-only"
|
|
395
376
|
},
|
|
396
377
|
{
|
|
397
|
-
skills: ["
|
|
378
|
+
skills: ["react-query", "swr"],
|
|
398
379
|
reason: "Both solve server state caching"
|
|
399
380
|
},
|
|
400
381
|
{
|
|
401
|
-
skills: ["
|
|
382
|
+
skills: ["graphql-apollo", "graphql-urql"],
|
|
402
383
|
reason: "Both are GraphQL clients"
|
|
403
384
|
},
|
|
404
385
|
{
|
|
405
|
-
skills: ["
|
|
386
|
+
skills: ["playwright-e2e", "cypress-e2e"],
|
|
406
387
|
reason: "Both are E2E frameworks"
|
|
407
388
|
},
|
|
408
389
|
{
|
|
409
|
-
skills: ["
|
|
390
|
+
skills: ["react-hook-form", "vee-validate"],
|
|
410
391
|
reason: "react-hook-form is React-only, vee-validate is Vue-only"
|
|
411
392
|
},
|
|
412
393
|
{
|
|
413
|
-
skills: ["
|
|
394
|
+
skills: ["react-testing-library", "vue-test-utils"],
|
|
414
395
|
reason: "Framework-specific testing libraries"
|
|
415
396
|
},
|
|
416
397
|
{
|
|
417
|
-
skills: ["
|
|
398
|
+
skills: ["hono", "express", "fastify"],
|
|
418
399
|
reason: "API frameworks are mutually exclusive within a single service"
|
|
419
400
|
},
|
|
420
401
|
{
|
|
421
|
-
skills: ["
|
|
402
|
+
skills: ["drizzle", "prisma"],
|
|
422
403
|
reason: "Both are ORMs serving similar purposes"
|
|
423
404
|
},
|
|
424
405
|
{
|
|
425
|
-
skills: ["cli-
|
|
406
|
+
skills: ["cli-commander", "oclif"],
|
|
426
407
|
reason: "CLI frameworks are mutually exclusive"
|
|
427
408
|
}
|
|
428
409
|
],
|
|
429
410
|
discourages: [
|
|
430
411
|
{
|
|
431
|
-
skills: ["
|
|
412
|
+
skills: ["zustand", "redux-toolkit", "mobx"],
|
|
432
413
|
reason: "Using multiple React state libraries adds complexity"
|
|
433
414
|
},
|
|
434
415
|
{
|
|
435
|
-
skills: ["
|
|
416
|
+
skills: ["redux-toolkit", "zustand"],
|
|
436
417
|
reason: "Redux Toolkit adds more boilerplate than Zustand"
|
|
437
418
|
},
|
|
438
419
|
{
|
|
439
|
-
skills: ["
|
|
420
|
+
skills: ["swr", "react-query"],
|
|
440
421
|
reason: "SWR is simpler but React Query has more features"
|
|
441
422
|
},
|
|
442
423
|
{
|
|
443
|
-
skills: ["
|
|
424
|
+
skills: ["express", "hono"],
|
|
444
425
|
reason: "Express is mature but Hono offers better performance and edge support"
|
|
445
426
|
},
|
|
446
427
|
{
|
|
447
|
-
skills: ["
|
|
428
|
+
skills: ["express", "fastify"],
|
|
448
429
|
reason: "Express is mature but Fastify offers better performance"
|
|
449
430
|
},
|
|
450
431
|
{
|
|
451
|
-
skills: ["
|
|
432
|
+
skills: ["cypress-e2e", "playwright-e2e"],
|
|
452
433
|
reason: "Cypress excels at interactive debugging; Playwright has better cross-browser support and CI performance"
|
|
453
434
|
}
|
|
454
435
|
],
|
|
455
436
|
recommends: [
|
|
456
|
-
{ skill: "
|
|
457
|
-
{ skill: "
|
|
458
|
-
{ skill: "
|
|
459
|
-
{ skill: "
|
|
460
|
-
{ skill: "
|
|
461
|
-
{ skill: "
|
|
462
|
-
{ skill: "
|
|
463
|
-
{ skill: "
|
|
464
|
-
{ skill: "
|
|
465
|
-
{ skill: "
|
|
466
|
-
{ skill: "
|
|
467
|
-
{ skill: "
|
|
468
|
-
{ skill: "
|
|
469
|
-
{ skill: "
|
|
470
|
-
{ skill: "
|
|
471
|
-
{ skill: "
|
|
472
|
-
{ skill: "
|
|
473
|
-
{ skill: "
|
|
474
|
-
{ skill: "
|
|
475
|
-
{ skill: "
|
|
437
|
+
{ skill: "zustand", reason: "Best-in-class React state management" },
|
|
438
|
+
{ skill: "react-query", reason: "Modern server state caching for React" },
|
|
439
|
+
{ skill: "vitest", reason: "Fast, modern test runner for all frameworks" },
|
|
440
|
+
{ skill: "react-hook-form", reason: "Best React form library" },
|
|
441
|
+
{ skill: "react-testing-library", reason: "Standard React component testing" },
|
|
442
|
+
{ skill: "shadcn-ui", reason: "Best-in-class React + Tailwind component library" },
|
|
443
|
+
{ skill: "zod-validation", reason: "Type-safe validation for forms and APIs" },
|
|
444
|
+
{ skill: "pinia", reason: "Vue community standard state management" },
|
|
445
|
+
{ skill: "vee-validate", reason: "Vue community standard form validation" },
|
|
446
|
+
{ skill: "vue-test-utils", reason: "Vue component testing library" },
|
|
447
|
+
{ skill: "ngrx-signalstore", reason: "Angular Signals-based state management" },
|
|
448
|
+
{ skill: "tailwind", reason: "Utility-first CSS framework" },
|
|
449
|
+
{ skill: "drizzle", reason: "Modern TypeScript-first ORM" },
|
|
450
|
+
{ skill: "better-auth", reason: "Full-featured auth solution" },
|
|
451
|
+
{ skill: "radix-ui", reason: "Accessible unstyled component primitives" },
|
|
452
|
+
{ skill: "cva", reason: "Type-safe variant management for Tailwind" },
|
|
453
|
+
{ skill: "msw", reason: "Network-level API mocking for tests" },
|
|
454
|
+
{ skill: "playwright-e2e", reason: "Cross-browser E2E testing" },
|
|
455
|
+
{ skill: "posthog", reason: "Product analytics and feature flags" },
|
|
456
|
+
{ skill: "prisma", reason: "Mature database ORM with great DX" }
|
|
476
457
|
],
|
|
477
458
|
requires: [
|
|
478
459
|
{
|
|
479
|
-
skill: "
|
|
480
|
-
needs: [
|
|
481
|
-
"web-framework-react",
|
|
482
|
-
"web-framework-nextjs-app-router",
|
|
483
|
-
"web-framework-remix",
|
|
484
|
-
"mobile-framework-react-native"
|
|
485
|
-
],
|
|
460
|
+
skill: "zustand",
|
|
461
|
+
needs: ["react", "nextjs-app-router", "remix", "react-native"],
|
|
486
462
|
needsAny: true,
|
|
487
463
|
reason: "Our Zustand skill covers React/React Native patterns"
|
|
488
464
|
},
|
|
489
465
|
{
|
|
490
|
-
skill: "
|
|
491
|
-
needs: [
|
|
492
|
-
"web-framework-react",
|
|
493
|
-
"web-framework-nextjs-app-router",
|
|
494
|
-
"web-framework-remix",
|
|
495
|
-
"mobile-framework-react-native"
|
|
496
|
-
],
|
|
466
|
+
skill: "redux-toolkit",
|
|
467
|
+
needs: ["react", "nextjs-app-router", "remix", "react-native"],
|
|
497
468
|
needsAny: true,
|
|
498
469
|
reason: "Our Redux Toolkit skill covers React/React Native patterns"
|
|
499
470
|
},
|
|
500
471
|
{
|
|
501
|
-
skill: "
|
|
502
|
-
needs: ["
|
|
472
|
+
skill: "mobx",
|
|
473
|
+
needs: ["react", "nextjs-app-router", "remix"],
|
|
503
474
|
needsAny: true,
|
|
504
475
|
reason: "Our MobX skill teaches React patterns"
|
|
505
476
|
},
|
|
506
477
|
{
|
|
507
|
-
skill: "
|
|
508
|
-
needs: [
|
|
509
|
-
"web-framework-react",
|
|
510
|
-
"web-framework-nextjs-app-router",
|
|
511
|
-
"web-framework-remix",
|
|
512
|
-
"mobile-framework-react-native"
|
|
513
|
-
],
|
|
478
|
+
skill: "react-query",
|
|
479
|
+
needs: ["react", "nextjs-app-router", "remix", "react-native"],
|
|
514
480
|
needsAny: true,
|
|
515
481
|
reason: "TanStack Query's React adapter"
|
|
516
482
|
},
|
|
517
483
|
{
|
|
518
|
-
skill: "
|
|
519
|
-
needs: [
|
|
520
|
-
"web-framework-react",
|
|
521
|
-
"web-framework-nextjs-app-router",
|
|
522
|
-
"web-framework-remix",
|
|
523
|
-
"mobile-framework-react-native"
|
|
524
|
-
],
|
|
484
|
+
skill: "swr",
|
|
485
|
+
needs: ["react", "nextjs-app-router", "remix", "react-native"],
|
|
525
486
|
needsAny: true,
|
|
526
487
|
reason: "SWR is a React Hooks library"
|
|
527
488
|
},
|
|
528
489
|
{
|
|
529
|
-
skill: "
|
|
530
|
-
needs: [
|
|
531
|
-
"web-framework-react",
|
|
532
|
-
"web-framework-nextjs-app-router",
|
|
533
|
-
"web-framework-remix",
|
|
534
|
-
"mobile-framework-react-native"
|
|
535
|
-
],
|
|
490
|
+
skill: "react-hook-form",
|
|
491
|
+
needs: ["react", "nextjs-app-router", "remix", "react-native"],
|
|
536
492
|
needsAny: true,
|
|
537
493
|
reason: "React Hook Form is React only"
|
|
538
494
|
},
|
|
539
495
|
{
|
|
540
|
-
skill: "
|
|
541
|
-
needs: ["
|
|
496
|
+
skill: "react-testing-library",
|
|
497
|
+
needs: ["react", "nextjs-app-router", "remix"],
|
|
542
498
|
needsAny: true,
|
|
543
499
|
reason: "React Testing Library is React only"
|
|
544
500
|
},
|
|
545
501
|
{
|
|
546
|
-
skill: "
|
|
547
|
-
needs: ["
|
|
502
|
+
skill: "pinia",
|
|
503
|
+
needs: ["vue", "nuxt"],
|
|
548
504
|
needsAny: true,
|
|
549
505
|
reason: "Pinia is Vue only"
|
|
550
506
|
},
|
|
551
507
|
{
|
|
552
|
-
skill: "
|
|
553
|
-
needs: ["
|
|
508
|
+
skill: "vee-validate",
|
|
509
|
+
needs: ["vue", "nuxt"],
|
|
554
510
|
needsAny: true,
|
|
555
511
|
reason: "VeeValidate is Vue only"
|
|
556
512
|
},
|
|
557
513
|
{
|
|
558
|
-
skill: "
|
|
559
|
-
needs: ["
|
|
514
|
+
skill: "vue-test-utils",
|
|
515
|
+
needs: ["vue", "nuxt"],
|
|
560
516
|
needsAny: true,
|
|
561
517
|
reason: "Vue Test Utils is Vue only"
|
|
562
518
|
},
|
|
563
519
|
{
|
|
564
|
-
skill: "
|
|
565
|
-
needs: ["
|
|
520
|
+
skill: "ngrx-signalstore",
|
|
521
|
+
needs: ["angular"],
|
|
566
522
|
reason: "NgRx SignalStore is Angular only"
|
|
567
523
|
},
|
|
568
524
|
{
|
|
569
|
-
skill: "
|
|
570
|
-
needs: ["
|
|
525
|
+
skill: "better-auth",
|
|
526
|
+
needs: ["drizzle", "prisma"],
|
|
571
527
|
needsAny: true,
|
|
572
528
|
reason: "Better Auth requires a database adapter"
|
|
573
529
|
},
|
|
574
530
|
{
|
|
575
|
-
skill: "
|
|
576
|
-
needs: ["
|
|
531
|
+
skill: "shadcn-ui",
|
|
532
|
+
needs: ["react", "nextjs-app-router", "remix"],
|
|
577
533
|
needsAny: true,
|
|
578
534
|
reason: "shadcn/ui requires a React-based framework"
|
|
579
535
|
},
|
|
580
536
|
{
|
|
581
|
-
skill: "
|
|
582
|
-
needs: ["
|
|
537
|
+
skill: "shadcn-ui",
|
|
538
|
+
needs: ["tailwind"],
|
|
583
539
|
reason: "shadcn/ui requires Tailwind CSS"
|
|
584
540
|
},
|
|
585
541
|
{
|
|
586
|
-
skill: "
|
|
587
|
-
needs: [
|
|
588
|
-
"web-framework-react",
|
|
589
|
-
"web-framework-vue-composition-api",
|
|
590
|
-
"web-framework-angular-standalone",
|
|
591
|
-
"web-framework-nextjs-app-router",
|
|
592
|
-
"web-framework-remix",
|
|
593
|
-
"web-framework-nuxt"
|
|
594
|
-
],
|
|
542
|
+
skill: "graphql-apollo",
|
|
543
|
+
needs: ["react", "vue", "angular", "nextjs-app-router", "remix", "nuxt"],
|
|
595
544
|
needsAny: true,
|
|
596
545
|
reason: "Apollo Client requires a UI framework"
|
|
597
546
|
},
|
|
598
547
|
{
|
|
599
|
-
skill: "
|
|
600
|
-
needs: [
|
|
601
|
-
"web-framework-react",
|
|
602
|
-
"web-framework-vue-composition-api",
|
|
603
|
-
"web-framework-solidjs",
|
|
604
|
-
"web-framework-nextjs-app-router",
|
|
605
|
-
"web-framework-remix",
|
|
606
|
-
"web-framework-nuxt"
|
|
607
|
-
],
|
|
548
|
+
skill: "graphql-urql",
|
|
549
|
+
needs: ["react", "vue", "solidjs", "nextjs-app-router", "remix", "nuxt"],
|
|
608
550
|
needsAny: true,
|
|
609
551
|
reason: "URQL supports React, Vue, and Solid"
|
|
610
552
|
}
|
|
@@ -612,60 +554,47 @@ var defaultRules = {
|
|
|
612
554
|
alternatives: [
|
|
613
555
|
{
|
|
614
556
|
purpose: "Frontend Framework",
|
|
615
|
-
skills: [
|
|
616
|
-
"web-framework-react",
|
|
617
|
-
"web-framework-vue-composition-api",
|
|
618
|
-
"web-framework-angular-standalone",
|
|
619
|
-
"web-framework-solidjs",
|
|
620
|
-
"web-framework-nextjs-app-router",
|
|
621
|
-
"web-framework-remix",
|
|
622
|
-
"web-framework-nuxt"
|
|
623
|
-
]
|
|
557
|
+
skills: ["react", "vue", "angular", "solidjs", "nextjs-app-router", "remix", "nuxt"]
|
|
624
558
|
},
|
|
625
559
|
{
|
|
626
560
|
purpose: "Styling",
|
|
627
|
-
skills: ["
|
|
561
|
+
skills: ["scss-modules", "tailwind", "cva"]
|
|
628
562
|
},
|
|
629
563
|
{
|
|
630
564
|
purpose: "Client State (React)",
|
|
631
|
-
skills: [
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
"web-state-jotai"
|
|
636
|
-
]
|
|
637
|
-
},
|
|
638
|
-
{ purpose: "Client State (Vue)", skills: ["web-state-pinia"] },
|
|
639
|
-
{ purpose: "Client State (Angular)", skills: ["web-state-ngrx-signalstore"] },
|
|
565
|
+
skills: ["zustand", "redux-toolkit", "mobx", "jotai"]
|
|
566
|
+
},
|
|
567
|
+
{ purpose: "Client State (Vue)", skills: ["pinia"] },
|
|
568
|
+
{ purpose: "Client State (Angular)", skills: ["ngrx-signalstore"] },
|
|
640
569
|
{
|
|
641
570
|
purpose: "Server State / Data Fetching",
|
|
642
|
-
skills: ["
|
|
571
|
+
skills: ["react-query", "swr"]
|
|
643
572
|
},
|
|
644
573
|
{
|
|
645
574
|
purpose: "GraphQL Client",
|
|
646
|
-
skills: ["
|
|
575
|
+
skills: ["graphql-apollo", "graphql-urql"]
|
|
647
576
|
},
|
|
648
577
|
{
|
|
649
578
|
purpose: "API Framework",
|
|
650
|
-
skills: ["
|
|
651
|
-
},
|
|
652
|
-
{ purpose: "Database ORM", skills: ["
|
|
653
|
-
{ purpose: "Forms (React)", skills: ["
|
|
654
|
-
{ purpose: "Forms (Vue)", skills: ["
|
|
655
|
-
{ purpose: "Validation", skills: ["
|
|
656
|
-
{ purpose: "Unit Testing", skills: ["
|
|
657
|
-
{ purpose: "Component Testing (React)", skills: ["
|
|
658
|
-
{ purpose: "Component Testing (Vue)", skills: ["
|
|
579
|
+
skills: ["hono", "express", "fastify"]
|
|
580
|
+
},
|
|
581
|
+
{ purpose: "Database ORM", skills: ["drizzle", "prisma"] },
|
|
582
|
+
{ purpose: "Forms (React)", skills: ["react-hook-form"] },
|
|
583
|
+
{ purpose: "Forms (Vue)", skills: ["vee-validate"] },
|
|
584
|
+
{ purpose: "Validation", skills: ["zod-validation"] },
|
|
585
|
+
{ purpose: "Unit Testing", skills: ["vitest"] },
|
|
586
|
+
{ purpose: "Component Testing (React)", skills: ["react-testing-library"] },
|
|
587
|
+
{ purpose: "Component Testing (Vue)", skills: ["vue-test-utils"] },
|
|
659
588
|
{
|
|
660
589
|
purpose: "E2E Testing",
|
|
661
|
-
skills: ["
|
|
590
|
+
skills: ["playwright-e2e", "cypress-e2e"]
|
|
662
591
|
},
|
|
663
|
-
{ purpose: "API Mocking", skills: ["
|
|
664
|
-
{ purpose: "UI Components (React + Tailwind)", skills: ["
|
|
665
|
-
{ purpose: "Mobile", skills: ["
|
|
592
|
+
{ purpose: "API Mocking", skills: ["msw"] },
|
|
593
|
+
{ purpose: "UI Components (React + Tailwind)", skills: ["shadcn-ui"] },
|
|
594
|
+
{ purpose: "Mobile", skills: ["react-native"] },
|
|
666
595
|
{
|
|
667
596
|
purpose: "CLI Framework",
|
|
668
|
-
skills: ["cli-
|
|
597
|
+
skills: ["cli-commander", "oclif"]
|
|
669
598
|
}
|
|
670
599
|
]
|
|
671
600
|
}
|
|
@@ -1531,4 +1460,4 @@ export {
|
|
|
1531
1460
|
defaultRules,
|
|
1532
1461
|
defaultStacks
|
|
1533
1462
|
};
|
|
1534
|
-
//# sourceMappingURL=chunk-
|
|
1463
|
+
//# sourceMappingURL=chunk-KWB3B2HS.js.map
|