@agents-inc/cli 0.48.0 → 0.60.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/CHANGELOG.md +181 -5
  2. package/README.md +1 -2
  3. package/dist/{chunk-2DNDAXF6.js → chunk-52M2XF3W.js} +57 -27
  4. package/dist/chunk-52M2XF3W.js.map +1 -0
  5. package/dist/{chunk-WSGKCBY5.js → chunk-52XO4ULK.js} +6 -9
  6. package/dist/chunk-52XO4ULK.js.map +1 -0
  7. package/dist/{chunk-AMNCCZSG.js → chunk-6G3KZSO4.js} +82 -63
  8. package/dist/chunk-6G3KZSO4.js.map +1 -0
  9. package/dist/{chunk-LESHL6SM.js → chunk-6OWHQ7HM.js} +21 -13
  10. package/dist/chunk-6OWHQ7HM.js.map +1 -0
  11. package/dist/{chunk-X3SZIBVW.js → chunk-7FMEMXJ4.js} +71 -71
  12. package/dist/chunk-7FMEMXJ4.js.map +1 -0
  13. package/dist/{chunk-I52THVF6.js → chunk-AJJJE7F7.js} +2 -2
  14. package/dist/{chunk-ZML3OCYA.js → chunk-AX3SZZWA.js} +2 -2
  15. package/dist/{chunk-NJVJ7VO5.js → chunk-BFD5NZQ4.js} +5 -4
  16. package/dist/chunk-BFD5NZQ4.js.map +1 -0
  17. package/dist/{chunk-GSPPOXMG.js → chunk-BKJHAJQW.js} +2 -2
  18. package/dist/{chunk-GSPPOXMG.js.map → chunk-BKJHAJQW.js.map} +1 -1
  19. package/dist/{chunk-FPTUCWBY.js → chunk-BMJZBLP7.js} +46 -30
  20. package/dist/chunk-BMJZBLP7.js.map +1 -0
  21. package/dist/chunk-BNQ5O6LE.js +74 -0
  22. package/dist/chunk-BNQ5O6LE.js.map +1 -0
  23. package/dist/{chunk-W62XVWXB.js → chunk-C577AJE7.js} +3 -3
  24. package/dist/chunk-CIG7IKX3.js +118 -0
  25. package/dist/chunk-CIG7IKX3.js.map +1 -0
  26. package/dist/chunk-EC3UJRKZ.js +1534 -0
  27. package/dist/chunk-EC3UJRKZ.js.map +1 -0
  28. package/dist/{chunk-IS7GP6XC.js → chunk-EMIUPGPL.js} +57 -52
  29. package/dist/chunk-EMIUPGPL.js.map +1 -0
  30. package/dist/chunk-G6WHCALR.js +593 -0
  31. package/dist/chunk-G6WHCALR.js.map +1 -0
  32. package/dist/{chunk-OTTITQ7C.js → chunk-H7WJK7NJ.js} +48 -95
  33. package/dist/chunk-H7WJK7NJ.js.map +1 -0
  34. package/dist/chunk-HGTC76BX.js +16 -0
  35. package/dist/chunk-HGTC76BX.js.map +1 -0
  36. package/dist/{chunk-G5OZQ376.js → chunk-K6OLORQL.js} +6 -6
  37. package/dist/{chunk-OHDEJEYB.js → chunk-KIWFEBKH.js} +41 -11
  38. package/dist/chunk-KIWFEBKH.js.map +1 -0
  39. package/dist/{chunk-YMUWTPOM.js → chunk-LWXRUR6B.js} +92 -100
  40. package/dist/chunk-LWXRUR6B.js.map +1 -0
  41. package/dist/{chunk-U2AEK4ZL.js → chunk-MGNYPVOJ.js} +2 -2
  42. package/dist/chunk-MKCHLXMY.js +40 -0
  43. package/dist/chunk-MKCHLXMY.js.map +1 -0
  44. package/dist/{chunk-37QYD33C.js → chunk-MMFQNJPE.js} +2 -2
  45. package/dist/{chunk-DG2U2WY3.js → chunk-MR6OBL3B.js} +3 -11
  46. package/dist/{chunk-DG2U2WY3.js.map → chunk-MR6OBL3B.js.map} +1 -1
  47. package/dist/{chunk-7IAKVZL5.js → chunk-O6BA7Q2B.js} +28 -59
  48. package/dist/chunk-O6BA7Q2B.js.map +1 -0
  49. package/dist/chunk-OCEFD7V6.js +201 -0
  50. package/dist/chunk-OCEFD7V6.js.map +1 -0
  51. package/dist/{chunk-YZTWZVGX.js → chunk-PUT7X3GA.js} +1 -1
  52. package/dist/chunk-PUT7X3GA.js.map +1 -0
  53. package/dist/chunk-RO6LX3UV.js +342 -0
  54. package/dist/chunk-RO6LX3UV.js.map +1 -0
  55. package/dist/{chunk-34BP5BC4.js → chunk-SDKCQXWE.js} +2 -2
  56. package/dist/{chunk-VBAAATPU.js → chunk-SEJF7CGJ.js} +41 -28
  57. package/dist/chunk-SEJF7CGJ.js.map +1 -0
  58. package/dist/{chunk-5O6GKXAN.js → chunk-SZRK3VOR.js} +24 -14
  59. package/dist/chunk-SZRK3VOR.js.map +1 -0
  60. package/dist/{chunk-5MN5S3DV.js → chunk-TC3NHO34.js} +22 -17
  61. package/dist/chunk-TC3NHO34.js.map +1 -0
  62. package/dist/{chunk-SPVSWDFM.js → chunk-TGLRDEEL.js} +8 -14
  63. package/dist/chunk-TGLRDEEL.js.map +1 -0
  64. package/dist/{chunk-P2SFRDWI.js → chunk-TZXYBG3R.js} +3634 -2875
  65. package/dist/chunk-TZXYBG3R.js.map +1 -0
  66. package/dist/{chunk-2BVZOYJP.js → chunk-VR3CDXDT.js} +2 -6
  67. package/dist/chunk-VR3CDXDT.js.map +1 -0
  68. package/dist/{chunk-KPJJOLAQ.js → chunk-WF6RM73R.js} +272 -40
  69. package/dist/chunk-WF6RM73R.js.map +1 -0
  70. package/dist/chunk-WYVDNGJB.js +31 -0
  71. package/dist/chunk-WYVDNGJB.js.map +1 -0
  72. package/dist/{chunk-F7KTUFGU.js → chunk-X5EG4EFP.js} +3 -2
  73. package/dist/chunk-X5EG4EFP.js.map +1 -0
  74. package/dist/{chunk-FHKNG3UA.js → chunk-XUDTFI4M.js} +2 -2
  75. package/dist/{chunk-AXV7NFFJ.js → chunk-YHCYKUA3.js} +14 -10
  76. package/dist/chunk-YHCYKUA3.js.map +1 -0
  77. package/dist/commands/build/marketplace.js +4 -4
  78. package/dist/commands/build/plugins.js +9 -7
  79. package/dist/commands/build/plugins.js.map +1 -1
  80. package/dist/commands/build/stack.js +13 -10
  81. package/dist/commands/build/stack.js.map +1 -1
  82. package/dist/commands/compile.js +45 -72
  83. package/dist/commands/compile.js.map +1 -1
  84. package/dist/commands/config/index.js +7 -5
  85. package/dist/commands/config/index.js.map +1 -1
  86. package/dist/commands/config/path.js +8 -6
  87. package/dist/commands/config/path.js.map +1 -1
  88. package/dist/commands/config/show.js +7 -5
  89. package/dist/commands/diff.js +9 -7
  90. package/dist/commands/diff.js.map +1 -1
  91. package/dist/commands/doctor.js +20 -16
  92. package/dist/commands/doctor.js.map +1 -1
  93. package/dist/commands/edit.js +196 -94
  94. package/dist/commands/edit.js.map +1 -1
  95. package/dist/commands/eject.js +20 -41
  96. package/dist/commands/eject.js.map +1 -1
  97. package/dist/commands/import/skill.js +10 -18
  98. package/dist/commands/import/skill.js.map +1 -1
  99. package/dist/commands/info.js +21 -20
  100. package/dist/commands/info.js.map +1 -1
  101. package/dist/commands/init.js +41 -435
  102. package/dist/commands/init.js.map +1 -1
  103. package/dist/commands/list.js +8 -6
  104. package/dist/commands/list.js.map +1 -1
  105. package/dist/commands/new/agent.js +28 -15
  106. package/dist/commands/new/agent.js.map +1 -1
  107. package/dist/commands/new/marketplace.js +67 -31
  108. package/dist/commands/new/marketplace.js.map +1 -1
  109. package/dist/commands/new/skill.js +17 -208
  110. package/dist/commands/new/skill.js.map +1 -1
  111. package/dist/commands/outdated.js +16 -10
  112. package/dist/commands/outdated.js.map +1 -1
  113. package/dist/commands/search.js +45 -35
  114. package/dist/commands/search.js.map +1 -1
  115. package/dist/commands/uninstall.js +93 -123
  116. package/dist/commands/uninstall.js.map +1 -1
  117. package/dist/commands/update.js +11 -9
  118. package/dist/commands/update.js.map +1 -1
  119. package/dist/commands/validate.js +42 -267
  120. package/dist/commands/validate.js.map +1 -1
  121. package/dist/components/common/confirm.test.js +4 -4
  122. package/dist/components/skill-search/skill-search.js +3 -3
  123. package/dist/components/wizard/category-grid.js +3 -2
  124. package/dist/components/wizard/category-grid.test.js +113 -59
  125. package/dist/components/wizard/category-grid.test.js.map +1 -1
  126. package/dist/components/wizard/checkbox-grid.js +5 -3
  127. package/dist/components/wizard/checkbox-grid.test.js +6 -5
  128. package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
  129. package/dist/components/wizard/domain-selection.js +12 -9
  130. package/dist/components/wizard/help-modal.js +2 -2
  131. package/dist/components/wizard/menu-item.js +1 -1
  132. package/dist/components/wizard/search-modal.js +2 -2
  133. package/dist/components/wizard/search-modal.test.js +3 -3
  134. package/dist/components/wizard/search-modal.test.js.map +1 -1
  135. package/dist/components/wizard/section-progress.js +2 -2
  136. package/dist/components/wizard/section-progress.test.js +4 -4
  137. package/dist/components/wizard/section-progress.test.js.map +1 -1
  138. package/dist/components/wizard/selection-card.js +2 -2
  139. package/dist/components/wizard/source-grid.js +4 -3
  140. package/dist/components/wizard/source-grid.test.js +5 -4
  141. package/dist/components/wizard/source-grid.test.js.map +1 -1
  142. package/dist/components/wizard/stack-selection.js +9 -8
  143. package/dist/components/wizard/step-agents.js +11 -8
  144. package/dist/components/wizard/step-agents.test.js +20 -18
  145. package/dist/components/wizard/step-agents.test.js.map +1 -1
  146. package/dist/components/wizard/step-build.js +11 -8
  147. package/dist/components/wizard/step-build.test.js +18 -36
  148. package/dist/components/wizard/step-build.test.js.map +1 -1
  149. package/dist/components/wizard/step-confirm.js +4 -4
  150. package/dist/components/wizard/step-confirm.test.js +83 -23
  151. package/dist/components/wizard/step-confirm.test.js.map +1 -1
  152. package/dist/components/wizard/step-refine.js +2 -2
  153. package/dist/components/wizard/step-refine.test.js +3 -3
  154. package/dist/components/wizard/step-settings.js +9 -5
  155. package/dist/components/wizard/step-settings.test.js +13 -9
  156. package/dist/components/wizard/step-settings.test.js.map +1 -1
  157. package/dist/components/wizard/step-sources.js +13 -10
  158. package/dist/components/wizard/step-sources.test.js +19 -16
  159. package/dist/components/wizard/step-sources.test.js.map +1 -1
  160. package/dist/components/wizard/step-stack.js +16 -12
  161. package/dist/components/wizard/step-stack.test.js +18 -14
  162. package/dist/components/wizard/step-stack.test.js.map +1 -1
  163. package/dist/components/wizard/view-title.js +2 -2
  164. package/dist/components/wizard/wizard-layout.js +10 -8
  165. package/dist/components/wizard/wizard-tabs.js +2 -2
  166. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  167. package/dist/components/wizard/wizard.js +29 -25
  168. package/dist/config-exports.js +20 -0
  169. package/dist/config-exports.js.map +1 -0
  170. package/dist/hooks/init.js +56 -3
  171. package/dist/hooks/init.js.map +1 -1
  172. package/dist/loader-2O32KKAQ.js +19 -0
  173. package/dist/source-loader-A6B3NDI4.js +16 -0
  174. package/dist/source-loader-A6B3NDI4.js.map +1 -0
  175. package/dist/source-manager-Q7IQSGIX.js +18 -0
  176. package/dist/source-manager-Q7IQSGIX.js.map +1 -0
  177. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  178. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  179. package/dist/src/agents/meta/agent-summoner/examples.md +2 -2
  180. package/dist/src/agents/meta/agent-summoner/output-format.md +1 -1
  181. package/dist/src/agents/meta/agent-summoner/workflow.md +8 -10
  182. package/{src/agents/meta/documentor/agent.yaml → dist/src/agents/meta/documentor/metadata.yaml} +1 -0
  183. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +2 -2
  184. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +1 -1
  185. package/dist/src/agents/meta/skill-summoner/intro.md +1 -1
  186. package/dist/src/agents/meta/skill-summoner/output-format.md +3 -3
  187. package/dist/src/agents/meta/skill-summoner/workflow.md +8 -8
  188. package/dist/stores/wizard-store.js +6 -5
  189. package/dist/stores/wizard-store.test.js +367 -75
  190. package/dist/stores/wizard-store.test.js.map +1 -1
  191. package/package.json +5 -1
  192. package/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  193. package/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  194. package/src/agents/meta/agent-summoner/examples.md +2 -2
  195. package/src/agents/meta/agent-summoner/output-format.md +1 -1
  196. package/src/agents/meta/agent-summoner/workflow.md +8 -10
  197. package/{dist/src/agents/meta/documentor/agent.yaml → src/agents/meta/documentor/metadata.yaml} +1 -0
  198. package/src/agents/meta/skill-summoner/critical-reminders.md +2 -2
  199. package/src/agents/meta/skill-summoner/critical-requirements.md +1 -1
  200. package/src/agents/meta/skill-summoner/intro.md +1 -1
  201. package/src/agents/meta/skill-summoner/output-format.md +3 -3
  202. package/src/agents/meta/skill-summoner/workflow.md +8 -8
  203. package/src/schemas/agent.schema.json +1 -1
  204. package/src/schemas/metadata.schema.json +6 -0
  205. package/src/schemas/project-config.schema.json +0 -3
  206. package/src/schemas/stacks.schema.json +1 -1
  207. package/config/skill-categories.yaml +0 -344
  208. package/config/skill-rules.yaml +0 -740
  209. package/config/stacks.yaml +0 -1865
  210. package/dist/chunk-2BVZOYJP.js.map +0 -1
  211. package/dist/chunk-2DNDAXF6.js.map +0 -1
  212. package/dist/chunk-5MN5S3DV.js.map +0 -1
  213. package/dist/chunk-5O6GKXAN.js.map +0 -1
  214. package/dist/chunk-7IAKVZL5.js.map +0 -1
  215. package/dist/chunk-AMNCCZSG.js.map +0 -1
  216. package/dist/chunk-AXV7NFFJ.js.map +0 -1
  217. package/dist/chunk-AXZNJ5PN.js +0 -99
  218. package/dist/chunk-AXZNJ5PN.js.map +0 -1
  219. package/dist/chunk-C7DLY64D.js +0 -115
  220. package/dist/chunk-C7DLY64D.js.map +0 -1
  221. package/dist/chunk-F7KTUFGU.js.map +0 -1
  222. package/dist/chunk-FPTUCWBY.js.map +0 -1
  223. package/dist/chunk-IS7GP6XC.js.map +0 -1
  224. package/dist/chunk-KPJJOLAQ.js.map +0 -1
  225. package/dist/chunk-LESHL6SM.js.map +0 -1
  226. package/dist/chunk-NJVJ7VO5.js.map +0 -1
  227. package/dist/chunk-OHDEJEYB.js.map +0 -1
  228. package/dist/chunk-OTTITQ7C.js.map +0 -1
  229. package/dist/chunk-P2SFRDWI.js.map +0 -1
  230. package/dist/chunk-PY2XZUBF.js +0 -29
  231. package/dist/chunk-PY2XZUBF.js.map +0 -1
  232. package/dist/chunk-SPVSWDFM.js.map +0 -1
  233. package/dist/chunk-VBAAATPU.js.map +0 -1
  234. package/dist/chunk-WSGKCBY5.js.map +0 -1
  235. package/dist/chunk-X3SZIBVW.js.map +0 -1
  236. package/dist/chunk-YDASDMTH.js +0 -183
  237. package/dist/chunk-YDASDMTH.js.map +0 -1
  238. package/dist/chunk-YMUWTPOM.js.map +0 -1
  239. package/dist/chunk-YZTWZVGX.js.map +0 -1
  240. package/dist/commands/config/get.js +0 -61
  241. package/dist/commands/config/get.js.map +0 -1
  242. package/dist/commands/config/set-project.js +0 -61
  243. package/dist/commands/config/set-project.js.map +0 -1
  244. package/dist/commands/config/unset-project.js +0 -57
  245. package/dist/commands/config/unset-project.js.map +0 -1
  246. package/dist/config/skill-categories.yaml +0 -344
  247. package/dist/config/skill-rules.yaml +0 -740
  248. package/dist/config/stacks.yaml +0 -1865
  249. package/dist/source-manager-Y7R6WPOW.js +0 -16
  250. package/dist/src/agents/migration/cli-migrator/agent.yaml +0 -12
  251. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  252. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  253. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  254. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  255. package/dist/src/agents/migration/cli-migrator/intro.md +0 -15
  256. package/dist/src/agents/migration/cli-migrator/output-format.md +0 -164
  257. package/dist/src/agents/migration/cli-migrator/workflow.md +0 -230
  258. package/src/agents/migration/cli-migrator/agent.yaml +0 -12
  259. package/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  260. package/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  261. package/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  262. package/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  263. package/src/agents/migration/cli-migrator/intro.md +0 -15
  264. package/src/agents/migration/cli-migrator/output-format.md +0 -164
  265. package/src/agents/migration/cli-migrator/workflow.md +0 -230
  266. /package/dist/{chunk-I52THVF6.js.map → chunk-AJJJE7F7.js.map} +0 -0
  267. /package/dist/{chunk-ZML3OCYA.js.map → chunk-AX3SZZWA.js.map} +0 -0
  268. /package/dist/{chunk-W62XVWXB.js.map → chunk-C577AJE7.js.map} +0 -0
  269. /package/dist/{chunk-G5OZQ376.js.map → chunk-K6OLORQL.js.map} +0 -0
  270. /package/dist/{chunk-U2AEK4ZL.js.map → chunk-MGNYPVOJ.js.map} +0 -0
  271. /package/dist/{chunk-37QYD33C.js.map → chunk-MMFQNJPE.js.map} +0 -0
  272. /package/dist/{chunk-34BP5BC4.js.map → chunk-SDKCQXWE.js.map} +0 -0
  273. /package/dist/{chunk-FHKNG3UA.js.map → chunk-XUDTFI4M.js.map} +0 -0
  274. /package/dist/{source-manager-Y7R6WPOW.js.map → loader-2O32KKAQ.js.map} +0 -0
  275. /package/dist/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  276. /package/dist/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  277. /package/dist/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  278. /package/dist/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  279. /package/dist/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  280. /package/dist/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  281. /package/dist/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  282. /package/dist/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  283. /package/dist/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  284. /package/dist/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  285. /package/dist/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  286. /package/dist/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  287. /package/dist/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  288. /package/dist/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  289. /package/dist/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  290. /package/dist/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
  291. /package/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  292. /package/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  293. /package/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  294. /package/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  295. /package/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  296. /package/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  297. /package/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  298. /package/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  299. /package/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  300. /package/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  301. /package/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  302. /package/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  303. /package/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  304. /package/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  305. /package/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  306. /package/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
@@ -1,740 +0,0 @@
1
- version: "1.0.0"
2
-
3
- aliases:
4
- # Frameworks
5
- react: "web-framework-react"
6
- vue: "web-framework-vue-composition-api"
7
- angular: "web-framework-angular-standalone"
8
- solidjs: "web-framework-solidjs"
9
- nextjs-app-router: "web-framework-nextjs-app-router"
10
- nextjs-server-actions: "web-framework-nextjs-server-actions"
11
- remix: "web-framework-remix"
12
- nuxt: "web-framework-nuxt"
13
-
14
- # Styling
15
- scss-modules: "web-styling-scss-modules"
16
- cva: "web-styling-cva"
17
- tailwind: "web-styling-tailwind"
18
-
19
- # Client State
20
- zustand: "web-state-zustand"
21
- redux-toolkit: "web-state-redux-toolkit"
22
- pinia: "web-state-pinia"
23
- ngrx-signalstore: "web-state-ngrx-signalstore"
24
- jotai: "web-state-jotai"
25
- mobx: "web-state-mobx"
26
-
27
- # Server State
28
- react-query: "web-server-state-react-query"
29
- swr: "web-data-fetching-swr"
30
- graphql-apollo: "web-data-fetching-graphql-apollo"
31
- graphql-urql: "web-data-fetching-graphql-urql"
32
- trpc: "web-data-fetching-trpc"
33
-
34
- # Forms
35
- react-hook-form: "web-forms-react-hook-form"
36
- vee-validate: "web-forms-vee-validate"
37
- zod-validation: "web-forms-zod-validation"
38
-
39
- # Testing
40
- vitest: "web-testing-vitest"
41
- playwright-e2e: "web-testing-playwright-e2e"
42
- cypress-e2e: "web-testing-cypress-e2e"
43
- react-testing-library: "web-testing-react-testing-library"
44
- vue-test-utils: "web-testing-vue-test-utils"
45
- msw: "web-mocks-msw"
46
-
47
- # UI Components
48
- shadcn-ui: "web-ui-shadcn-ui"
49
- tanstack-table: "web-ui-tanstack-table"
50
- radix-ui: "web-ui-radix-ui"
51
-
52
- # Backend
53
- hono: "api-framework-hono"
54
- express: "api-framework-express"
55
- fastify: "api-framework-fastify"
56
- drizzle: "api-database-drizzle"
57
- prisma: "api-database-prisma"
58
- better-auth: "api-auth-better-auth-drizzle-hono"
59
- axiom-pino-sentry: "api-observability-axiom-pino-sentry"
60
- posthog: "api-analytics-posthog-analytics"
61
- posthog-flags: "api-flags-posthog-flags"
62
- resend: "api-email-resend-react-email"
63
- github-actions: "api-ci-cd-github-actions"
64
-
65
- # Mobile
66
- react-native: "mobile-framework-react-native"
67
- expo: "mobile-framework-expo"
68
-
69
- # Infrastructure
70
- turborepo: "infra-monorepo-turborepo"
71
- tooling: "infra-tooling-setup-tooling"
72
- posthog-setup: "api-analytics-setup-posthog"
73
- env: "infra-env-setup-env"
74
- observability-setup: "api-observability-setup-axiom-pino-sentry"
75
- email-setup: "api-email-setup-resend"
76
-
77
- # Animation, PWA, Realtime, etc.
78
- framer-motion: "web-animation-framer-motion"
79
- css-animations: "web-animation-css-animations"
80
- view-transitions: "web-animation-view-transitions"
81
- storybook: "web-tooling-storybook"
82
- error-boundaries: "web-error-handling-error-boundaries"
83
- result-types: "web-error-handling-result-types"
84
- accessibility: "web-accessibility-web-accessibility"
85
- websockets: "web-realtime-websockets"
86
- sse: "web-realtime-sse"
87
- socket-io: "web-realtime-socket-io"
88
- service-workers: "web-pwa-service-workers"
89
- offline-first: "web-pwa-offline-first"
90
- file-upload: "web-files-file-upload-patterns"
91
- image-handling: "web-files-image-handling"
92
- date-fns: "web-utilities-date-fns"
93
-
94
- # Backend-specific
95
- api-testing: "api-testing-api-testing"
96
- api-performance: "api-performance-api-performance"
97
- web-performance: "web-performance-web-performance"
98
- security: "security-auth-security"
99
-
100
- # CLI
101
- commander: "cli-framework-cli-commander"
102
- cli-commander: "cli-framework-cli-commander"
103
- oclif: "cli-framework-oclif-ink"
104
-
105
- # Reviewing / Meta
106
- reviewing: "meta-reviewing-reviewing"
107
- cli-reviewing: "meta-reviewing-cli-reviewing"
108
- research-methodology: "meta-research-research-methodology"
109
-
110
- # Methodology
111
- investigation-requirements: "meta-methodology-investigation-requirements"
112
- anti-over-engineering: "meta-methodology-anti-over-engineering"
113
- success-criteria: "meta-methodology-success-criteria"
114
- write-verification: "meta-methodology-write-verification"
115
- improvement-protocol: "meta-methodology-improvement-protocol"
116
- context-management: "meta-methodology-context-management"
117
-
118
- relationships:
119
- conflicts:
120
- - skills: [react, vue, angular, solidjs, nextjs-app-router, remix, nuxt]
121
- reason: "Frameworks are mutually exclusive"
122
-
123
- - skills: [pinia, zustand, redux-toolkit, mobx]
124
- reason: "Pinia is Vue-only; zustand/redux-toolkit/mobx skills teach React patterns"
125
-
126
- - skills: [ngrx-signalstore, zustand, pinia, redux-toolkit, mobx]
127
- reason: "NgRx SignalStore is Angular-only"
128
-
129
- - skills: [react-query, swr]
130
- reason: "Both solve server state caching"
131
-
132
- - skills: [graphql-apollo, graphql-urql]
133
- reason: "Both are GraphQL clients"
134
-
135
- - skills: [playwright-e2e, cypress-e2e]
136
- reason: "Both are E2E frameworks"
137
-
138
- - skills: [react-hook-form, vee-validate]
139
- reason: "react-hook-form is React-only, vee-validate is Vue-only"
140
-
141
- - skills: [react-testing-library, vue-test-utils]
142
- reason: "Framework-specific testing libraries"
143
-
144
- - skills: [hono, express, fastify]
145
- reason: "API frameworks are mutually exclusive within a single service"
146
-
147
- - skills: [drizzle, prisma]
148
- reason: "Both are ORMs serving similar purposes"
149
-
150
- - skills: [commander, oclif]
151
- reason: "CLI frameworks are mutually exclusive"
152
-
153
- discourages:
154
- - skills: [zustand, redux-toolkit, mobx]
155
- reason: "Using multiple React state libraries adds complexity"
156
-
157
- - skills: [redux-toolkit, zustand]
158
- reason: "Redux Toolkit adds more boilerplate than Zustand"
159
-
160
- - skills: [swr, react-query]
161
- reason: "SWR is simpler but React Query has more features"
162
-
163
- - skills: [express, hono]
164
- reason: "Express is mature but Hono offers better performance and edge support"
165
-
166
- - skills: [express, fastify]
167
- reason: "Express is mature but Fastify offers better performance"
168
-
169
- - skills: [cypress-e2e, playwright-e2e]
170
- reason: "Cypress excels at interactive debugging; Playwright has better cross-browser support and CI performance"
171
-
172
- recommends:
173
- - when: react
174
- suggest: [zustand, react-query, vitest, react-hook-form, react-testing-library]
175
- reason: "Best-in-class React libraries"
176
-
177
- - when: nextjs-app-router
178
- suggest: [react-query, zustand, shadcn-ui]
179
- reason: "Next.js App Router ecosystem"
180
-
181
- - when: remix
182
- suggest: [zustand, vitest, zod-validation]
183
- reason: "Remix-compatible libraries"
184
-
185
- - when: vue
186
- suggest: [pinia, vee-validate, vue-test-utils]
187
- reason: "Vue community standard libraries"
188
-
189
- - when: angular
190
- suggest: [ngrx-signalstore]
191
- reason: "Angular Signals-based state management"
192
-
193
- - when: solidjs
194
- suggest: [vitest, tailwind]
195
- reason: "SolidJS-compatible libraries"
196
-
197
- - when: hono
198
- suggest: [drizzle, better-auth, zod-validation]
199
- reason: "Hono + Drizzle + Better Auth is a powerful combo"
200
-
201
- - when: drizzle
202
- suggest: [zod-validation]
203
- reason: "Drizzle types work great with Zod"
204
-
205
- - when: scss-modules
206
- suggest: [radix-ui]
207
- reason: "Radix primitives work well with any CSS approach"
208
-
209
- - when: tailwind
210
- suggest: [shadcn-ui, cva]
211
- reason: "shadcn/ui is built for Tailwind; CVA provides type-safe variant management"
212
-
213
- - when: cva
214
- suggest: [tailwind]
215
- reason: "CVA is designed for Tailwind utility classes"
216
-
217
- - when: shadcn-ui
218
- suggest: [radix-ui, tailwind]
219
- reason: "shadcn/ui uses Radix primitives and Tailwind"
220
-
221
- - when: react-hook-form
222
- suggest: [zod-validation]
223
- reason: "react-hook-form + Zod is the standard pattern"
224
-
225
- - when: vee-validate
226
- suggest: [zod-validation]
227
- reason: "vee-validate supports Zod schemas"
228
-
229
- - when: vitest
230
- suggest: [react-testing-library, msw]
231
- reason: "Vitest + RTL + MSW is the modern testing stack"
232
-
233
- - when: playwright-e2e
234
- suggest: [vitest]
235
- reason: "Playwright for E2E, Vitest for unit/integration"
236
-
237
- - when: react-query
238
- suggest: [zod-validation]
239
- reason: "Type-safe API responses with Zod"
240
-
241
- - when: react-native
242
- suggest: [zustand, react-query, react-hook-form, zod-validation]
243
- reason: "React Native shares React ecosystem"
244
-
245
- - when: axiom-pino-sentry
246
- suggest: [posthog]
247
- reason: "Complete observability with analytics"
248
-
249
- - when: fastify
250
- suggest: [drizzle, zod-validation]
251
- reason: "Fastify + Drizzle + Zod is a solid backend stack"
252
-
253
- - when: express
254
- suggest: [prisma]
255
- reason: "Express + Prisma is a classic combination"
256
-
257
- - when: nuxt
258
- suggest: [pinia, tailwind, playwright-e2e]
259
- reason: "Nuxt ecosystem libraries"
260
-
261
- - when: msw
262
- suggest: [vitest, react-testing-library]
263
- reason: "MSW + Vitest + RTL is the modern testing stack"
264
-
265
- - when: cypress-e2e
266
- suggest: [vitest]
267
- reason: "Cypress for E2E, Vitest for unit tests"
268
-
269
- - when: oclif
270
- suggest: [vitest]
271
- reason: "oclif pairs well with Vitest for CLI testing"
272
-
273
- - when: commander
274
- suggest: [vitest]
275
- reason: "Commander pairs well with Vitest for CLI testing"
276
-
277
- requires:
278
- - skill: zustand
279
- needs: [react, nextjs-app-router, remix, react-native]
280
- needsAny: true
281
- reason: "Our Zustand skill covers React/React Native patterns"
282
-
283
- - skill: redux-toolkit
284
- needs: [react, nextjs-app-router, remix, react-native]
285
- needsAny: true
286
- reason: "Our Redux Toolkit skill covers React/React Native patterns"
287
-
288
- - skill: mobx
289
- needs: [react, nextjs-app-router, remix]
290
- needsAny: true
291
- reason: "Our MobX skill teaches React patterns"
292
-
293
- - skill: react-query
294
- needs: [react, nextjs-app-router, remix, react-native]
295
- needsAny: true
296
- reason: "TanStack Query's React adapter"
297
-
298
- - skill: swr
299
- needs: [react, nextjs-app-router, remix, react-native]
300
- needsAny: true
301
- reason: "SWR is a React Hooks library"
302
-
303
- - skill: react-hook-form
304
- needs: [react, nextjs-app-router, remix, react-native]
305
- needsAny: true
306
- reason: "React Hook Form is React only"
307
-
308
- - skill: react-testing-library
309
- needs: [react, nextjs-app-router, remix]
310
- needsAny: true
311
- reason: "React Testing Library is React only"
312
-
313
- - skill: pinia
314
- needs: [vue, nuxt]
315
- needsAny: true
316
- reason: "Pinia is Vue only"
317
-
318
- - skill: vee-validate
319
- needs: [vue, nuxt]
320
- needsAny: true
321
- reason: "VeeValidate is Vue only"
322
-
323
- - skill: vue-test-utils
324
- needs: [vue, nuxt]
325
- needsAny: true
326
- reason: "Vue Test Utils is Vue only"
327
-
328
- - skill: ngrx-signalstore
329
- needs: [angular]
330
- reason: "NgRx SignalStore is Angular only"
331
-
332
- - skill: better-auth
333
- needs: [drizzle, prisma]
334
- needsAny: true
335
- reason: "Better Auth requires a database adapter"
336
-
337
- - skill: shadcn-ui
338
- needs: [react, nextjs-app-router, remix]
339
- needsAny: true
340
- reason: "shadcn/ui requires a React-based framework"
341
-
342
- - skill: shadcn-ui
343
- needs: [tailwind]
344
- reason: "shadcn/ui requires Tailwind CSS"
345
-
346
- - skill: graphql-apollo
347
- needs: [react, vue, angular, nextjs-app-router, remix, nuxt]
348
- needsAny: true
349
- reason: "Apollo Client requires a UI framework"
350
-
351
- - skill: graphql-urql
352
- needs: [react, vue, solidjs, nextjs-app-router, remix, nuxt]
353
- needsAny: true
354
- reason: "URQL supports React, Vue, and Solid"
355
-
356
- alternatives:
357
- - purpose: "Frontend Framework"
358
- skills: [react, vue, angular, solidjs, nextjs-app-router, remix, nuxt]
359
-
360
- - purpose: "Styling"
361
- skills: [scss-modules, tailwind, cva]
362
-
363
- - purpose: "Client State (React)"
364
- skills: [zustand, redux-toolkit, mobx, jotai]
365
-
366
- - purpose: "Client State (Vue)"
367
- skills: [pinia]
368
-
369
- - purpose: "Client State (Angular)"
370
- skills: [ngrx-signalstore]
371
-
372
- - purpose: "Server State / Data Fetching"
373
- skills: [react-query, swr]
374
-
375
- - purpose: "GraphQL Client"
376
- skills: [graphql-apollo, graphql-urql]
377
-
378
- - purpose: "API Framework"
379
- skills: [hono, express, fastify]
380
-
381
- - purpose: "Database ORM"
382
- skills: [drizzle, prisma]
383
-
384
- - purpose: "Forms (React)"
385
- skills: [react-hook-form]
386
-
387
- - purpose: "Forms (Vue)"
388
- skills: [vee-validate]
389
-
390
- - purpose: "Validation"
391
- skills: [zod-validation]
392
-
393
- - purpose: "Unit Testing"
394
- skills: [vitest]
395
-
396
- - purpose: "Component Testing (React)"
397
- skills: [react-testing-library]
398
-
399
- - purpose: "Component Testing (Vue)"
400
- skills: [vue-test-utils]
401
-
402
- - purpose: "E2E Testing"
403
- skills: [playwright-e2e, cypress-e2e]
404
-
405
- - purpose: "API Mocking"
406
- skills: [msw]
407
-
408
- - purpose: "UI Components (React + Tailwind)"
409
- skills: [shadcn-ui]
410
-
411
- - purpose: "Mobile"
412
- skills: [react-native]
413
-
414
- - purpose: "CLI Framework"
415
- skills: [commander, oclif]
416
-
417
- per-skill:
418
- posthog:
419
- compatibleWith: [api-flags-posthog-flags]
420
- requiresSetup: [api-analytics-setup-posthog]
421
- posthog-setup:
422
- compatibleWith: [api-analytics-posthog-analytics, api-flags-posthog-flags, infra-env-setup-env]
423
- providesSetupFor: [api-analytics-posthog-analytics, api-flags-posthog-flags]
424
- posthog-flags:
425
- compatibleWith: [api-analytics-posthog-analytics]
426
- requiresSetup: [api-analytics-setup-posthog]
427
-
428
- better-auth:
429
- compatibleWith:
430
- [api-framework-hono, api-framework-express, api-framework-fastify, security-auth-security]
431
- requires: [api-database-drizzle]
432
-
433
- github-actions:
434
- compatibleWith: [infra-monorepo-turborepo, infra-tooling-setup-tooling]
435
-
436
- drizzle:
437
- compatibleWith:
438
- [
439
- api-framework-hono,
440
- api-framework-express,
441
- api-framework-fastify,
442
- api-auth-better-auth-drizzle-hono,
443
- ]
444
- prisma:
445
- compatibleWith:
446
- [
447
- api-framework-hono,
448
- api-framework-express,
449
- api-framework-fastify,
450
- api-auth-better-auth-drizzle-hono,
451
- ]
452
-
453
- resend:
454
- requiresSetup: [api-email-setup-resend]
455
- email-setup:
456
- compatibleWith: [api-email-resend-react-email, infra-env-setup-env]
457
- providesSetupFor: [api-email-resend-react-email]
458
-
459
- express:
460
- compatibleWith:
461
- [
462
- api-auth-better-auth-drizzle-hono,
463
- api-database-drizzle,
464
- api-database-prisma,
465
- security-auth-security,
466
- api-observability-axiom-pino-sentry,
467
- ]
468
- fastify:
469
- compatibleWith:
470
- [
471
- api-auth-better-auth-drizzle-hono,
472
- api-database-drizzle,
473
- api-database-prisma,
474
- api-observability-axiom-pino-sentry,
475
- security-auth-security,
476
- ]
477
- hono:
478
- compatibleWith:
479
- [
480
- api-auth-better-auth-drizzle-hono,
481
- api-database-drizzle,
482
- api-database-prisma,
483
- security-auth-security,
484
- ]
485
-
486
- axiom-pino-sentry:
487
- requiresSetup: [api-observability-setup-axiom-pino-sentry]
488
- observability-setup:
489
- compatibleWith: [api-observability-axiom-pino-sentry, infra-env-setup-env]
490
- providesSetupFor: [api-observability-axiom-pino-sentry]
491
-
492
- api-performance:
493
- compatibleWith:
494
- [
495
- api-database-drizzle,
496
- api-database-prisma,
497
- api-framework-hono,
498
- api-framework-express,
499
- api-framework-fastify,
500
- ]
501
-
502
- commander:
503
- compatibleWith: [infra-tooling-setup-tooling, web-testing-vitest]
504
- oclif:
505
- compatibleWith: [web-framework-react, web-state-zustand, web-testing-vitest]
506
- conflictsWith: [cli-framework-cli-commander]
507
-
508
- env:
509
- compatibleWith: [security-auth-security, infra-monorepo-turborepo]
510
- turborepo:
511
- compatibleWith: [infra-tooling-setup-tooling, api-ci-cd-github-actions]
512
- tooling:
513
- compatibleWith: [infra-monorepo-turborepo]
514
-
515
- cli-reviewing:
516
- compatibleWith: [meta-reviewing-reviewing, web-testing-vitest]
517
- requires: [cli-framework-cli-commander]
518
-
519
- react-native:
520
- compatibleWith:
521
- [
522
- web-state-zustand,
523
- web-server-state-react-query,
524
- web-forms-react-hook-form,
525
- web-forms-zod-validation,
526
- ]
527
-
528
- security:
529
- compatibleWith:
530
- [
531
- api-auth-better-auth-drizzle-hono,
532
- api-framework-hono,
533
- api-framework-express,
534
- api-framework-fastify,
535
- infra-env-setup-env,
536
- ]
537
-
538
- accessibility:
539
- compatibleWith:
540
- [
541
- web-framework-react,
542
- web-framework-vue-composition-api,
543
- web-framework-angular-standalone,
544
- web-framework-solidjs,
545
- ]
546
-
547
- css-animations:
548
- compatibleWith:
549
- [
550
- web-styling-scss-modules,
551
- web-styling-tailwind,
552
- web-accessibility-web-accessibility,
553
- web-performance-web-performance,
554
- ]
555
- framer-motion:
556
- compatibleWith:
557
- [web-styling-scss-modules, web-styling-tailwind, web-accessibility-web-accessibility]
558
- requires: [web-framework-react]
559
-
560
- graphql-apollo:
561
- compatibleWith:
562
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
563
- graphql-urql:
564
- compatibleWith:
565
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
566
- swr:
567
- compatibleWith:
568
- [web-framework-react, web-framework-nextjs-app-router, web-framework-nextjs-server-actions]
569
- trpc:
570
- compatibleWith:
571
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
572
-
573
- error-boundaries:
574
- compatibleWith: [web-framework-react]
575
- result-types:
576
- compatibleWith:
577
- [web-framework-react, api-framework-hono, api-framework-express, api-framework-fastify]
578
-
579
- file-upload:
580
- compatibleWith:
581
- [web-framework-react, web-forms-react-hook-form, web-forms-vee-validate, api-framework-hono]
582
- image-handling:
583
- compatibleWith: [web-framework-react, web-forms-react-hook-form, web-forms-vee-validate]
584
-
585
- nextjs-app-router:
586
- compatibleWith:
587
- [
588
- web-styling-scss-modules,
589
- web-styling-tailwind,
590
- web-server-state-react-query,
591
- web-state-zustand,
592
- ]
593
- nextjs-server-actions:
594
- compatibleWith:
595
- [
596
- web-forms-react-hook-form,
597
- web-forms-zod-validation,
598
- api-database-drizzle,
599
- api-database-prisma,
600
- api-auth-better-auth-drizzle-hono,
601
- ]
602
- requires: [web-framework-nextjs-app-router]
603
- nuxt:
604
- compatibleWith: [web-forms-zod-validation, web-testing-playwright-e2e]
605
- remix:
606
- compatibleWith:
607
- [
608
- web-styling-scss-modules,
609
- web-styling-tailwind,
610
- web-testing-vitest,
611
- web-testing-playwright-e2e,
612
- web-testing-cypress-e2e,
613
- ]
614
- solidjs:
615
- compatibleWith:
616
- [
617
- web-styling-scss-modules,
618
- web-styling-tailwind,
619
- web-testing-vitest,
620
- web-testing-playwright-e2e,
621
- web-testing-cypress-e2e,
622
- ]
623
- vue:
624
- compatibleWith:
625
- [
626
- web-styling-scss-modules,
627
- web-styling-tailwind,
628
- web-testing-vitest,
629
- web-testing-playwright-e2e,
630
- web-testing-cypress-e2e,
631
- ]
632
-
633
- msw:
634
- compatibleWith:
635
- [
636
- web-testing-vitest,
637
- web-testing-playwright-e2e,
638
- web-testing-cypress-e2e,
639
- web-server-state-react-query,
640
- web-data-fetching-swr,
641
- ]
642
-
643
- web-performance:
644
- compatibleWith:
645
- [
646
- web-framework-react,
647
- web-framework-vue-composition-api,
648
- web-framework-angular-standalone,
649
- web-framework-solidjs,
650
- ]
651
-
652
- offline-first:
653
- compatibleWith:
654
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
655
-
656
- socket-io:
657
- compatibleWith:
658
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
659
- websockets:
660
- compatibleWith:
661
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
662
-
663
- react-query:
664
- compatibleWith:
665
- [web-framework-react, web-state-zustand, web-state-jotai, web-state-redux-toolkit]
666
-
667
- jotai:
668
- compatibleWith: [web-framework-react, web-server-state-react-query, web-data-fetching-swr]
669
- mobx:
670
- compatibleWith: [web-framework-react]
671
- conflictsWith: [web-state-zustand, web-state-redux-toolkit]
672
- ngrx-signalstore:
673
- compatibleWith:
674
- [web-framework-angular-standalone, web-server-state-react-query, web-data-fetching-swr]
675
- pinia:
676
- compatibleWith:
677
- [web-framework-vue-composition-api, web-server-state-react-query, web-data-fetching-swr]
678
- redux-toolkit:
679
- compatibleWith: [web-framework-react, web-server-state-react-query, web-data-fetching-swr]
680
- zustand:
681
- compatibleWith: [web-framework-react, web-server-state-react-query, web-data-fetching-swr]
682
-
683
- cva:
684
- compatibleWith: [web-styling-scss-modules, web-styling-tailwind]
685
- scss-modules:
686
- compatibleWith:
687
- [
688
- web-framework-react,
689
- web-framework-vue-composition-api,
690
- web-framework-angular-standalone,
691
- web-framework-solidjs,
692
- ]
693
- tailwind:
694
- compatibleWith: [web-framework-react, web-styling-cva]
695
- conflictsWith: [web-styling-scss-modules]
696
-
697
- cypress-e2e:
698
- compatibleWith:
699
- [
700
- web-framework-react,
701
- web-framework-vue-composition-api,
702
- web-framework-angular-standalone,
703
- web-framework-solidjs,
704
- ]
705
- playwright-e2e:
706
- compatibleWith:
707
- [
708
- web-framework-react,
709
- web-framework-vue-composition-api,
710
- web-framework-angular-standalone,
711
- web-framework-solidjs,
712
- ]
713
- react-testing-library:
714
- compatibleWith: [web-framework-react, web-testing-vitest]
715
- vitest:
716
- compatibleWith:
717
- [
718
- web-framework-react,
719
- web-framework-vue-composition-api,
720
- web-framework-angular-standalone,
721
- web-framework-solidjs,
722
- web-mocks-msw,
723
- ]
724
- vue-test-utils:
725
- compatibleWith: [web-framework-vue-composition-api, web-state-pinia]
726
-
727
- storybook:
728
- compatibleWith:
729
- [
730
- web-framework-react,
731
- web-framework-vue-composition-api,
732
- web-framework-angular-standalone,
733
- web-testing-vitest,
734
- web-testing-playwright-e2e,
735
- ]
736
-
737
- shadcn-ui:
738
- compatibleWith: [web-framework-react, web-styling-tailwind]
739
- tanstack-table:
740
- compatibleWith: [web-framework-react, web-framework-vue-composition-api, web-framework-solidjs]