agents-inc 0.152.1 → 0.153.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +31 -35
  3. package/dist/{chunk-LDP5ASDM.js → chunk-2HC2SNRP.js} +2 -15
  4. package/dist/chunk-2HC2SNRP.js.map +1 -0
  5. package/dist/{chunk-WKTHWQKM.js → chunk-35VOK7XE.js} +1338 -2573
  6. package/dist/chunk-35VOK7XE.js.map +1 -0
  7. package/dist/{chunk-SX5H6TSC.js → chunk-4VYALFQZ.js} +11 -8
  8. package/dist/chunk-4VYALFQZ.js.map +1 -0
  9. package/dist/{chunk-KXYVJGJP.js → chunk-6CNRMCFM.js} +3 -2
  10. package/dist/{chunk-KXYVJGJP.js.map → chunk-6CNRMCFM.js.map} +1 -1
  11. package/dist/{chunk-LZ52XEPR.js → chunk-ACKC577F.js} +7 -6
  12. package/dist/chunk-ACKC577F.js.map +1 -0
  13. package/dist/{chunk-XHUODHZ4.js → chunk-BMGBA6HJ.js} +22 -49
  14. package/dist/chunk-BMGBA6HJ.js.map +1 -0
  15. package/dist/{chunk-FVDKAVOL.js → chunk-EFU6P3B7.js} +18 -51
  16. package/dist/chunk-EFU6P3B7.js.map +1 -0
  17. package/dist/{chunk-STMHDOZD.js → chunk-F7Z5I6GU.js} +12 -9
  18. package/dist/chunk-F7Z5I6GU.js.map +1 -0
  19. package/dist/{chunk-E5X6RJ4E.js → chunk-FIHTAFST.js} +29 -26
  20. package/dist/chunk-FIHTAFST.js.map +1 -0
  21. package/dist/{chunk-QZZJFYUQ.js → chunk-FRWKCE6R.js} +3 -3
  22. package/dist/chunk-FRWKCE6R.js.map +1 -0
  23. package/dist/{chunk-5UWKOOIS.js → chunk-HEBPKK5L.js} +129 -195
  24. package/dist/chunk-HEBPKK5L.js.map +1 -0
  25. package/dist/{chunk-MJ2KHG24.js → chunk-IO4VEW5U.js} +6 -6
  26. package/dist/{chunk-MJ2KHG24.js.map → chunk-IO4VEW5U.js.map} +1 -1
  27. package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
  28. package/dist/chunk-JC7DBPRD.js.map +1 -0
  29. package/dist/{chunk-5GUOIJSG.js → chunk-JFAUQDZM.js} +3 -15
  30. package/dist/chunk-JFAUQDZM.js.map +1 -0
  31. package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
  32. package/dist/{chunk-SKQWRUPX.js → chunk-K7PJDWER.js} +59 -33
  33. package/dist/chunk-K7PJDWER.js.map +1 -0
  34. package/dist/{chunk-MVR3SYMN.js → chunk-KET3EVGX.js} +4 -3
  35. package/dist/{chunk-MVR3SYMN.js.map → chunk-KET3EVGX.js.map} +1 -1
  36. package/dist/{chunk-MWG4VU64.js → chunk-M5HSTNYU.js} +50 -56
  37. package/dist/chunk-M5HSTNYU.js.map +1 -0
  38. package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
  39. package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
  40. package/dist/{chunk-IHUY4M22.js → chunk-NXGMM5YN.js} +4 -4
  41. package/dist/chunk-NXQAY5U7.js +18441 -0
  42. package/dist/chunk-NXQAY5U7.js.map +1 -0
  43. package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
  44. package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
  45. package/dist/{chunk-PZIZNMHK.js → chunk-ORJ5Y222.js} +159 -138
  46. package/dist/chunk-ORJ5Y222.js.map +1 -0
  47. package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
  48. package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
  49. package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
  50. package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
  51. package/dist/{chunk-GRVKW3CC.js → chunk-R4SEU3DF.js} +3 -2
  52. package/dist/{chunk-GRVKW3CC.js.map → chunk-R4SEU3DF.js.map} +1 -1
  53. package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
  54. package/dist/chunk-R54KIGN2.js.map +1 -0
  55. package/dist/{chunk-SBHBBZKF.js → chunk-REKOWTIB.js} +25 -120
  56. package/dist/chunk-REKOWTIB.js.map +1 -0
  57. package/dist/chunk-TY6CAOL7.js +40 -0
  58. package/dist/chunk-TY6CAOL7.js.map +1 -0
  59. package/dist/{chunk-BNSRA6HL.js → chunk-U2DNAHFE.js} +39 -176
  60. package/dist/chunk-U2DNAHFE.js.map +1 -0
  61. package/dist/{chunk-PMM2MYMA.js → chunk-U2YSGBHA.js} +624 -349
  62. package/dist/chunk-U2YSGBHA.js.map +1 -0
  63. package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
  64. package/dist/{chunk-L7SZXUBJ.js → chunk-VECFAKM5.js} +7 -6
  65. package/dist/{chunk-L7SZXUBJ.js.map → chunk-VECFAKM5.js.map} +1 -1
  66. package/dist/chunk-VGEBYCQZ.js +59 -0
  67. package/dist/chunk-VGEBYCQZ.js.map +1 -0
  68. package/dist/chunk-VZRO7RYT.js +3694 -0
  69. package/dist/chunk-VZRO7RYT.js.map +1 -0
  70. package/dist/{chunk-LASI35KT.js → chunk-WDAO3RUY.js} +14 -28
  71. package/dist/chunk-WDAO3RUY.js.map +1 -0
  72. package/dist/{chunk-MQ7FLIYS.js → chunk-WG6V6VJV.js} +3 -2
  73. package/dist/{chunk-MQ7FLIYS.js.map → chunk-WG6V6VJV.js.map} +1 -1
  74. package/dist/chunk-X5XJ6WKO.js +284 -0
  75. package/dist/chunk-X5XJ6WKO.js.map +1 -0
  76. package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
  77. package/dist/chunk-XGMOXMS4.js.map +1 -0
  78. package/dist/{chunk-IUQBOCSU.js → chunk-ZBPEFQ4G.js} +2 -1
  79. package/dist/{chunk-IUQBOCSU.js.map → chunk-ZBPEFQ4G.js.map} +1 -1
  80. package/dist/{chunk-QRDTLVXG.js → chunk-ZNDLUWWD.js} +9 -22
  81. package/dist/chunk-ZNDLUWWD.js.map +1 -0
  82. package/dist/commands/build/marketplace.js +114 -35
  83. package/dist/commands/build/marketplace.js.map +1 -1
  84. package/dist/commands/build/plugins.js +9 -10
  85. package/dist/commands/build/plugins.js.map +1 -1
  86. package/dist/commands/compile.js +97 -70
  87. package/dist/commands/compile.js.map +1 -1
  88. package/dist/commands/doctor.js +793 -64
  89. package/dist/commands/doctor.js.map +1 -1
  90. package/dist/commands/edit.js +169 -208
  91. package/dist/commands/edit.js.map +1 -1
  92. package/dist/commands/eject.js +24 -39
  93. package/dist/commands/eject.js.map +1 -1
  94. package/dist/commands/init.js +41 -46
  95. package/dist/commands/list.js +10 -12
  96. package/dist/commands/list.js.map +1 -1
  97. package/dist/commands/search.js +20 -81
  98. package/dist/commands/search.js.map +1 -1
  99. package/dist/commands/uninstall.js +25 -31
  100. package/dist/commands/uninstall.js.map +1 -1
  101. package/dist/commands/update.js +82 -332
  102. package/dist/commands/update.js.map +1 -1
  103. package/dist/components/common/confirm.js +1 -1
  104. package/dist/components/common/prompt-confirm.js +1 -1
  105. package/dist/components/common/select-list.js +2 -2
  106. package/dist/components/common/spinner.js +1 -1
  107. package/dist/components/wizard/category-grid.js +5 -6
  108. package/dist/components/wizard/checkbox-grid.js +5 -6
  109. package/dist/components/wizard/domain-selection.js +12 -13
  110. package/dist/components/wizard/run-wizard-session.js +30 -36
  111. package/dist/components/wizard/scroll-affordance.js +2 -2
  112. package/dist/components/wizard/skill-agent-summary.js +7 -7
  113. package/dist/components/wizard/source-grid.js +6 -11
  114. package/dist/components/wizard/stack-selection.js +9 -9
  115. package/dist/components/wizard/step-agents.js +12 -12
  116. package/dist/components/wizard/step-build.js +10 -11
  117. package/dist/components/wizard/step-confirm.js +11 -11
  118. package/dist/components/wizard/step-sources.js +11 -17
  119. package/dist/components/wizard/step-stack.js +10 -10
  120. package/dist/components/wizard/summary-panel.js +10 -10
  121. package/dist/components/wizard/toast.js +2 -2
  122. package/dist/components/wizard/wizard-layout.js +15 -16
  123. package/dist/components/wizard/wizard-tabs.js +6 -12
  124. package/dist/components/wizard/wizard.js +29 -35
  125. package/dist/config-exports.js +1 -1
  126. package/dist/copy-local-skills-KF2RAVD3.js +14 -0
  127. package/dist/hooks/init.js +49 -48
  128. package/dist/hooks/init.js.map +1 -1
  129. package/dist/index.js +3 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/load-agent-defs-DGXGBU3Q.js +15 -0
  132. package/dist/{loader-5JP4S7CJ.js → loader-4U7UCE2Y.js} +7 -5
  133. package/dist/recompile-project-agents-CJVBAWDJ.js +20 -0
  134. package/dist/{source-loader-MZYCPL2S.js → source-loader-ZNSYJJCI.js} +6 -6
  135. package/dist/src/agents/developer/ai-developer/identity.md +4 -4
  136. package/dist/src/agents/developer/ai-developer/playbook.md +1 -1
  137. package/dist/src/agents/developer/api-developer/identity.md +4 -4
  138. package/dist/src/agents/developer/api-developer/metadata.yaml +1 -1
  139. package/dist/src/agents/developer/cli-developer/identity.md +4 -4
  140. package/dist/src/agents/developer/web-developer/identity.md +2 -2
  141. package/dist/src/agents/developer/web-developer/metadata.yaml +1 -1
  142. package/dist/src/agents/meta/agent-summoner/identity.md +4 -5
  143. package/dist/src/agents/meta/agent-summoner/output.md +2 -2
  144. package/dist/src/agents/meta/agent-summoner/playbook.md +15 -16
  145. package/dist/src/agents/meta/codex-keeper/identity.md +4 -4
  146. package/dist/src/agents/meta/codex-keeper/playbook.md +1 -1
  147. package/dist/src/agents/meta/convention-keeper/identity.md +1 -1
  148. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  149. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  150. package/dist/src/agents/meta/skill-summoner/identity.md +2 -2
  151. package/{src/agents/planning/web-pm → dist/src/agents/planning/pm}/critical-reminders.md +10 -7
  152. package/dist/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  153. package/dist/src/agents/planning/pm/identity.md +47 -0
  154. package/dist/src/agents/planning/pm/metadata.yaml +12 -0
  155. package/dist/src/agents/planning/{web-pm → pm}/output.md +7 -90
  156. package/dist/src/agents/planning/pm/playbook.md +185 -0
  157. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  158. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  159. package/dist/src/agents/researcher/ai-researcher/identity.md +86 -0
  160. package/dist/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  161. package/dist/src/agents/researcher/ai-researcher/output.md +363 -0
  162. package/dist/src/agents/researcher/ai-researcher/playbook.md +545 -0
  163. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  164. package/dist/src/agents/researcher/api-researcher/identity.md +7 -7
  165. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  166. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  167. package/dist/src/agents/researcher/cli-researcher/identity.md +87 -0
  168. package/dist/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  169. package/dist/src/agents/researcher/cli-researcher/output.md +343 -0
  170. package/dist/src/agents/researcher/cli-researcher/playbook.md +370 -0
  171. package/dist/src/agents/researcher/web-researcher/identity.md +5 -6
  172. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  173. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  174. package/dist/src/agents/reviewer/reviewer/identity.md +41 -0
  175. package/dist/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  176. package/dist/src/agents/reviewer/reviewer/output.md +202 -0
  177. package/dist/src/agents/reviewer/reviewer/playbook.md +141 -0
  178. package/dist/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  179. package/dist/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  180. package/dist/src/agents/tester/ai-tester/identity.md +62 -0
  181. package/dist/src/agents/tester/ai-tester/metadata.yaml +12 -0
  182. package/dist/src/agents/tester/ai-tester/output.md +375 -0
  183. package/dist/src/agents/tester/ai-tester/playbook.md +789 -0
  184. package/dist/src/agents/tester/api-tester/identity.md +3 -3
  185. package/dist/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  186. package/dist/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  187. package/dist/src/agents/tester/cli-tester/identity.md +3 -3
  188. package/dist/src/agents/tester/cli-tester/output.md +4 -4
  189. package/dist/src/agents/tester/cli-tester/playbook.md +3 -3
  190. package/dist/src/agents/tester/web-tester/identity.md +3 -3
  191. package/dist/stores/wizard-store.js +8 -6
  192. package/package.json +13 -2
  193. package/src/agents/developer/ai-developer/identity.md +4 -4
  194. package/src/agents/developer/ai-developer/playbook.md +1 -1
  195. package/src/agents/developer/api-developer/identity.md +4 -4
  196. package/src/agents/developer/api-developer/metadata.yaml +1 -1
  197. package/src/agents/developer/cli-developer/identity.md +4 -4
  198. package/src/agents/developer/web-developer/identity.md +2 -2
  199. package/src/agents/developer/web-developer/metadata.yaml +1 -1
  200. package/src/agents/meta/agent-summoner/identity.md +4 -5
  201. package/src/agents/meta/agent-summoner/output.md +2 -2
  202. package/src/agents/meta/agent-summoner/playbook.md +15 -16
  203. package/src/agents/meta/codex-keeper/identity.md +4 -4
  204. package/src/agents/meta/codex-keeper/playbook.md +1 -1
  205. package/src/agents/meta/convention-keeper/identity.md +1 -1
  206. package/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  207. package/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  208. package/src/agents/meta/skill-summoner/identity.md +2 -2
  209. package/{dist/src/agents/planning/web-pm → src/agents/planning/pm}/critical-reminders.md +10 -7
  210. package/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  211. package/src/agents/planning/pm/identity.md +47 -0
  212. package/src/agents/planning/pm/metadata.yaml +12 -0
  213. package/src/agents/planning/{web-pm → pm}/output.md +7 -90
  214. package/src/agents/planning/pm/playbook.md +185 -0
  215. package/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  216. package/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  217. package/src/agents/researcher/ai-researcher/identity.md +86 -0
  218. package/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  219. package/src/agents/researcher/ai-researcher/output.md +363 -0
  220. package/src/agents/researcher/ai-researcher/playbook.md +545 -0
  221. package/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  222. package/src/agents/researcher/api-researcher/identity.md +7 -7
  223. package/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  224. package/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  225. package/src/agents/researcher/cli-researcher/identity.md +87 -0
  226. package/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  227. package/src/agents/researcher/cli-researcher/output.md +343 -0
  228. package/src/agents/researcher/cli-researcher/playbook.md +370 -0
  229. package/src/agents/researcher/web-researcher/identity.md +5 -6
  230. package/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  231. package/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  232. package/src/agents/reviewer/reviewer/identity.md +41 -0
  233. package/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  234. package/src/agents/reviewer/reviewer/output.md +202 -0
  235. package/src/agents/reviewer/reviewer/playbook.md +141 -0
  236. package/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  237. package/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  238. package/src/agents/tester/ai-tester/identity.md +62 -0
  239. package/src/agents/tester/ai-tester/metadata.yaml +12 -0
  240. package/src/agents/tester/ai-tester/output.md +375 -0
  241. package/src/agents/tester/ai-tester/playbook.md +789 -0
  242. package/src/agents/tester/api-tester/identity.md +3 -3
  243. package/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  244. package/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  245. package/src/agents/tester/cli-tester/identity.md +3 -3
  246. package/src/agents/tester/cli-tester/output.md +4 -4
  247. package/src/agents/tester/cli-tester/playbook.md +3 -3
  248. package/src/agents/tester/web-tester/identity.md +3 -3
  249. package/src/schemas/metadata.schema.json +31 -2
  250. package/src/schemas/project-config.schema.json +61 -15
  251. package/src/schemas/project-source-config.schema.json +0 -47
  252. package/dist/chunk-5GUOIJSG.js.map +0 -1
  253. package/dist/chunk-5UWKOOIS.js.map +0 -1
  254. package/dist/chunk-76ADG7LQ.js.map +0 -1
  255. package/dist/chunk-BNSRA6HL.js.map +0 -1
  256. package/dist/chunk-E5X6RJ4E.js.map +0 -1
  257. package/dist/chunk-EEPELKOM.js +0 -5938
  258. package/dist/chunk-EEPELKOM.js.map +0 -1
  259. package/dist/chunk-F7T5AFFN.js +0 -20
  260. package/dist/chunk-F7T5AFFN.js.map +0 -1
  261. package/dist/chunk-FVDKAVOL.js.map +0 -1
  262. package/dist/chunk-KFB5CRXZ.js +0 -377
  263. package/dist/chunk-KFB5CRXZ.js.map +0 -1
  264. package/dist/chunk-KR65TPKC.js +0 -664
  265. package/dist/chunk-KR65TPKC.js.map +0 -1
  266. package/dist/chunk-LASI35KT.js.map +0 -1
  267. package/dist/chunk-LDP5ASDM.js.map +0 -1
  268. package/dist/chunk-LZ52XEPR.js.map +0 -1
  269. package/dist/chunk-M7HO7NBK.js +0 -88
  270. package/dist/chunk-M7HO7NBK.js.map +0 -1
  271. package/dist/chunk-MWG4VU64.js.map +0 -1
  272. package/dist/chunk-ODNDXQH2.js +0 -77
  273. package/dist/chunk-ODNDXQH2.js.map +0 -1
  274. package/dist/chunk-P44SXVH3.js +0 -80
  275. package/dist/chunk-P44SXVH3.js.map +0 -1
  276. package/dist/chunk-PMM2MYMA.js.map +0 -1
  277. package/dist/chunk-PZIZNMHK.js.map +0 -1
  278. package/dist/chunk-Q45ZU6HD.js +0 -37
  279. package/dist/chunk-Q45ZU6HD.js.map +0 -1
  280. package/dist/chunk-QRDTLVXG.js.map +0 -1
  281. package/dist/chunk-QZZJFYUQ.js.map +0 -1
  282. package/dist/chunk-R5NOI2LP.js +0 -170
  283. package/dist/chunk-R5NOI2LP.js.map +0 -1
  284. package/dist/chunk-RNJWAKMO.js.map +0 -1
  285. package/dist/chunk-SBHBBZKF.js.map +0 -1
  286. package/dist/chunk-SKQWRUPX.js.map +0 -1
  287. package/dist/chunk-STMHDOZD.js.map +0 -1
  288. package/dist/chunk-SX5H6TSC.js.map +0 -1
  289. package/dist/chunk-TUPYW2IQ.js.map +0 -1
  290. package/dist/chunk-UBEDZ4FD.js +0 -4198
  291. package/dist/chunk-UBEDZ4FD.js.map +0 -1
  292. package/dist/chunk-VY6MNOXL.js +0 -20
  293. package/dist/chunk-VY6MNOXL.js.map +0 -1
  294. package/dist/chunk-WBCPLH66.js +0 -42
  295. package/dist/chunk-WBCPLH66.js.map +0 -1
  296. package/dist/chunk-WKTHWQKM.js.map +0 -1
  297. package/dist/chunk-XHUODHZ4.js.map +0 -1
  298. package/dist/chunk-ZPPHXXAP.js +0 -252
  299. package/dist/chunk-ZPPHXXAP.js.map +0 -1
  300. package/dist/commands/import/skill.js +0 -344
  301. package/dist/commands/import/skill.js.map +0 -1
  302. package/dist/commands/new/agent.js +0 -300
  303. package/dist/commands/new/agent.js.map +0 -1
  304. package/dist/commands/new/marketplace.js +0 -310
  305. package/dist/commands/new/marketplace.js.map +0 -1
  306. package/dist/commands/new/skill.js +0 -26
  307. package/dist/commands/validate.js +0 -575
  308. package/dist/commands/validate.js.map +0 -1
  309. package/dist/components/wizard/search-modal.js +0 -13
  310. package/dist/components/wizard/selection-card.js +0 -9
  311. package/dist/components/wizard/step-settings.js +0 -18
  312. package/dist/copy-local-skills-6EMVN7RB.js +0 -14
  313. package/dist/load-agent-defs-BWOUVEAR.js +0 -15
  314. package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
  315. package/dist/loader-5JP4S7CJ.js.map +0 -1
  316. package/dist/recompile-project-agents-6DL45TDI.js +0 -19
  317. package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
  318. package/dist/source-loader-MZYCPL2S.js.map +0 -1
  319. package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  320. package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  321. package/dist/src/agents/developer/web-architecture/identity.md +0 -64
  322. package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
  323. package/dist/src/agents/developer/web-architecture/output.md +0 -449
  324. package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
  325. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  326. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  327. package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
  328. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  329. package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
  330. package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  331. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  332. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  333. package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  334. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  335. package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
  336. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  337. package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
  338. package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
  339. package/dist/src/agents/planning/api-pm/identity.md +0 -39
  340. package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
  341. package/dist/src/agents/planning/api-pm/output.md +0 -475
  342. package/dist/src/agents/planning/api-pm/playbook.md +0 -129
  343. package/dist/src/agents/planning/web-pm/identity.md +0 -26
  344. package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
  345. package/dist/src/agents/planning/web-pm/playbook.md +0 -318
  346. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  347. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  348. package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  349. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  350. package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
  351. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  352. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  353. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  354. package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
  355. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  356. package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
  357. package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  358. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  359. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  360. package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  361. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  362. package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
  363. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  364. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  365. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  366. package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  367. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  368. package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
  369. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  370. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  371. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  372. package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
  373. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  374. package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
  375. package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  376. package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  377. package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  378. package/src/agents/developer/web-architecture/identity.md +0 -64
  379. package/src/agents/developer/web-architecture/metadata.yaml +0 -12
  380. package/src/agents/developer/web-architecture/output.md +0 -449
  381. package/src/agents/developer/web-architecture/playbook.md +0 -481
  382. package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  383. package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  384. package/src/agents/pattern/pattern-scout/identity.md +0 -25
  385. package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  386. package/src/agents/pattern/pattern-scout/output.md +0 -290
  387. package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  388. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  389. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  390. package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  391. package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  392. package/src/agents/pattern/web-pattern-critique/output.md +0 -314
  393. package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  394. package/src/agents/planning/api-pm/critical-reminders.md +0 -48
  395. package/src/agents/planning/api-pm/critical-requirements.md +0 -41
  396. package/src/agents/planning/api-pm/identity.md +0 -39
  397. package/src/agents/planning/api-pm/metadata.yaml +0 -12
  398. package/src/agents/planning/api-pm/output.md +0 -475
  399. package/src/agents/planning/api-pm/playbook.md +0 -129
  400. package/src/agents/planning/web-pm/identity.md +0 -26
  401. package/src/agents/planning/web-pm/metadata.yaml +0 -12
  402. package/src/agents/planning/web-pm/playbook.md +0 -318
  403. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  404. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  405. package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  406. package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  407. package/src/agents/reviewer/ai-reviewer/output.md +0 -395
  408. package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  409. package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  410. package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  411. package/src/agents/reviewer/api-reviewer/identity.md +0 -51
  412. package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  413. package/src/agents/reviewer/api-reviewer/output.md +0 -343
  414. package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  415. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  416. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  417. package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  418. package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  419. package/src/agents/reviewer/cli-reviewer/output.md +0 -414
  420. package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  421. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  422. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  423. package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  424. package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  425. package/src/agents/reviewer/infra-reviewer/output.md +0 -364
  426. package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  427. package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  428. package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  429. package/src/agents/reviewer/web-reviewer/identity.md +0 -40
  430. package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  431. package/src/agents/reviewer/web-reviewer/output.md +0 -333
  432. package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  433. /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
  434. /package/dist/{chunk-IHUY4M22.js.map → chunk-NXGMM5YN.js.map} +0 -0
  435. /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
  436. /package/dist/{commands/new/skill.js.map → copy-local-skills-KF2RAVD3.js.map} +0 -0
  437. /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-DGXGBU3Q.js.map} +0 -0
  438. /package/dist/{components/wizard/selection-card.js.map → loader-4U7UCE2Y.js.map} +0 -0
  439. /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-CJVBAWDJ.js.map} +0 -0
  440. /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-ZNSYJJCI.js.map} +0 -0
@@ -0,0 +1,3694 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/cli/lib/configuration/define-config.ts
4
+ function defineConfig(config) {
5
+ return config;
6
+ }
7
+
8
+ // src/cli/lib/configuration/default-categories.ts
9
+ var defaultCategories = {
10
+ "web-framework": {
11
+ id: "web-framework",
12
+ displayName: "Framework",
13
+ description: "UI framework (React, Vue, Angular, SolidJS)",
14
+ domain: "web",
15
+ exclusive: true,
16
+ required: true,
17
+ order: 1
18
+ },
19
+ "web-meta-framework": {
20
+ id: "web-meta-framework",
21
+ displayName: "Meta-Framework",
22
+ description: "Full-stack meta-framework (Next.js, Remix, Nuxt, SvelteKit)",
23
+ domain: "web",
24
+ exclusive: true,
25
+ required: false,
26
+ order: 2
27
+ },
28
+ "web-routing": {
29
+ id: "web-routing",
30
+ displayName: "Routing",
31
+ description: "Client-side routing (TanStack Router)",
32
+ domain: "web",
33
+ exclusive: true,
34
+ required: false,
35
+ order: 3
36
+ },
37
+ "web-styling": {
38
+ id: "web-styling",
39
+ displayName: "Styling",
40
+ description: "CSS approach (SCSS Modules, Tailwind, CVA)",
41
+ domain: "web",
42
+ exclusive: false,
43
+ required: true,
44
+ order: 4
45
+ },
46
+ "web-client-state": {
47
+ id: "web-client-state",
48
+ displayName: "Client State Management",
49
+ description: "UI state, forms, local data (Zustand, Redux, MobX)",
50
+ domain: "web",
51
+ exclusive: true,
52
+ required: false,
53
+ order: 5
54
+ },
55
+ "web-server-state": {
56
+ id: "web-server-state",
57
+ displayName: "Server State / Data Fetching",
58
+ description: "API data caching (React Query, SWR)",
59
+ domain: "web",
60
+ exclusive: true,
61
+ required: false,
62
+ order: 6
63
+ },
64
+ "web-graphql-client": {
65
+ id: "web-graphql-client",
66
+ displayName: "GraphQL Client",
67
+ description: "GraphQL client library (Apollo Client, urql)",
68
+ domain: "web",
69
+ exclusive: true,
70
+ required: false,
71
+ order: 7
72
+ },
73
+ "web-rpc": {
74
+ id: "web-rpc",
75
+ displayName: "Type-Safe RPC",
76
+ description: "End-to-end type-safe RPC (tRPC)",
77
+ domain: "web",
78
+ exclusive: false,
79
+ required: false,
80
+ order: 8
81
+ },
82
+ "web-forms": {
83
+ id: "web-forms",
84
+ displayName: "Validation",
85
+ description: "Schema validation (Zod)",
86
+ domain: "web",
87
+ exclusive: false,
88
+ required: false,
89
+ order: 9
90
+ },
91
+ "web-form-library": {
92
+ id: "web-form-library",
93
+ displayName: "Form Library",
94
+ description: "Form state and submission (React Hook Form, TanStack Form, VeeValidate)",
95
+ domain: "web",
96
+ exclusive: true,
97
+ required: false,
98
+ order: 10
99
+ },
100
+ "web-testing": {
101
+ id: "web-testing",
102
+ displayName: "Testing",
103
+ description: "Unit, component, and visual testing",
104
+ domain: "web",
105
+ exclusive: false,
106
+ required: false,
107
+ order: 11
108
+ },
109
+ "web-e2e": {
110
+ id: "web-e2e",
111
+ displayName: "E2E Testing",
112
+ description: "End-to-end browser testing (Playwright, Cypress)",
113
+ domain: "web",
114
+ exclusive: true,
115
+ required: false,
116
+ order: 12
117
+ },
118
+ "web-ui-kit": {
119
+ id: "web-ui-kit",
120
+ displayName: "Design System Kit",
121
+ description: "Pre-styled component kit (shadcn/ui, MUI, Mantine, Vuetify)",
122
+ domain: "web",
123
+ exclusive: true,
124
+ required: false,
125
+ order: 13
126
+ },
127
+ "web-ui-components": {
128
+ id: "web-ui-components",
129
+ displayName: "Headless Components",
130
+ description: "Headless primitives (Radix UI, Base UI, Headless UI, TanStack Table)",
131
+ domain: "web",
132
+ exclusive: false,
133
+ required: false,
134
+ order: 14
135
+ },
136
+ "web-tooling": {
137
+ id: "web-tooling",
138
+ displayName: "Build Tools",
139
+ description: "Frontend build tools and bundlers (Vite, Webpack)",
140
+ domain: "web",
141
+ exclusive: false,
142
+ required: false,
143
+ order: 15
144
+ },
145
+ "web-docs": {
146
+ id: "web-docs",
147
+ displayName: "Documentation Framework",
148
+ description: "Documentation site generator (Docusaurus, VitePress)",
149
+ domain: "web",
150
+ exclusive: true,
151
+ required: false,
152
+ order: 16
153
+ },
154
+ "web-mocking": {
155
+ id: "web-mocking",
156
+ displayName: "API Mocking",
157
+ description: "Mock Service Worker for development and testing",
158
+ domain: "web",
159
+ exclusive: false,
160
+ required: false,
161
+ order: 17
162
+ },
163
+ "web-error-handling": {
164
+ id: "web-error-handling",
165
+ displayName: "Error Handling",
166
+ description: "Error boundaries, result types, and error patterns",
167
+ domain: "web",
168
+ exclusive: false,
169
+ required: false,
170
+ order: 18
171
+ },
172
+ "web-i18n": {
173
+ id: "web-i18n",
174
+ displayName: "Internationalization",
175
+ description: "i18n libraries (next-intl, react-intl, vue-i18n)",
176
+ domain: "web",
177
+ exclusive: true,
178
+ required: false,
179
+ order: 19
180
+ },
181
+ "web-file-upload": {
182
+ id: "web-file-upload",
183
+ displayName: "File Upload",
184
+ description: "File upload patterns and handling",
185
+ domain: "web",
186
+ exclusive: false,
187
+ required: false,
188
+ order: 20
189
+ },
190
+ "web-files": {
191
+ id: "web-files",
192
+ displayName: "Files & Images",
193
+ description: "Image handling and file processing",
194
+ domain: "web",
195
+ exclusive: false,
196
+ required: false,
197
+ order: 21
198
+ },
199
+ "web-utilities": {
200
+ id: "web-utilities",
201
+ displayName: "Utilities",
202
+ description: "Utility libraries (date-fns, native JS patterns)",
203
+ domain: "web",
204
+ exclusive: false,
205
+ required: false,
206
+ order: 22
207
+ },
208
+ "web-realtime": {
209
+ id: "web-realtime",
210
+ displayName: "Realtime",
211
+ description: "Bidirectional realtime (WebSockets, Socket.IO)",
212
+ domain: "web",
213
+ exclusive: true,
214
+ required: false,
215
+ order: 23
216
+ },
217
+ "web-streaming": {
218
+ id: "web-streaming",
219
+ displayName: "Server Streaming",
220
+ description: "Server-sent events and HTTP streaming",
221
+ domain: "web",
222
+ exclusive: false,
223
+ required: false,
224
+ order: 24
225
+ },
226
+ "web-animation": {
227
+ id: "web-animation",
228
+ displayName: "Animation",
229
+ description: "Animation libraries and CSS animations",
230
+ domain: "web",
231
+ exclusive: false,
232
+ required: false,
233
+ order: 25
234
+ },
235
+ "web-pwa": {
236
+ id: "web-pwa",
237
+ displayName: "Progressive Web App",
238
+ description: "Service workers, offline-first patterns, and PWA features",
239
+ domain: "web",
240
+ exclusive: false,
241
+ required: false,
242
+ order: 26
243
+ },
244
+ "web-accessibility": {
245
+ id: "web-accessibility",
246
+ displayName: "Accessibility",
247
+ description: "WCAG compliance, ARIA, and keyboard navigation",
248
+ domain: "web",
249
+ exclusive: false,
250
+ required: false,
251
+ order: 27
252
+ },
253
+ "web-performance": {
254
+ id: "web-performance",
255
+ displayName: "Web Performance",
256
+ description: "Bundle optimization, render performance, and code splitting",
257
+ domain: "web",
258
+ exclusive: false,
259
+ required: false,
260
+ order: 28
261
+ },
262
+ "web-3d": {
263
+ id: "web-3d",
264
+ displayName: "3D Graphics",
265
+ description: "3D rendering (React Three Fiber)",
266
+ domain: "web",
267
+ exclusive: false,
268
+ required: false,
269
+ order: 29
270
+ },
271
+ "web-dataviz": {
272
+ id: "web-dataviz",
273
+ displayName: "Data Visualization",
274
+ description: "Charts and data visualization (D3, Recharts)",
275
+ domain: "web",
276
+ exclusive: false,
277
+ required: false,
278
+ order: 30
279
+ },
280
+ "web-dnd": {
281
+ id: "web-dnd",
282
+ displayName: "Drag & Drop",
283
+ description: "Drag-and-drop interactions (dnd-kit)",
284
+ domain: "web",
285
+ exclusive: false,
286
+ required: false,
287
+ order: 31
288
+ },
289
+ "web-editor": {
290
+ id: "web-editor",
291
+ displayName: "Rich Text Editor",
292
+ description: "Rich text editing (Lexical, Tiptap)",
293
+ domain: "web",
294
+ exclusive: true,
295
+ required: false,
296
+ order: 32
297
+ },
298
+ "web-maps": {
299
+ id: "web-maps",
300
+ displayName: "Maps",
301
+ description: "Interactive maps (Leaflet, Mapbox)",
302
+ domain: "web",
303
+ exclusive: true,
304
+ required: false,
305
+ order: 33
306
+ },
307
+ "api-api": {
308
+ id: "api-api",
309
+ displayName: "API Framework",
310
+ description: "Backend framework (Hono, Express, Fastify)",
311
+ domain: "api",
312
+ exclusive: true,
313
+ required: true,
314
+ order: 1
315
+ },
316
+ "api-sql-engine": {
317
+ id: "api-sql-engine",
318
+ displayName: "SQL Engine",
319
+ description: "Primary SQL engine (PostgreSQL, MySQL, CockroachDB)",
320
+ domain: "api",
321
+ exclusive: true,
322
+ required: false,
323
+ order: 2
324
+ },
325
+ "api-orm": {
326
+ id: "api-orm",
327
+ displayName: "ORM / Query Builder",
328
+ description: "Database access layer (Drizzle, Prisma, TypeORM)",
329
+ domain: "api",
330
+ exclusive: true,
331
+ required: false,
332
+ order: 3
333
+ },
334
+ "api-document": {
335
+ id: "api-document",
336
+ displayName: "Document / Multi-Model Database",
337
+ description: "Primary non-SQL store (MongoDB, Mongoose, Gel, SurrealDB)",
338
+ domain: "api",
339
+ exclusive: true,
340
+ required: false,
341
+ order: 4
342
+ },
343
+ "api-kv": {
344
+ id: "api-kv",
345
+ displayName: "Cache / KV Store",
346
+ description: "Redis-class key-value provider (Redis, Upstash)",
347
+ domain: "api",
348
+ exclusive: true,
349
+ required: false,
350
+ order: 5
351
+ },
352
+ "api-db-host": {
353
+ id: "api-db-host",
354
+ displayName: "Managed Database",
355
+ description: "Managed database host (Neon, PlanetScale, Turso)",
356
+ domain: "api",
357
+ exclusive: true,
358
+ required: false,
359
+ order: 6
360
+ },
361
+ "api-auth": {
362
+ id: "api-auth",
363
+ displayName: "Authentication",
364
+ description: "Auth solution (Better Auth, Auth.js)",
365
+ domain: "api",
366
+ exclusive: true,
367
+ required: false,
368
+ order: 8
369
+ },
370
+ "api-observability": {
371
+ id: "api-observability",
372
+ displayName: "Observability",
373
+ description: "Logging, monitoring, error tracking",
374
+ domain: "api",
375
+ exclusive: false,
376
+ required: false,
377
+ order: 9
378
+ },
379
+ "api-analytics": {
380
+ id: "api-analytics",
381
+ displayName: "Analytics",
382
+ description: "Product analytics and tracking",
383
+ domain: "api",
384
+ exclusive: false,
385
+ required: false,
386
+ order: 10
387
+ },
388
+ "api-email": {
389
+ id: "api-email",
390
+ displayName: "Email",
391
+ description: "Transactional email (Resend, Sendgrid)",
392
+ domain: "api",
393
+ exclusive: false,
394
+ required: false,
395
+ order: 11
396
+ },
397
+ "ai-provider": {
398
+ id: "ai-provider",
399
+ displayName: "AI Provider",
400
+ description: "AI model provider SDKs (Anthropic, OpenAI, Google, etc.)",
401
+ domain: "ai",
402
+ exclusive: false,
403
+ required: false,
404
+ order: 1
405
+ },
406
+ "ai-orchestration": {
407
+ id: "ai-orchestration",
408
+ displayName: "AI Orchestration",
409
+ description: "Multi-model AI workflow frameworks (LangChain, LlamaIndex, Vercel AI)",
410
+ domain: "ai",
411
+ exclusive: false,
412
+ required: false,
413
+ order: 2
414
+ },
415
+ "ai-observability": {
416
+ id: "ai-observability",
417
+ displayName: "AI Observability",
418
+ description: "LLM monitoring, evaluation, and tracing (Langfuse, Promptfoo)",
419
+ domain: "ai",
420
+ exclusive: false,
421
+ required: false,
422
+ order: 3
423
+ },
424
+ "ai-infrastructure": {
425
+ id: "ai-infrastructure",
426
+ displayName: "AI Infrastructure",
427
+ description: "Model hosting, serving, and inference gateways",
428
+ domain: "ai",
429
+ exclusive: false,
430
+ required: false,
431
+ order: 4
432
+ },
433
+ "ai-patterns": {
434
+ id: "ai-patterns",
435
+ displayName: "AI Patterns",
436
+ description: "Cross-cutting AI usage patterns (tool use, prompting)",
437
+ domain: "ai",
438
+ exclusive: false,
439
+ required: false,
440
+ order: 5
441
+ },
442
+ "api-baas": {
443
+ id: "api-baas",
444
+ displayName: "Backend as a Service",
445
+ description: "Full backend platform \u2014 auth, database, storage, functions (Supabase, Firebase)",
446
+ domain: "api",
447
+ exclusive: true,
448
+ required: false,
449
+ order: 7
450
+ },
451
+ "api-performance": {
452
+ id: "api-performance",
453
+ displayName: "Performance",
454
+ description: "API performance patterns and optimization",
455
+ domain: "api",
456
+ exclusive: false,
457
+ required: false,
458
+ order: 12
459
+ },
460
+ "api-cms": {
461
+ id: "api-cms",
462
+ displayName: "CMS",
463
+ description: "CMS platforms (Payload, Sanity, Strapi)",
464
+ domain: "api",
465
+ exclusive: true,
466
+ required: false,
467
+ order: 13
468
+ },
469
+ "api-commerce": {
470
+ id: "api-commerce",
471
+ displayName: "Commerce",
472
+ description: "Commerce platforms (Stripe)",
473
+ domain: "api",
474
+ exclusive: false,
475
+ required: false,
476
+ order: 14
477
+ },
478
+ "api-search": {
479
+ id: "api-search",
480
+ displayName: "Search",
481
+ description: "Search engines (Elasticsearch, Meilisearch)",
482
+ domain: "api",
483
+ exclusive: true,
484
+ required: false,
485
+ order: 15
486
+ },
487
+ "api-vector-db": {
488
+ id: "api-vector-db",
489
+ displayName: "Vector Database",
490
+ description: "Vector databases (Pinecone, Qdrant, Chroma, Weaviate)",
491
+ domain: "api",
492
+ exclusive: true,
493
+ required: false,
494
+ order: 16
495
+ },
496
+ "api-caching": {
497
+ id: "api-caching",
498
+ displayName: "Caching",
499
+ description: "API caching strategies and patterns",
500
+ domain: "api",
501
+ exclusive: false,
502
+ required: false,
503
+ order: 17
504
+ },
505
+ "api-graphql": {
506
+ id: "api-graphql",
507
+ displayName: "GraphQL Server",
508
+ description: "GraphQL servers (Apollo Server, Mercurius, Yoga)",
509
+ domain: "api",
510
+ exclusive: true,
511
+ required: false,
512
+ order: 18
513
+ },
514
+ "api-messaging": {
515
+ id: "api-messaging",
516
+ displayName: "Messaging",
517
+ description: "Webhooks and event-driven messaging",
518
+ domain: "api",
519
+ exclusive: false,
520
+ required: false,
521
+ order: 19
522
+ },
523
+ "api-queue": {
524
+ id: "api-queue",
525
+ displayName: "Queues",
526
+ description: "Background job queues (BullMQ)",
527
+ domain: "api",
528
+ exclusive: false,
529
+ required: false,
530
+ order: 20
531
+ },
532
+ "api-specs": {
533
+ id: "api-specs",
534
+ displayName: "API Specifications",
535
+ description: "API specification formats (OpenAPI)",
536
+ domain: "api",
537
+ exclusive: false,
538
+ required: false,
539
+ order: 21
540
+ },
541
+ "mobile-framework": {
542
+ id: "mobile-framework",
543
+ displayName: "Mobile Framework",
544
+ description: "Native mobile framework (React Native, Expo)",
545
+ domain: "mobile",
546
+ exclusive: false,
547
+ required: true,
548
+ order: 1
549
+ },
550
+ "mobile-animation": {
551
+ id: "mobile-animation",
552
+ displayName: "Mobile Animation",
553
+ description: "Native animation and gestures (Reanimated, Gesture Handler, Skia)",
554
+ domain: "mobile",
555
+ exclusive: false,
556
+ required: false,
557
+ order: 6
558
+ },
559
+ "mobile-background": {
560
+ id: "mobile-background",
561
+ displayName: "Background Tasks",
562
+ description: "Background task scheduling and execution",
563
+ domain: "mobile",
564
+ exclusive: false,
565
+ required: false,
566
+ order: 12
567
+ },
568
+ "mobile-camera": {
569
+ id: "mobile-camera",
570
+ displayName: "Camera",
571
+ description: "Camera integration (Vision Camera)",
572
+ domain: "mobile",
573
+ exclusive: false,
574
+ required: false,
575
+ order: 10
576
+ },
577
+ "mobile-deep-linking": {
578
+ id: "mobile-deep-linking",
579
+ displayName: "Deep Linking",
580
+ description: "Deep links and universal/app links",
581
+ domain: "mobile",
582
+ exclusive: false,
583
+ required: false,
584
+ order: 9
585
+ },
586
+ "mobile-deployment": {
587
+ id: "mobile-deployment",
588
+ displayName: "Deployment",
589
+ description: "App builds and store releases (EAS)",
590
+ domain: "mobile",
591
+ exclusive: false,
592
+ required: false,
593
+ order: 15
594
+ },
595
+ "mobile-hardware": {
596
+ id: "mobile-hardware",
597
+ displayName: "Hardware",
598
+ description: "Device hardware access (BLE, NFC)",
599
+ domain: "mobile",
600
+ exclusive: false,
601
+ required: false,
602
+ order: 11
603
+ },
604
+ "mobile-navigation": {
605
+ id: "mobile-navigation",
606
+ displayName: "Navigation",
607
+ description: "Screen navigation (Expo Router, React Navigation)",
608
+ domain: "mobile",
609
+ exclusive: true,
610
+ required: false,
611
+ order: 2
612
+ },
613
+ "mobile-notifications": {
614
+ id: "mobile-notifications",
615
+ displayName: "Notifications",
616
+ description: "Push and local notifications",
617
+ domain: "mobile",
618
+ exclusive: false,
619
+ required: false,
620
+ order: 8
621
+ },
622
+ "mobile-performance": {
623
+ id: "mobile-performance",
624
+ displayName: "Mobile Performance",
625
+ description: "React Native performance optimization",
626
+ domain: "mobile",
627
+ exclusive: false,
628
+ required: false,
629
+ order: 13
630
+ },
631
+ "mobile-security": {
632
+ id: "mobile-security",
633
+ displayName: "Mobile Security",
634
+ description: "Mobile app security patterns (React Native)",
635
+ domain: "mobile",
636
+ exclusive: false,
637
+ required: false,
638
+ order: 14
639
+ },
640
+ "mobile-storage": {
641
+ id: "mobile-storage",
642
+ displayName: "Mobile Storage",
643
+ description: "On-device storage and offline databases (MMKV, SQLite, WatermelonDB)",
644
+ domain: "mobile",
645
+ exclusive: false,
646
+ required: false,
647
+ order: 4
648
+ },
649
+ "mobile-styling": {
650
+ id: "mobile-styling",
651
+ displayName: "Mobile Styling",
652
+ description: "Native styling (NativeWind, Unistyles)",
653
+ domain: "mobile",
654
+ exclusive: true,
655
+ required: false,
656
+ order: 3
657
+ },
658
+ "mobile-testing": {
659
+ id: "mobile-testing",
660
+ displayName: "Mobile Testing",
661
+ description: "Mobile E2E testing (Detox, Maestro)",
662
+ domain: "mobile",
663
+ exclusive: false,
664
+ required: false,
665
+ order: 7
666
+ },
667
+ "mobile-ui-components": {
668
+ id: "mobile-ui-components",
669
+ displayName: "Mobile UI Components",
670
+ description: "Native UI component libraries (React Native Paper, Tamagui)",
671
+ domain: "mobile",
672
+ exclusive: true,
673
+ required: false,
674
+ order: 5
675
+ },
676
+ "shared-monorepo": {
677
+ id: "shared-monorepo",
678
+ displayName: "Monorepo",
679
+ description: "Workspace management (pnpm workspaces)",
680
+ domain: "shared",
681
+ exclusive: false,
682
+ required: false,
683
+ order: 1
684
+ },
685
+ "shared-task-runner": {
686
+ id: "shared-task-runner",
687
+ displayName: "Task Runner",
688
+ description: "Monorepo task orchestration (Turborepo, Nx)",
689
+ domain: "shared",
690
+ exclusive: true,
691
+ required: false,
692
+ order: 2
693
+ },
694
+ "shared-lint": {
695
+ id: "shared-lint",
696
+ displayName: "Lint & Format",
697
+ description: "Linting and formatting (Biome, ESLint & Prettier)",
698
+ domain: "shared",
699
+ exclusive: true,
700
+ required: false,
701
+ order: 3
702
+ },
703
+ "shared-tooling": {
704
+ id: "shared-tooling",
705
+ displayName: "Build Tooling",
706
+ description: "TypeScript config, git hooks, changesets, stack detection",
707
+ domain: "shared",
708
+ exclusive: false,
709
+ required: false,
710
+ order: 4
711
+ },
712
+ "shared-security": {
713
+ id: "shared-security",
714
+ displayName: "Security",
715
+ description: "Authentication security patterns and best practices",
716
+ domain: "shared",
717
+ exclusive: false,
718
+ required: false,
719
+ order: 5
720
+ },
721
+ "meta-reviewing": {
722
+ id: "meta-reviewing",
723
+ displayName: "Code Review",
724
+ description: "Code review patterns and methodology",
725
+ domain: "meta",
726
+ exclusive: false,
727
+ required: false,
728
+ order: 1
729
+ },
730
+ "meta-methodology": {
731
+ id: "meta-methodology",
732
+ displayName: "Methodology",
733
+ description: "Research and investigation methodology",
734
+ domain: "meta",
735
+ exclusive: false,
736
+ required: false,
737
+ order: 2
738
+ },
739
+ "meta-design": {
740
+ id: "meta-design",
741
+ displayName: "Software Design",
742
+ description: "Software design patterns and paradigms",
743
+ domain: "meta",
744
+ exclusive: false,
745
+ required: false,
746
+ order: 3
747
+ },
748
+ "meta-planning": {
749
+ id: "meta-planning",
750
+ displayName: "Planning",
751
+ description: "Specification planning frameworks per domain",
752
+ domain: "meta",
753
+ exclusive: false,
754
+ required: false,
755
+ order: 4
756
+ },
757
+ "infra-ci-cd": {
758
+ id: "infra-ci-cd",
759
+ displayName: "CI/CD",
760
+ description: "Continuous integration and deployment pipelines",
761
+ domain: "infra",
762
+ exclusive: false,
763
+ required: false,
764
+ order: 1
765
+ },
766
+ "infra-platform": {
767
+ id: "infra-platform",
768
+ displayName: "Platform",
769
+ description: "Edge compute and deployment platforms",
770
+ domain: "infra",
771
+ exclusive: false,
772
+ required: false,
773
+ order: 2
774
+ },
775
+ "infra-config": {
776
+ id: "infra-config",
777
+ displayName: "Configuration",
778
+ description: "Environment and infrastructure configuration",
779
+ domain: "infra",
780
+ exclusive: false,
781
+ required: false,
782
+ order: 3
783
+ },
784
+ "infra-containers": {
785
+ id: "infra-containers",
786
+ displayName: "Containers",
787
+ description: "Containers (Docker, Kubernetes)",
788
+ domain: "infra",
789
+ exclusive: false,
790
+ required: false,
791
+ order: 5
792
+ },
793
+ "infra-iac": {
794
+ id: "infra-iac",
795
+ displayName: "Infrastructure as Code",
796
+ description: "Infrastructure as code (Pulumi, SST, Terraform)",
797
+ domain: "infra",
798
+ exclusive: true,
799
+ required: false,
800
+ order: 4
801
+ },
802
+ "cli-framework": {
803
+ id: "cli-framework",
804
+ displayName: "CLI Framework",
805
+ description: "CLI application framework (Commander, oclif)",
806
+ domain: "cli",
807
+ exclusive: true,
808
+ required: true,
809
+ order: 1
810
+ },
811
+ "cli-prompts": {
812
+ id: "cli-prompts",
813
+ displayName: "CLI Prompts",
814
+ description: "Interactive CLI prompts (Clack)",
815
+ domain: "cli",
816
+ exclusive: false,
817
+ required: false,
818
+ order: 2
819
+ },
820
+ "desktop-framework": {
821
+ id: "desktop-framework",
822
+ displayName: "Desktop Framework",
823
+ description: "Desktop application framework (Tauri, Electron)",
824
+ domain: "desktop",
825
+ exclusive: true,
826
+ required: true,
827
+ order: 1
828
+ },
829
+ "desktop-backend": {
830
+ id: "desktop-backend",
831
+ displayName: "Desktop Backend",
832
+ description: "Desktop backend integration (Tauri)",
833
+ domain: "desktop",
834
+ exclusive: false,
835
+ required: false,
836
+ order: 3
837
+ },
838
+ "desktop-ipc": {
839
+ id: "desktop-ipc",
840
+ displayName: "IPC",
841
+ description: "Inter-process communication (Electron)",
842
+ domain: "desktop",
843
+ exclusive: false,
844
+ required: false,
845
+ order: 2
846
+ },
847
+ "desktop-mobile": {
848
+ id: "desktop-mobile",
849
+ displayName: "Mobile Support",
850
+ description: "Desktop-to-mobile platform support (Tauri)",
851
+ domain: "desktop",
852
+ exclusive: false,
853
+ required: false,
854
+ order: 12
855
+ },
856
+ "desktop-multiwindow": {
857
+ id: "desktop-multiwindow",
858
+ displayName: "Multi-Window",
859
+ description: "Multi-window management (Electron, Tauri)",
860
+ domain: "desktop",
861
+ exclusive: false,
862
+ required: false,
863
+ order: 5
864
+ },
865
+ "desktop-packaging": {
866
+ id: "desktop-packaging",
867
+ displayName: "Packaging",
868
+ description: "App packaging and distribution (Electron Forge, Tauri)",
869
+ domain: "desktop",
870
+ exclusive: true,
871
+ required: false,
872
+ order: 9
873
+ },
874
+ "desktop-plugins": {
875
+ id: "desktop-plugins",
876
+ displayName: "Plugins",
877
+ description: "Desktop plugin systems (Tauri)",
878
+ domain: "desktop",
879
+ exclusive: false,
880
+ required: false,
881
+ order: 11
882
+ },
883
+ "desktop-security": {
884
+ id: "desktop-security",
885
+ displayName: "Desktop Security",
886
+ description: "Desktop app security hardening (Electron, Tauri)",
887
+ domain: "desktop",
888
+ exclusive: false,
889
+ required: false,
890
+ order: 7
891
+ },
892
+ "desktop-storage": {
893
+ id: "desktop-storage",
894
+ displayName: "Desktop Storage",
895
+ description: "Desktop data persistence (Electron)",
896
+ domain: "desktop",
897
+ exclusive: false,
898
+ required: false,
899
+ order: 6
900
+ },
901
+ "desktop-testing": {
902
+ id: "desktop-testing",
903
+ displayName: "Desktop Testing",
904
+ description: "Desktop app testing (Electron)",
905
+ domain: "desktop",
906
+ exclusive: false,
907
+ required: false,
908
+ order: 8
909
+ },
910
+ "desktop-ui": {
911
+ id: "desktop-ui",
912
+ displayName: "Desktop UI",
913
+ description: "Desktop UI patterns (Electron)",
914
+ domain: "desktop",
915
+ exclusive: false,
916
+ required: false,
917
+ order: 4
918
+ },
919
+ "desktop-updates": {
920
+ id: "desktop-updates",
921
+ displayName: "Auto-Updates",
922
+ description: "Application auto-updates (electron-updater)",
923
+ domain: "desktop",
924
+ exclusive: false,
925
+ required: false,
926
+ order: 10
927
+ }
928
+ };
929
+
930
+ // src/cli/lib/configuration/default-rules.ts
931
+ var defaultRules = {
932
+ version: "1.0.0",
933
+ relationships: {
934
+ conflicts: [
935
+ {
936
+ skills: ["react", "vue-composition-api", "angular-standalone", "solidjs", "svelte"],
937
+ reason: "Base frameworks are mutually exclusive"
938
+ },
939
+ {
940
+ skills: ["nextjs", "remix", "nuxt", "sveltekit", "astro", "qwik"],
941
+ reason: "Meta-frameworks are mutually exclusive"
942
+ },
943
+ {
944
+ skills: ["zustand", "redux-toolkit", "mobx", "jotai"],
945
+ reason: "React state management libraries are mutually exclusive"
946
+ },
947
+ {
948
+ skills: ["react-query", "swr"],
949
+ reason: "Both solve server state caching"
950
+ },
951
+ {
952
+ skills: ["hono", "express", "fastify", "elysia", "nestjs"],
953
+ reason: "API frameworks are mutually exclusive within a single service"
954
+ },
955
+ {
956
+ skills: ["cli-commander", "oclif-ink"],
957
+ reason: "CLI frameworks are mutually exclusive"
958
+ },
959
+ {
960
+ skills: ["turborepo", "nx"],
961
+ reason: "Monorepo build orchestrators are mutually exclusive"
962
+ },
963
+ {
964
+ skills: ["biome", "eslint-prettier"],
965
+ reason: "Linting and formatting tools are mutually exclusive"
966
+ },
967
+ {
968
+ skills: ["react-router", "tanstack-router"],
969
+ reason: "React client-side routers are mutually exclusive"
970
+ },
971
+ {
972
+ skills: ["electron", "tauri"],
973
+ reason: "Desktop frameworks are mutually exclusive"
974
+ },
975
+ {
976
+ skills: ["better-auth-drizzle-hono", "nextauth", "clerk"],
977
+ reason: "Authentication solutions are mutually exclusive"
978
+ },
979
+ {
980
+ skills: ["react-intl", "next-intl"],
981
+ reason: "React internationalization libraries are mutually exclusive"
982
+ }
983
+ ],
984
+ discourages: [],
985
+ requires: [
986
+ {
987
+ skill: "tanstack-router",
988
+ needs: ["react"],
989
+ reason: "TanStack Router is a React routing library"
990
+ },
991
+ {
992
+ skill: "nextjs",
993
+ needs: ["react"],
994
+ reason: "Next.js is built on React"
995
+ },
996
+ {
997
+ skill: "remix",
998
+ needs: ["react"],
999
+ reason: "Remix is built on React"
1000
+ },
1001
+ {
1002
+ skill: "nuxt",
1003
+ needs: ["vue-composition-api"],
1004
+ reason: "Nuxt is built on Vue"
1005
+ },
1006
+ {
1007
+ skill: "sveltekit",
1008
+ needs: ["svelte"],
1009
+ reason: "SvelteKit is built on Svelte"
1010
+ },
1011
+ {
1012
+ skill: "zustand",
1013
+ needs: ["react", "nextjs", "remix", "react-native"],
1014
+ needsAny: true,
1015
+ reason: "Skill teaches React/React Native patterns"
1016
+ },
1017
+ {
1018
+ skill: "redux-toolkit",
1019
+ needs: ["react", "nextjs", "remix", "react-native"],
1020
+ needsAny: true,
1021
+ reason: "Skill teaches React/React Native patterns"
1022
+ },
1023
+ {
1024
+ skill: "mobx",
1025
+ needs: ["react", "nextjs", "remix", "react-native"],
1026
+ needsAny: true,
1027
+ reason: "Skill teaches React/React Native patterns"
1028
+ },
1029
+ {
1030
+ skill: "react-query",
1031
+ needs: ["react", "nextjs", "remix", "react-native"],
1032
+ needsAny: true,
1033
+ reason: "TanStack Query's React adapter"
1034
+ },
1035
+ {
1036
+ skill: "swr",
1037
+ needs: ["react", "nextjs", "remix", "react-native"],
1038
+ needsAny: true,
1039
+ reason: "SWR is a React Hooks library"
1040
+ },
1041
+ {
1042
+ skill: "react-hook-form",
1043
+ needs: ["react", "nextjs", "remix", "react-native"],
1044
+ needsAny: true,
1045
+ reason: "React Hook Form is React only"
1046
+ },
1047
+ {
1048
+ skill: "react-testing-library",
1049
+ needs: ["react", "nextjs", "remix"],
1050
+ needsAny: true,
1051
+ reason: "React Testing Library is React only"
1052
+ },
1053
+ {
1054
+ skill: "pinia",
1055
+ needs: ["vue-composition-api", "nuxt"],
1056
+ needsAny: true,
1057
+ reason: "Pinia is Vue only"
1058
+ },
1059
+ {
1060
+ skill: "vee-validate",
1061
+ needs: ["vue-composition-api", "nuxt"],
1062
+ needsAny: true,
1063
+ reason: "VeeValidate is Vue only"
1064
+ },
1065
+ {
1066
+ skill: "vue-test-utils",
1067
+ needs: ["vue-composition-api", "nuxt"],
1068
+ needsAny: true,
1069
+ reason: "Vue Test Utils is Vue only"
1070
+ },
1071
+ {
1072
+ skill: "ngrx-signalstore",
1073
+ needs: ["angular-standalone"],
1074
+ reason: "NgRx SignalStore is Angular only"
1075
+ },
1076
+ {
1077
+ skill: "better-auth-drizzle-hono",
1078
+ needs: ["drizzle", "hono"],
1079
+ reason: "Skill teaches Better Auth with the Drizzle adapter, mounted via Hono routes and typed Hono middleware"
1080
+ },
1081
+ {
1082
+ skill: "shadcn-ui",
1083
+ needs: ["react", "nextjs", "remix"],
1084
+ needsAny: true,
1085
+ reason: "shadcn/ui requires a React-based framework"
1086
+ },
1087
+ {
1088
+ skill: "shadcn-ui",
1089
+ needs: ["tailwind"],
1090
+ reason: "shadcn/ui requires Tailwind CSS"
1091
+ },
1092
+ {
1093
+ skill: "graphql-apollo",
1094
+ needs: ["react", "nextjs", "remix"],
1095
+ needsAny: true,
1096
+ reason: "Skill teaches React Apollo Client patterns"
1097
+ },
1098
+ {
1099
+ skill: "graphql-urql",
1100
+ needs: [
1101
+ "react",
1102
+ "vue-composition-api",
1103
+ "solidjs",
1104
+ "svelte",
1105
+ "nextjs",
1106
+ "remix",
1107
+ "nuxt",
1108
+ "sveltekit"
1109
+ ],
1110
+ needsAny: true,
1111
+ reason: "URQL supports React, Vue, Solid, and Svelte"
1112
+ },
1113
+ {
1114
+ skill: "react-router",
1115
+ needs: ["react"],
1116
+ reason: "React Router v7 Data Mode SPA skill \u2014 createBrowserRouter/RouterProvider are framework-owned (wrong) inside a Remix framework-mode app"
1117
+ },
1118
+ {
1119
+ skill: "chakra-ui",
1120
+ needs: ["react", "nextjs", "remix"],
1121
+ needsAny: true,
1122
+ reason: "Chakra UI is a React component library"
1123
+ },
1124
+ {
1125
+ skill: "mantine",
1126
+ needs: ["react", "nextjs", "remix"],
1127
+ needsAny: true,
1128
+ reason: "Mantine is a React component library"
1129
+ },
1130
+ {
1131
+ skill: "mui",
1132
+ needs: ["react", "nextjs", "remix"],
1133
+ needsAny: true,
1134
+ reason: "MUI is a React component library"
1135
+ },
1136
+ {
1137
+ skill: "ant-design",
1138
+ needs: ["react", "nextjs", "remix"],
1139
+ needsAny: true,
1140
+ reason: "Ant Design is a React component library"
1141
+ },
1142
+ {
1143
+ skill: "headless-ui",
1144
+ needs: ["react", "nextjs", "remix"],
1145
+ needsAny: true,
1146
+ reason: "Headless UI v2 is React only"
1147
+ },
1148
+ {
1149
+ skill: "vueuse",
1150
+ needs: ["vue-composition-api", "nuxt"],
1151
+ needsAny: true,
1152
+ reason: "VueUse composables require Vue 3"
1153
+ },
1154
+ {
1155
+ skill: "expo",
1156
+ needs: ["react-native"],
1157
+ reason: "Expo is a React Native framework"
1158
+ },
1159
+ {
1160
+ skill: "react-native",
1161
+ needs: ["react"],
1162
+ reason: "React Native is built on React"
1163
+ },
1164
+ {
1165
+ skill: "claude-vision",
1166
+ needs: ["anthropic-sdk"],
1167
+ reason: "Claude Vision uses the Anthropic SDK"
1168
+ },
1169
+ {
1170
+ skill: "openai-whisper",
1171
+ needs: ["openai-sdk"],
1172
+ reason: "Whisper API uses the OpenAI SDK"
1173
+ },
1174
+ {
1175
+ skill: "next-intl",
1176
+ needs: ["nextjs"],
1177
+ reason: "Skill teaches next-intl's Next.js App Router surface \u2014 middleware, routing.ts, setRequestLocale, NextIntlClientProvider"
1178
+ },
1179
+ {
1180
+ skill: "clerk",
1181
+ needs: ["nextjs"],
1182
+ reason: "Skill teaches @clerk/nextjs patterns"
1183
+ },
1184
+ {
1185
+ skill: "trpc",
1186
+ needs: ["react", "nextjs", "remix"],
1187
+ needsAny: true,
1188
+ reason: "Skill teaches React Query integration patterns"
1189
+ },
1190
+ {
1191
+ skill: "framer-motion",
1192
+ needs: ["react", "nextjs", "remix"],
1193
+ needsAny: true,
1194
+ reason: "Motion (Framer Motion) is a React animation library"
1195
+ },
1196
+ {
1197
+ skill: "error-boundaries",
1198
+ needs: ["react", "nextjs", "remix"],
1199
+ needsAny: true,
1200
+ reason: "Error boundaries are a React concept"
1201
+ },
1202
+ {
1203
+ skill: "file-upload-patterns",
1204
+ needs: ["react", "nextjs", "remix"],
1205
+ needsAny: true,
1206
+ reason: "Skill teaches React-based file upload patterns"
1207
+ },
1208
+ {
1209
+ skill: "image-handling",
1210
+ needs: ["react", "nextjs", "remix"],
1211
+ needsAny: true,
1212
+ reason: "Skill teaches React-based image handling hooks"
1213
+ },
1214
+ {
1215
+ skill: "react-intl",
1216
+ needs: ["react", "nextjs", "remix"],
1217
+ needsAny: true,
1218
+ reason: "React Intl (FormatJS) is React only"
1219
+ },
1220
+ {
1221
+ skill: "tanstack-table",
1222
+ needs: ["react", "nextjs", "remix"],
1223
+ needsAny: true,
1224
+ reason: "Skill teaches @tanstack/react-table patterns"
1225
+ },
1226
+ {
1227
+ skill: "radix-ui",
1228
+ needs: ["react", "nextjs", "remix"],
1229
+ needsAny: true,
1230
+ reason: "Radix UI primitives are React-specific"
1231
+ },
1232
+ {
1233
+ skill: "jotai",
1234
+ needs: ["react", "nextjs", "remix", "react-native"],
1235
+ needsAny: true,
1236
+ reason: "Jotai is a React atomic state library"
1237
+ },
1238
+ {
1239
+ skill: "vue-i18n",
1240
+ needs: ["vue-composition-api", "nuxt"],
1241
+ needsAny: true,
1242
+ reason: "vue-i18n is Vue 3 only"
1243
+ },
1244
+ {
1245
+ skill: "storybook",
1246
+ needs: [
1247
+ "react",
1248
+ "vue-composition-api",
1249
+ "angular-standalone",
1250
+ "solidjs",
1251
+ "svelte",
1252
+ "qwik",
1253
+ "nextjs",
1254
+ "remix",
1255
+ "nuxt",
1256
+ "sveltekit"
1257
+ ],
1258
+ needsAny: true,
1259
+ reason: "Storybook requires a UI framework"
1260
+ },
1261
+ {
1262
+ skill: "vuetify",
1263
+ needs: ["vue-composition-api", "nuxt"],
1264
+ needsAny: true,
1265
+ reason: "Vuetify is Vue only"
1266
+ },
1267
+ {
1268
+ skill: "tanstack-form",
1269
+ needs: [
1270
+ "react",
1271
+ "vue-composition-api",
1272
+ "angular-standalone",
1273
+ "solidjs",
1274
+ "nextjs",
1275
+ "remix",
1276
+ "nuxt"
1277
+ ],
1278
+ needsAny: true,
1279
+ reason: "TanStack Form requires a UI framework"
1280
+ },
1281
+ {
1282
+ skill: "resend-react-email",
1283
+ needs: ["react", "nextjs", "remix"],
1284
+ needsAny: true,
1285
+ reason: "React Email uses React for email templates"
1286
+ },
1287
+ {
1288
+ skill: "react-navigation",
1289
+ needs: ["react-native", "expo"],
1290
+ needsAny: true,
1291
+ reason: "React Navigation targets React Native apps, bare or Expo"
1292
+ },
1293
+ {
1294
+ skill: "expo-router",
1295
+ needs: ["expo"],
1296
+ reason: "Expo Router is built on the Expo SDK"
1297
+ },
1298
+ {
1299
+ skill: "nativewind",
1300
+ needs: ["react-native", "expo"],
1301
+ needsAny: true,
1302
+ reason: "NativeWind compiles Tailwind classes for React Native components"
1303
+ },
1304
+ {
1305
+ skill: "unistyles",
1306
+ needs: ["react-native", "expo"],
1307
+ needsAny: true,
1308
+ reason: "Unistyles styles React Native via Nitro Modules"
1309
+ },
1310
+ {
1311
+ skill: "detox",
1312
+ needs: ["react-native", "expo"],
1313
+ needsAny: true,
1314
+ reason: "Detox is gray-box E2E testing for React Native"
1315
+ },
1316
+ {
1317
+ skill: "maestro",
1318
+ needs: ["react-native", "expo", "tauri-mobile"],
1319
+ needsAny: true,
1320
+ reason: "Maestro drives a mobile app; these are the catalog's mobile-app producers"
1321
+ },
1322
+ {
1323
+ skill: "tamagui",
1324
+ needs: ["react-native", "expo", "react"],
1325
+ needsAny: true,
1326
+ reason: "Tamagui is universal React: native via RN or Expo, web via React alone"
1327
+ },
1328
+ {
1329
+ skill: "react-native-paper",
1330
+ needs: ["react-native", "expo"],
1331
+ needsAny: true,
1332
+ reason: "React Native Paper is Material Design 3 for React Native"
1333
+ },
1334
+ {
1335
+ skill: "reanimated",
1336
+ needs: ["react-native", "expo"],
1337
+ needsAny: true,
1338
+ reason: "Reanimated animates React Native via worklets"
1339
+ },
1340
+ {
1341
+ skill: "gesture-handler",
1342
+ needs: ["react-native", "expo"],
1343
+ needsAny: true,
1344
+ reason: "Gesture Handler replaces React Native's gesture system"
1345
+ },
1346
+ {
1347
+ skill: "skia",
1348
+ needs: ["react-native", "expo"],
1349
+ needsAny: true,
1350
+ reason: "@shopify/react-native-skia is a React Native renderer"
1351
+ },
1352
+ {
1353
+ skill: "mmkv",
1354
+ needs: ["react-native", "expo"],
1355
+ needsAny: true,
1356
+ reason: "react-native-mmkv is a React Native storage package"
1357
+ },
1358
+ {
1359
+ skill: "sqlite-powersync",
1360
+ needs: ["react-native", "expo"],
1361
+ needsAny: true,
1362
+ reason: "The skill teaches PowerSync's React Native SDK"
1363
+ },
1364
+ {
1365
+ skill: "watermelondb",
1366
+ needs: ["react-native", "expo"],
1367
+ needsAny: true,
1368
+ reason: "WatermelonDB as taught targets offline-first React Native apps"
1369
+ },
1370
+ {
1371
+ skill: "eas",
1372
+ needs: ["expo"],
1373
+ reason: "EAS Build/Update workflows assume the Expo SDK"
1374
+ },
1375
+ {
1376
+ skill: "vision-camera",
1377
+ needs: ["react-native", "expo"],
1378
+ needsAny: true,
1379
+ reason: "react-native-vision-camera depends on React Native's JSI"
1380
+ },
1381
+ {
1382
+ skill: "ble-nfc",
1383
+ needs: ["react-native", "expo"],
1384
+ needsAny: true,
1385
+ reason: "Both taught libraries are React Native packages"
1386
+ },
1387
+ {
1388
+ skill: "push",
1389
+ needs: ["react-native", "expo"],
1390
+ needsAny: true,
1391
+ reason: "Dual-path: expo-notifications or React Native Firebase messaging"
1392
+ },
1393
+ {
1394
+ skill: "tasks",
1395
+ needs: ["react-native", "expo"],
1396
+ needsAny: true,
1397
+ reason: "Dual-path: Expo background tasks or react-native-background-fetch"
1398
+ },
1399
+ {
1400
+ skill: "app-links",
1401
+ needs: ["react-native", "expo"],
1402
+ needsAny: true,
1403
+ reason: "Deep linking via expo-linking or React Navigation linking config"
1404
+ },
1405
+ {
1406
+ skill: "react-native-performance",
1407
+ needs: ["react-native", "expo"],
1408
+ needsAny: true,
1409
+ reason: "React Native performance patterns: Hermes, threads, FlashList"
1410
+ },
1411
+ {
1412
+ skill: "react-native-security",
1413
+ needs: ["react-native", "expo"],
1414
+ needsAny: true,
1415
+ reason: "Dual-path secure storage: expo-secure-store or react-native-keychain"
1416
+ },
1417
+ {
1418
+ skill: "electron-ipc",
1419
+ needs: ["electron"],
1420
+ reason: "contextBridge/ipcMain are Electron core APIs"
1421
+ },
1422
+ {
1423
+ skill: "electron-storage",
1424
+ needs: ["electron"],
1425
+ reason: "electron-store and safeStorage are Electron-scoped"
1426
+ },
1427
+ {
1428
+ skill: "electron-ui",
1429
+ needs: ["electron"],
1430
+ reason: "Tray, Menu, and frameless windows are Electron core APIs"
1431
+ },
1432
+ {
1433
+ skill: "electron-testing",
1434
+ needs: ["electron"],
1435
+ reason: "Playwright's _electron driver automates Electron apps"
1436
+ },
1437
+ {
1438
+ skill: "electron-updater",
1439
+ needs: ["electron"],
1440
+ reason: "electron-updater updates packaged Electron apps"
1441
+ },
1442
+ {
1443
+ skill: "electron-multiwindow",
1444
+ needs: ["electron"],
1445
+ reason: "BaseWindow and WebContentsView are Electron core APIs"
1446
+ },
1447
+ {
1448
+ skill: "electron-security",
1449
+ needs: ["electron"],
1450
+ reason: "Fuses, ASAR integrity, and sandbox are Electron mechanisms"
1451
+ },
1452
+ {
1453
+ skill: "electron-forge",
1454
+ needs: ["electron"],
1455
+ reason: "Electron Forge packages Electron apps"
1456
+ },
1457
+ {
1458
+ skill: "tauri-backend",
1459
+ needs: ["tauri"],
1460
+ reason: "tauri::command and State are the tauri crate"
1461
+ },
1462
+ {
1463
+ skill: "tauri-bundling",
1464
+ needs: ["tauri"],
1465
+ reason: "Tauri bundler, signer, and updater configuration"
1466
+ },
1467
+ {
1468
+ skill: "tauri-plugins",
1469
+ needs: ["tauri"],
1470
+ reason: "tauri-plugin-* crates and the Tauri 2 ACL model"
1471
+ },
1472
+ {
1473
+ skill: "tauri-multiwindow",
1474
+ needs: ["tauri"],
1475
+ reason: "Tauri 2 event system and WebviewWindow APIs"
1476
+ },
1477
+ {
1478
+ skill: "tauri-security",
1479
+ needs: ["tauri"],
1480
+ reason: "Capabilities and permissions are the Tauri 2 security model"
1481
+ },
1482
+ {
1483
+ skill: "tauri-mobile",
1484
+ needs: ["tauri"],
1485
+ reason: "Tauri mobile targets are the same Tauri project"
1486
+ },
1487
+ {
1488
+ skill: "mercurius",
1489
+ needs: ["fastify"],
1490
+ reason: "Mercurius is a Fastify plugin \u2014 registered via app.register on a Fastify instance"
1491
+ },
1492
+ {
1493
+ skill: "nextauth",
1494
+ needs: ["nextjs"],
1495
+ reason: "Skill teaches the next-auth (Next.js) package \u2014 auth.ts, handlers, middleware, Server Components"
1496
+ },
1497
+ {
1498
+ skill: "bullmq",
1499
+ needs: ["redis", "upstash"],
1500
+ needsAny: true,
1501
+ reason: "BullMQ drives a Redis-compatible server over ioredis/TCP (blocking commands, Lua scripts, streams); Upstash documents BullMQ over its TCP endpoint \u2014 its REST client cannot drive BullMQ, and the skill carries its own ioredis connection factory"
1502
+ },
1503
+ {
1504
+ skill: "composable-components",
1505
+ needs: ["react"],
1506
+ reason: "Composition patterns are React surface \u2014 base-ui useRender/mergeProps, forwardRef, JSX parts"
1507
+ },
1508
+ {
1509
+ skill: "web-reviewing",
1510
+ needs: ["react"],
1511
+ reason: "Checklist self-scopes to React diffs \u2014 rules of hooks, dependency arrays, React.memo"
1512
+ },
1513
+ {
1514
+ skill: "base-ui",
1515
+ needs: ["react", "nextjs", "remix"],
1516
+ needsAny: true,
1517
+ reason: "Base UI primitives are React-only (@base-ui/react)"
1518
+ },
1519
+ {
1520
+ skill: "react-three-fiber",
1521
+ needs: ["react", "nextjs", "remix"],
1522
+ needsAny: true,
1523
+ reason: "React Three Fiber is a React renderer for Three.js"
1524
+ },
1525
+ {
1526
+ skill: "dnd-kit",
1527
+ needs: ["react", "nextjs", "remix"],
1528
+ needsAny: true,
1529
+ reason: "The skill teaches DndContext/useDraggable/useDroppable/useSortable \u2014 @dnd-kit React packages throughout"
1530
+ },
1531
+ {
1532
+ skill: "lexical",
1533
+ needs: ["react", "nextjs", "remix"],
1534
+ needsAny: true,
1535
+ reason: "The skill's only editor setup and plugin registration path is @lexical/react \u2014 LexicalComposer plus useEffect registration"
1536
+ },
1537
+ {
1538
+ skill: "recharts",
1539
+ needs: ["react", "nextjs", "remix"],
1540
+ needsAny: true,
1541
+ reason: "Recharts wraps D3 in composable React components"
1542
+ },
1543
+ {
1544
+ skill: "component-library",
1545
+ needs: ["react", "nextjs", "remix"],
1546
+ needsAny: true,
1547
+ reason: "Packaging React components \u2014 react/react-dom peerDependencies and 'use client' preservation are the skill's critical requirements"
1548
+ },
1549
+ {
1550
+ skill: "setup-resend",
1551
+ needs: ["react", "nextjs", "remix"],
1552
+ needsAny: true,
1553
+ reason: "Resend Email & React Email Setup \u2014 .tsx templates and the react: send prop are React Email surface"
1554
+ },
1555
+ {
1556
+ skill: "setup-axiom-pino-sentry",
1557
+ needs: ["nextjs"],
1558
+ reason: "Every pattern is the Next.js wiring \u2014 next-axiom, @sentry/nextjs, next.config.ts wrapping, instrumentation.ts; strip the Next slice and nothing followable remains"
1559
+ },
1560
+ {
1561
+ skill: "turborepo-ci",
1562
+ needs: ["turborepo"],
1563
+ reason: "Turborepo CI patterns configure turbo.json and the turbo CLI \u2014 requires the Turborepo task runner (shared-task-runner)"
1564
+ }
1565
+ ],
1566
+ alternatives: [
1567
+ {
1568
+ purpose: "Base Framework",
1569
+ skills: ["react", "vue-composition-api", "angular-standalone", "solidjs", "svelte"]
1570
+ },
1571
+ {
1572
+ purpose: "Meta-Framework",
1573
+ skills: ["nextjs", "remix", "nuxt", "sveltekit", "astro", "qwik"]
1574
+ },
1575
+ { purpose: "Routing (React)", skills: ["tanstack-router", "react-router"] },
1576
+ {
1577
+ purpose: "Styling",
1578
+ skills: ["scss-modules", "tailwind"]
1579
+ },
1580
+ {
1581
+ purpose: "Client State (React)",
1582
+ skills: ["zustand", "redux-toolkit", "mobx", "jotai"]
1583
+ },
1584
+ { purpose: "Client State (Vue)", skills: ["pinia"] },
1585
+ { purpose: "Client State (Angular)", skills: ["ngrx-signalstore"] },
1586
+ {
1587
+ purpose: "Server State / Data Fetching",
1588
+ skills: ["react-query", "swr", "trpc"]
1589
+ },
1590
+ {
1591
+ purpose: "GraphQL Client",
1592
+ skills: ["graphql-apollo", "graphql-urql"]
1593
+ },
1594
+ {
1595
+ purpose: "API Framework",
1596
+ skills: ["hono", "express", "fastify", "elysia", "nestjs"]
1597
+ },
1598
+ {
1599
+ purpose: "SQL ORM / Query Builder",
1600
+ skills: ["drizzle", "prisma", "sequelize", "typeorm", "knex"]
1601
+ },
1602
+ { purpose: "MongoDB", skills: ["mongodb", "mongoose"] },
1603
+ { purpose: "Forms (React)", skills: ["react-hook-form", "tanstack-form"] },
1604
+ { purpose: "Forms (Vue)", skills: ["vee-validate", "tanstack-form"] },
1605
+ { purpose: "Validation", skills: ["zod-validation"] },
1606
+ { purpose: "Unit Testing", skills: ["vitest"] },
1607
+ { purpose: "Component Testing (React)", skills: ["react-testing-library"] },
1608
+ { purpose: "Component Testing (Vue)", skills: ["vue-test-utils"] },
1609
+ {
1610
+ purpose: "E2E Testing",
1611
+ skills: ["playwright-e2e", "cypress-e2e"]
1612
+ },
1613
+ { purpose: "API Mocking", skills: ["msw"] },
1614
+ {
1615
+ purpose: "UI Components (React)",
1616
+ skills: ["shadcn-ui", "mui", "chakra-ui", "mantine", "ant-design"]
1617
+ },
1618
+ { purpose: "Mobile", skills: ["react-native", "expo"] },
1619
+ {
1620
+ purpose: "CLI Framework",
1621
+ skills: ["cli-commander", "oclif-ink"]
1622
+ },
1623
+ { purpose: "AI SDK", skills: ["vercel-ai-sdk", "langchain", "llamaindex"] },
1624
+ { purpose: "Backend as a Service", skills: ["supabase", "firebase", "appwrite"] },
1625
+ { purpose: "Auth", skills: ["better-auth-drizzle-hono", "nextauth", "clerk"] },
1626
+ {
1627
+ purpose: "AI Provider SDK",
1628
+ skills: [
1629
+ "anthropic-sdk",
1630
+ "openai-sdk",
1631
+ "google-gemini-sdk",
1632
+ "mistral-sdk",
1633
+ "cohere-sdk",
1634
+ "together-ai",
1635
+ "replicate",
1636
+ "huggingface-inference",
1637
+ "ollama",
1638
+ "litellm"
1639
+ ]
1640
+ },
1641
+ { purpose: "Vector Database", skills: ["pinecone", "qdrant", "chroma", "weaviate"] },
1642
+ { purpose: "Search Engine", skills: ["elasticsearch", "meilisearch"] },
1643
+ { purpose: "CMS", skills: ["payload", "sanity", "strapi"] },
1644
+ {
1645
+ purpose: "Managed Database",
1646
+ skills: ["neon", "planetscale", "turso", "vercel-postgres", "cockroachdb"]
1647
+ },
1648
+ { purpose: "Cache / KV Store", skills: ["redis", "upstash", "vercel-kv"] },
1649
+ { purpose: "Payment", skills: ["stripe"] },
1650
+ { purpose: "Realtime", skills: ["websockets", "socket-io", "sse"] },
1651
+ { purpose: "Animation", skills: ["framer-motion", "css-animations", "view-transitions"] },
1652
+ { purpose: "Monorepo Orchestrator", skills: ["turborepo", "nx"] },
1653
+ { purpose: "Linting / Formatting", skills: ["biome", "eslint-prettier"] },
1654
+ { purpose: "Documentation Framework", skills: ["docusaurus", "vitepress"] },
1655
+ { purpose: "Desktop Framework", skills: ["electron", "tauri"] },
1656
+ { purpose: "AI Evaluation / Observability", skills: ["langfuse", "promptfoo"] },
1657
+ { purpose: "SQL Database", skills: ["postgresql", "mysql"] },
1658
+ { purpose: "Internationalization (React)", skills: ["react-intl", "next-intl"] }
1659
+ ]
1660
+ }
1661
+ };
1662
+
1663
+ // src/cli/lib/configuration/default-stacks.ts
1664
+ var SHARED_TOOLING = [
1665
+ { id: "shared-tooling-typescript-config" },
1666
+ { id: "shared-tooling-git-hooks" }
1667
+ ];
1668
+ var SHARED_LINT = [{ id: "shared-tooling-eslint-prettier" }];
1669
+ var defaultStacks = [
1670
+ {
1671
+ id: "nextjs-fullstack",
1672
+ name: "Next.js Full-Stack",
1673
+ description: "Hono, Drizzle, Better Auth, Zustand",
1674
+ philosophy: "Ship fast, iterate faster",
1675
+ agents: {
1676
+ "web-developer": {
1677
+ "web-framework": [{ id: "web-framework-react" }],
1678
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1679
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1680
+ "web-client-state": [{ id: "web-state-zustand" }],
1681
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1682
+ "web-testing": [{ id: "web-testing-vitest" }],
1683
+ "web-mocking": [{ id: "web-mocks-msw" }],
1684
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1685
+ "shared-tooling": SHARED_TOOLING,
1686
+ "shared-lint": SHARED_LINT,
1687
+ "web-tooling": [{ id: "web-tooling-vite" }]
1688
+ },
1689
+ "api-developer": {
1690
+ "api-api": [{ id: "api-framework-hono" }],
1691
+ "api-orm": [{ id: "api-database-drizzle" }],
1692
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1693
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1694
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1695
+ "api-email": [{ id: "api-email-resend-react-email" }],
1696
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1697
+ "shared-tooling": SHARED_TOOLING,
1698
+ "shared-lint": SHARED_LINT
1699
+ },
1700
+ "cli-developer": {
1701
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
1702
+ "shared-tooling": SHARED_TOOLING,
1703
+ "shared-lint": SHARED_LINT
1704
+ },
1705
+ reviewer: {
1706
+ "meta-reviewing": [
1707
+ { id: "meta-reviewing-reviewing" },
1708
+ { id: "meta-reviewing-cli-reviewing" }
1709
+ ],
1710
+ "web-framework": [{ id: "web-framework-react" }],
1711
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1712
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1713
+ "web-client-state": [{ id: "web-state-zustand" }],
1714
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1715
+ "web-testing": [{ id: "web-testing-vitest" }],
1716
+ "web-mocking": [{ id: "web-mocks-msw" }],
1717
+ "api-api": [{ id: "api-framework-hono" }],
1718
+ "api-orm": [{ id: "api-database-drizzle" }],
1719
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1720
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1721
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
1722
+ },
1723
+ "web-tester": {
1724
+ "web-testing": [{ id: "web-testing-vitest" }],
1725
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
1726
+ "web-mocking": [{ id: "web-mocks-msw" }]
1727
+ },
1728
+ pm: {
1729
+ "web-framework": [{ id: "web-framework-react" }],
1730
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1731
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1732
+ "web-client-state": [{ id: "web-state-zustand" }],
1733
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1734
+ "web-testing": [{ id: "web-testing-vitest" }],
1735
+ "web-mocking": [{ id: "web-mocks-msw" }],
1736
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1737
+ "api-api": [{ id: "api-framework-hono" }],
1738
+ "api-orm": [{ id: "api-database-drizzle" }],
1739
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1740
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1741
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1742
+ "api-email": [{ id: "api-email-resend-react-email" }],
1743
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1744
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
1745
+ },
1746
+ "web-researcher": {
1747
+ "web-framework": [{ id: "web-framework-react" }],
1748
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1749
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1750
+ "web-client-state": [{ id: "web-state-zustand" }],
1751
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1752
+ "web-testing": [{ id: "web-testing-vitest" }],
1753
+ "web-mocking": [{ id: "web-mocks-msw" }],
1754
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }]
1755
+ },
1756
+ "api-researcher": {
1757
+ "api-api": [{ id: "api-framework-hono" }],
1758
+ "api-orm": [{ id: "api-database-drizzle" }],
1759
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1760
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1761
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1762
+ "api-email": [{ id: "api-email-resend-react-email" }],
1763
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1764
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
1765
+ },
1766
+ "agent-summoner": {
1767
+ "web-framework": [{ id: "web-framework-react" }],
1768
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1769
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1770
+ "web-client-state": [{ id: "web-state-zustand" }],
1771
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1772
+ "web-testing": [{ id: "web-testing-vitest" }],
1773
+ "web-mocking": [{ id: "web-mocks-msw" }],
1774
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1775
+ "api-api": [{ id: "api-framework-hono" }],
1776
+ "api-orm": [{ id: "api-database-drizzle" }],
1777
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1778
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1779
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1780
+ "api-email": [{ id: "api-email-resend-react-email" }],
1781
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1782
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
1783
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1784
+ },
1785
+ "skill-summoner": {
1786
+ "web-framework": [{ id: "web-framework-react" }],
1787
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1788
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1789
+ "web-client-state": [{ id: "web-state-zustand" }],
1790
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1791
+ "web-testing": [{ id: "web-testing-vitest" }],
1792
+ "web-mocking": [{ id: "web-mocks-msw" }],
1793
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1794
+ "api-api": [{ id: "api-framework-hono" }],
1795
+ "api-orm": [{ id: "api-database-drizzle" }],
1796
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1797
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1798
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1799
+ "api-email": [{ id: "api-email-resend-react-email" }],
1800
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1801
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
1802
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1803
+ },
1804
+ "codex-keeper": {
1805
+ "web-framework": [{ id: "web-framework-react" }],
1806
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1807
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1808
+ "web-client-state": [{ id: "web-state-zustand" }],
1809
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1810
+ "web-testing": [{ id: "web-testing-vitest" }],
1811
+ "web-mocking": [{ id: "web-mocks-msw" }],
1812
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1813
+ "api-api": [{ id: "api-framework-hono" }],
1814
+ "api-orm": [{ id: "api-database-drizzle" }],
1815
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1816
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1817
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1818
+ "api-email": [{ id: "api-email-resend-react-email" }],
1819
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1820
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
1821
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1822
+ },
1823
+ "cli-tester": {}
1824
+ }
1825
+ },
1826
+ {
1827
+ id: "nextjs-t3-stack",
1828
+ name: "Next.js T3 Stack",
1829
+ description: "tRPC, Prisma, NextAuth, Tailwind",
1830
+ philosophy: "End-to-end type safety with great DX",
1831
+ agents: {
1832
+ "web-developer": {
1833
+ "web-framework": [{ id: "web-framework-react" }],
1834
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1835
+ "web-styling": [{ id: "web-styling-tailwind" }],
1836
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1837
+ "web-testing": [{ id: "web-testing-vitest" }],
1838
+ "shared-tooling": SHARED_TOOLING,
1839
+ "shared-lint": SHARED_LINT,
1840
+ "web-tooling": [{ id: "web-tooling-vite" }]
1841
+ },
1842
+ "api-developer": {
1843
+ "api-orm": [{ id: "api-database-prisma" }],
1844
+ "api-auth": [{ id: "api-auth-nextauth" }],
1845
+ "shared-tooling": SHARED_TOOLING,
1846
+ "shared-lint": SHARED_LINT
1847
+ },
1848
+ reviewer: {
1849
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
1850
+ "web-framework": [{ id: "web-framework-react" }],
1851
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1852
+ "web-styling": [{ id: "web-styling-tailwind" }],
1853
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1854
+ "web-testing": [{ id: "web-testing-vitest" }],
1855
+ "api-orm": [{ id: "api-database-prisma" }],
1856
+ "api-auth": [{ id: "api-auth-nextauth" }]
1857
+ },
1858
+ pm: {
1859
+ "web-framework": [{ id: "web-framework-react" }],
1860
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1861
+ "web-styling": [{ id: "web-styling-tailwind" }],
1862
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1863
+ "web-testing": [{ id: "web-testing-vitest" }],
1864
+ "api-orm": [{ id: "api-database-prisma" }],
1865
+ "api-auth": [{ id: "api-auth-nextauth" }]
1866
+ },
1867
+ "web-researcher": {
1868
+ "web-framework": [{ id: "web-framework-react" }],
1869
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1870
+ "web-styling": [{ id: "web-styling-tailwind" }],
1871
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1872
+ "web-testing": [{ id: "web-testing-vitest" }]
1873
+ },
1874
+ "api-researcher": {
1875
+ "api-orm": [{ id: "api-database-prisma" }],
1876
+ "api-auth": [{ id: "api-auth-nextauth" }]
1877
+ },
1878
+ "agent-summoner": {
1879
+ "web-framework": [{ id: "web-framework-react" }],
1880
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1881
+ "web-styling": [{ id: "web-styling-tailwind" }],
1882
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1883
+ "web-testing": [{ id: "web-testing-vitest" }],
1884
+ "api-orm": [{ id: "api-database-prisma" }],
1885
+ "api-auth": [{ id: "api-auth-nextauth" }],
1886
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1887
+ },
1888
+ "skill-summoner": {
1889
+ "web-framework": [{ id: "web-framework-react" }],
1890
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1891
+ "web-styling": [{ id: "web-styling-tailwind" }],
1892
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1893
+ "web-testing": [{ id: "web-testing-vitest" }],
1894
+ "api-orm": [{ id: "api-database-prisma" }],
1895
+ "api-auth": [{ id: "api-auth-nextauth" }],
1896
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1897
+ },
1898
+ "codex-keeper": {
1899
+ "web-framework": [{ id: "web-framework-react" }],
1900
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1901
+ "web-styling": [{ id: "web-styling-tailwind" }],
1902
+ "web-rpc": [{ id: "web-data-fetching-trpc" }],
1903
+ "web-testing": [{ id: "web-testing-vitest" }],
1904
+ "api-orm": [{ id: "api-database-prisma" }],
1905
+ "api-auth": [{ id: "api-auth-nextauth" }],
1906
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
1907
+ },
1908
+ "web-tester": {
1909
+ "web-testing": [{ id: "web-testing-vitest" }],
1910
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
1911
+ }
1912
+ }
1913
+ },
1914
+ {
1915
+ id: "nextjs-supabase-fullstack",
1916
+ name: "Next.js Supabase Full-Stack",
1917
+ description: "Supabase, Drizzle, Better Auth",
1918
+ philosophy: "Full-stack with Supabase backend-as-a-service",
1919
+ agents: {
1920
+ "web-developer": {
1921
+ "web-framework": [{ id: "web-framework-react" }],
1922
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1923
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1924
+ "web-client-state": [{ id: "web-state-zustand" }],
1925
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1926
+ "web-testing": [{ id: "web-testing-vitest" }],
1927
+ "web-mocking": [{ id: "web-mocks-msw" }],
1928
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1929
+ "shared-tooling": SHARED_TOOLING,
1930
+ "shared-lint": SHARED_LINT,
1931
+ "web-tooling": [{ id: "web-tooling-vite" }]
1932
+ },
1933
+ "api-developer": {
1934
+ "api-api": [{ id: "api-framework-hono" }],
1935
+ "api-orm": [{ id: "api-database-drizzle" }],
1936
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1937
+ "api-baas": [{ id: "api-baas-supabase" }],
1938
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1939
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1940
+ "api-email": [{ id: "api-email-resend-react-email" }],
1941
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1942
+ "shared-tooling": SHARED_TOOLING,
1943
+ "shared-lint": SHARED_LINT
1944
+ },
1945
+ "cli-developer": {
1946
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
1947
+ "shared-tooling": SHARED_TOOLING,
1948
+ "shared-lint": SHARED_LINT
1949
+ },
1950
+ reviewer: {
1951
+ "meta-reviewing": [
1952
+ { id: "meta-reviewing-reviewing" },
1953
+ { id: "meta-reviewing-cli-reviewing" }
1954
+ ],
1955
+ "web-framework": [{ id: "web-framework-react" }],
1956
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1957
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1958
+ "web-client-state": [{ id: "web-state-zustand" }],
1959
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1960
+ "web-testing": [{ id: "web-testing-vitest" }],
1961
+ "web-mocking": [{ id: "web-mocks-msw" }],
1962
+ "api-api": [{ id: "api-framework-hono" }],
1963
+ "api-orm": [{ id: "api-database-drizzle" }],
1964
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1965
+ "api-baas": [{ id: "api-baas-supabase" }],
1966
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1967
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
1968
+ },
1969
+ "web-tester": {
1970
+ "web-testing": [{ id: "web-testing-vitest" }],
1971
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
1972
+ "web-mocking": [{ id: "web-mocks-msw" }]
1973
+ },
1974
+ pm: {
1975
+ "web-framework": [{ id: "web-framework-react" }],
1976
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1977
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1978
+ "web-client-state": [{ id: "web-state-zustand" }],
1979
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1980
+ "web-testing": [{ id: "web-testing-vitest" }],
1981
+ "web-mocking": [{ id: "web-mocks-msw" }],
1982
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
1983
+ "api-api": [{ id: "api-framework-hono" }],
1984
+ "api-orm": [{ id: "api-database-drizzle" }],
1985
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
1986
+ "api-baas": [{ id: "api-baas-supabase" }],
1987
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
1988
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
1989
+ "api-email": [{ id: "api-email-resend-react-email" }],
1990
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
1991
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
1992
+ },
1993
+ "web-researcher": {
1994
+ "web-framework": [{ id: "web-framework-react" }],
1995
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
1996
+ "web-styling": [{ id: "web-styling-scss-modules" }],
1997
+ "web-client-state": [{ id: "web-state-zustand" }],
1998
+ "web-server-state": [{ id: "web-server-state-react-query" }],
1999
+ "web-testing": [{ id: "web-testing-vitest" }],
2000
+ "web-mocking": [{ id: "web-mocks-msw" }],
2001
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }]
2002
+ },
2003
+ "api-researcher": {
2004
+ "api-api": [{ id: "api-framework-hono" }],
2005
+ "api-orm": [{ id: "api-database-drizzle" }],
2006
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2007
+ "api-baas": [{ id: "api-baas-supabase" }],
2008
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2009
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2010
+ "api-email": [{ id: "api-email-resend-react-email" }],
2011
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2012
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
2013
+ },
2014
+ "agent-summoner": {
2015
+ "web-framework": [{ id: "web-framework-react" }],
2016
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2017
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2018
+ "web-client-state": [{ id: "web-state-zustand" }],
2019
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2020
+ "web-testing": [{ id: "web-testing-vitest" }],
2021
+ "web-mocking": [{ id: "web-mocks-msw" }],
2022
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2023
+ "api-api": [{ id: "api-framework-hono" }],
2024
+ "api-orm": [{ id: "api-database-drizzle" }],
2025
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2026
+ "api-baas": [{ id: "api-baas-supabase" }],
2027
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2028
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2029
+ "api-email": [{ id: "api-email-resend-react-email" }],
2030
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2031
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2032
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2033
+ },
2034
+ "skill-summoner": {
2035
+ "web-framework": [{ id: "web-framework-react" }],
2036
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2037
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2038
+ "web-client-state": [{ id: "web-state-zustand" }],
2039
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2040
+ "web-testing": [{ id: "web-testing-vitest" }],
2041
+ "web-mocking": [{ id: "web-mocks-msw" }],
2042
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2043
+ "api-api": [{ id: "api-framework-hono" }],
2044
+ "api-orm": [{ id: "api-database-drizzle" }],
2045
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2046
+ "api-baas": [{ id: "api-baas-supabase" }],
2047
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2048
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2049
+ "api-email": [{ id: "api-email-resend-react-email" }],
2050
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2051
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2052
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2053
+ },
2054
+ "codex-keeper": {
2055
+ "web-framework": [{ id: "web-framework-react" }],
2056
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2057
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2058
+ "web-client-state": [{ id: "web-state-zustand" }],
2059
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2060
+ "web-testing": [{ id: "web-testing-vitest" }],
2061
+ "web-mocking": [{ id: "web-mocks-msw" }],
2062
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2063
+ "api-api": [{ id: "api-framework-hono" }],
2064
+ "api-orm": [{ id: "api-database-drizzle" }],
2065
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2066
+ "api-baas": [{ id: "api-baas-supabase" }],
2067
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2068
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2069
+ "api-email": [{ id: "api-email-resend-react-email" }],
2070
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2071
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2072
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2073
+ },
2074
+ "cli-tester": {}
2075
+ }
2076
+ },
2077
+ {
2078
+ id: "nextjs-turborepo-fullstack",
2079
+ name: "Next.js Turborepo Full-Stack",
2080
+ description: "Turborepo, pnpm Workspaces, Hono, Drizzle",
2081
+ philosophy: "Monorepo architecture with Turborepo and pnpm",
2082
+ agents: {
2083
+ "web-developer": {
2084
+ "web-framework": [{ id: "web-framework-react" }],
2085
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2086
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2087
+ "web-client-state": [{ id: "web-state-zustand" }],
2088
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2089
+ "web-testing": [{ id: "web-testing-vitest" }],
2090
+ "web-mocking": [{ id: "web-mocks-msw" }],
2091
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2092
+ "shared-tooling": SHARED_TOOLING,
2093
+ "shared-lint": SHARED_LINT,
2094
+ "web-tooling": [{ id: "web-tooling-vite" }],
2095
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2096
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2097
+ },
2098
+ "api-developer": {
2099
+ "api-api": [{ id: "api-framework-hono" }],
2100
+ "api-orm": [{ id: "api-database-drizzle" }],
2101
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2102
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2103
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2104
+ "api-email": [{ id: "api-email-resend-react-email" }],
2105
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2106
+ "shared-tooling": SHARED_TOOLING,
2107
+ "shared-lint": SHARED_LINT,
2108
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2109
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2110
+ },
2111
+ "cli-developer": {
2112
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2113
+ "shared-tooling": SHARED_TOOLING,
2114
+ "shared-lint": SHARED_LINT,
2115
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2116
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2117
+ },
2118
+ reviewer: {
2119
+ "meta-reviewing": [
2120
+ { id: "meta-reviewing-reviewing" },
2121
+ { id: "meta-reviewing-cli-reviewing" }
2122
+ ],
2123
+ "web-framework": [{ id: "web-framework-react" }],
2124
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2125
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2126
+ "web-client-state": [{ id: "web-state-zustand" }],
2127
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2128
+ "web-testing": [{ id: "web-testing-vitest" }],
2129
+ "web-mocking": [{ id: "web-mocks-msw" }],
2130
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2131
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }],
2132
+ "api-api": [{ id: "api-framework-hono" }],
2133
+ "api-orm": [{ id: "api-database-drizzle" }],
2134
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2135
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2136
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
2137
+ },
2138
+ "web-tester": {
2139
+ "web-testing": [{ id: "web-testing-vitest" }],
2140
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
2141
+ "web-mocking": [{ id: "web-mocks-msw" }],
2142
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2143
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2144
+ },
2145
+ pm: {
2146
+ "web-framework": [{ id: "web-framework-react" }],
2147
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2148
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2149
+ "web-client-state": [{ id: "web-state-zustand" }],
2150
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2151
+ "web-testing": [{ id: "web-testing-vitest" }],
2152
+ "web-mocking": [{ id: "web-mocks-msw" }],
2153
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2154
+ "api-api": [{ id: "api-framework-hono" }],
2155
+ "api-orm": [{ id: "api-database-drizzle" }],
2156
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2157
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2158
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2159
+ "api-email": [{ id: "api-email-resend-react-email" }],
2160
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2161
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2162
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2163
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2164
+ },
2165
+ "web-researcher": {
2166
+ "web-framework": [{ id: "web-framework-react" }],
2167
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2168
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2169
+ "web-client-state": [{ id: "web-state-zustand" }],
2170
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2171
+ "web-testing": [{ id: "web-testing-vitest" }],
2172
+ "web-mocking": [{ id: "web-mocks-msw" }],
2173
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2174
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2175
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2176
+ },
2177
+ "api-researcher": {
2178
+ "api-api": [{ id: "api-framework-hono" }],
2179
+ "api-orm": [{ id: "api-database-drizzle" }],
2180
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2181
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2182
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2183
+ "api-email": [{ id: "api-email-resend-react-email" }],
2184
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2185
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2186
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2187
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2188
+ },
2189
+ "agent-summoner": {
2190
+ "web-framework": [{ id: "web-framework-react" }],
2191
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2192
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2193
+ "web-client-state": [{ id: "web-state-zustand" }],
2194
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2195
+ "web-testing": [{ id: "web-testing-vitest" }],
2196
+ "web-mocking": [{ id: "web-mocks-msw" }],
2197
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2198
+ "api-api": [{ id: "api-framework-hono" }],
2199
+ "api-orm": [{ id: "api-database-drizzle" }],
2200
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2201
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2202
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2203
+ "api-email": [{ id: "api-email-resend-react-email" }],
2204
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2205
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2206
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2207
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2208
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2209
+ },
2210
+ "skill-summoner": {
2211
+ "web-framework": [{ id: "web-framework-react" }],
2212
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2213
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2214
+ "web-client-state": [{ id: "web-state-zustand" }],
2215
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2216
+ "web-testing": [{ id: "web-testing-vitest" }],
2217
+ "web-mocking": [{ id: "web-mocks-msw" }],
2218
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2219
+ "api-api": [{ id: "api-framework-hono" }],
2220
+ "api-orm": [{ id: "api-database-drizzle" }],
2221
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2222
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2223
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2224
+ "api-email": [{ id: "api-email-resend-react-email" }],
2225
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2226
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2227
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2228
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2229
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2230
+ },
2231
+ "codex-keeper": {
2232
+ "web-framework": [{ id: "web-framework-react" }],
2233
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
2234
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2235
+ "web-client-state": [{ id: "web-state-zustand" }],
2236
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2237
+ "web-testing": [{ id: "web-testing-vitest" }],
2238
+ "web-mocking": [{ id: "web-mocks-msw" }],
2239
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2240
+ "api-api": [{ id: "api-framework-hono" }],
2241
+ "api-orm": [{ id: "api-database-drizzle" }],
2242
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2243
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2244
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2245
+ "api-email": [{ id: "api-email-resend-react-email" }],
2246
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2247
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2248
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2249
+ "shared-monorepo": [{ id: "shared-monorepo-pnpm-workspaces" }],
2250
+ "shared-task-runner": [{ id: "shared-monorepo-turborepo" }]
2251
+ },
2252
+ "cli-tester": {}
2253
+ }
2254
+ },
2255
+ {
2256
+ id: "react-old-school",
2257
+ name: "React Old School",
2258
+ description: "Redux Toolkit, SCSS Modules, Vite, Vitest",
2259
+ philosophy: "Classic React with proven patterns",
2260
+ agents: {
2261
+ "web-developer": {
2262
+ "web-framework": [{ id: "web-framework-react" }],
2263
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2264
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2265
+ "web-routing": [{ id: "web-routing-react-router" }],
2266
+ "web-testing": [{ id: "web-testing-vitest" }],
2267
+ "shared-tooling": SHARED_TOOLING,
2268
+ "shared-lint": SHARED_LINT,
2269
+ "web-tooling": [{ id: "web-tooling-vite" }]
2270
+ },
2271
+ reviewer: {
2272
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2273
+ "web-framework": [{ id: "web-framework-react" }],
2274
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2275
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2276
+ "web-routing": [{ id: "web-routing-react-router" }],
2277
+ "web-testing": [{ id: "web-testing-vitest" }]
2278
+ },
2279
+ pm: {
2280
+ "web-framework": [{ id: "web-framework-react" }],
2281
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2282
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2283
+ "web-routing": [{ id: "web-routing-react-router" }],
2284
+ "web-testing": [{ id: "web-testing-vitest" }]
2285
+ },
2286
+ "web-researcher": {
2287
+ "web-framework": [{ id: "web-framework-react" }],
2288
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2289
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2290
+ "web-routing": [{ id: "web-routing-react-router" }],
2291
+ "web-testing": [{ id: "web-testing-vitest" }]
2292
+ },
2293
+ "agent-summoner": {
2294
+ "web-framework": [{ id: "web-framework-react" }],
2295
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2296
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2297
+ "web-routing": [{ id: "web-routing-react-router" }],
2298
+ "web-testing": [{ id: "web-testing-vitest" }],
2299
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2300
+ },
2301
+ "skill-summoner": {
2302
+ "web-framework": [{ id: "web-framework-react" }],
2303
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2304
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2305
+ "web-routing": [{ id: "web-routing-react-router" }],
2306
+ "web-testing": [{ id: "web-testing-vitest" }],
2307
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2308
+ },
2309
+ "codex-keeper": {
2310
+ "web-framework": [{ id: "web-framework-react" }],
2311
+ "web-client-state": [{ id: "web-state-redux-toolkit" }],
2312
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2313
+ "web-routing": [{ id: "web-routing-react-router" }],
2314
+ "web-testing": [{ id: "web-testing-vitest" }],
2315
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2316
+ },
2317
+ "web-tester": {
2318
+ "web-testing": [{ id: "web-testing-vitest" }],
2319
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2320
+ }
2321
+ }
2322
+ },
2323
+ {
2324
+ id: "react-hono-fullstack",
2325
+ name: "React Hono Full-Stack",
2326
+ description: "Vite, Hono, Drizzle, Better Auth",
2327
+ philosophy: "React SPA with Hono backend",
2328
+ agents: {
2329
+ "web-developer": {
2330
+ "web-framework": [{ id: "web-framework-react" }],
2331
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2332
+ "web-client-state": [{ id: "web-state-zustand" }],
2333
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2334
+ "web-testing": [{ id: "web-testing-vitest" }],
2335
+ "web-mocking": [{ id: "web-mocks-msw" }],
2336
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2337
+ "shared-tooling": SHARED_TOOLING,
2338
+ "shared-lint": SHARED_LINT,
2339
+ "web-tooling": [{ id: "web-tooling-vite" }]
2340
+ },
2341
+ "api-developer": {
2342
+ "api-api": [{ id: "api-framework-hono" }],
2343
+ "api-orm": [{ id: "api-database-drizzle" }],
2344
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2345
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2346
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2347
+ "api-email": [{ id: "api-email-resend-react-email" }],
2348
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2349
+ "shared-tooling": SHARED_TOOLING,
2350
+ "shared-lint": SHARED_LINT
2351
+ },
2352
+ "cli-developer": {
2353
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2354
+ "shared-tooling": SHARED_TOOLING,
2355
+ "shared-lint": SHARED_LINT
2356
+ },
2357
+ reviewer: {
2358
+ "meta-reviewing": [
2359
+ { id: "meta-reviewing-reviewing" },
2360
+ { id: "meta-reviewing-cli-reviewing" }
2361
+ ],
2362
+ "web-framework": [{ id: "web-framework-react" }],
2363
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2364
+ "web-client-state": [{ id: "web-state-zustand" }],
2365
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2366
+ "web-testing": [{ id: "web-testing-vitest" }],
2367
+ "web-mocking": [{ id: "web-mocks-msw" }],
2368
+ "api-api": [{ id: "api-framework-hono" }],
2369
+ "api-orm": [{ id: "api-database-drizzle" }],
2370
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2371
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2372
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
2373
+ },
2374
+ "web-tester": {
2375
+ "web-testing": [{ id: "web-testing-vitest" }],
2376
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
2377
+ "web-mocking": [{ id: "web-mocks-msw" }]
2378
+ },
2379
+ pm: {
2380
+ "web-framework": [{ id: "web-framework-react" }],
2381
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2382
+ "web-client-state": [{ id: "web-state-zustand" }],
2383
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2384
+ "web-testing": [{ id: "web-testing-vitest" }],
2385
+ "web-mocking": [{ id: "web-mocks-msw" }],
2386
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2387
+ "api-api": [{ id: "api-framework-hono" }],
2388
+ "api-orm": [{ id: "api-database-drizzle" }],
2389
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2390
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2391
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2392
+ "api-email": [{ id: "api-email-resend-react-email" }],
2393
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2394
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
2395
+ },
2396
+ "web-researcher": {
2397
+ "web-framework": [{ id: "web-framework-react" }],
2398
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2399
+ "web-client-state": [{ id: "web-state-zustand" }],
2400
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2401
+ "web-testing": [{ id: "web-testing-vitest" }],
2402
+ "web-mocking": [{ id: "web-mocks-msw" }],
2403
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }]
2404
+ },
2405
+ "api-researcher": {
2406
+ "api-api": [{ id: "api-framework-hono" }],
2407
+ "api-orm": [{ id: "api-database-drizzle" }],
2408
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2409
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2410
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2411
+ "api-email": [{ id: "api-email-resend-react-email" }],
2412
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2413
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
2414
+ },
2415
+ "agent-summoner": {
2416
+ "web-framework": [{ id: "web-framework-react" }],
2417
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2418
+ "web-client-state": [{ id: "web-state-zustand" }],
2419
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2420
+ "web-testing": [{ id: "web-testing-vitest" }],
2421
+ "web-mocking": [{ id: "web-mocks-msw" }],
2422
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2423
+ "api-api": [{ id: "api-framework-hono" }],
2424
+ "api-orm": [{ id: "api-database-drizzle" }],
2425
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2426
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2427
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2428
+ "api-email": [{ id: "api-email-resend-react-email" }],
2429
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2430
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2431
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2432
+ },
2433
+ "skill-summoner": {
2434
+ "web-framework": [{ id: "web-framework-react" }],
2435
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2436
+ "web-client-state": [{ id: "web-state-zustand" }],
2437
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2438
+ "web-testing": [{ id: "web-testing-vitest" }],
2439
+ "web-mocking": [{ id: "web-mocks-msw" }],
2440
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2441
+ "api-api": [{ id: "api-framework-hono" }],
2442
+ "api-orm": [{ id: "api-database-drizzle" }],
2443
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2444
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2445
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2446
+ "api-email": [{ id: "api-email-resend-react-email" }],
2447
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2448
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2449
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2450
+ },
2451
+ "codex-keeper": {
2452
+ "web-framework": [{ id: "web-framework-react" }],
2453
+ "web-styling": [{ id: "web-styling-scss-modules" }],
2454
+ "web-client-state": [{ id: "web-state-zustand" }],
2455
+ "web-server-state": [{ id: "web-server-state-react-query" }],
2456
+ "web-testing": [{ id: "web-testing-vitest" }],
2457
+ "web-mocking": [{ id: "web-mocks-msw" }],
2458
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
2459
+ "api-api": [{ id: "api-framework-hono" }],
2460
+ "api-orm": [{ id: "api-database-drizzle" }],
2461
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2462
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2463
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
2464
+ "api-email": [{ id: "api-email-resend-react-email" }],
2465
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
2466
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
2467
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2468
+ },
2469
+ "cli-tester": {}
2470
+ }
2471
+ },
2472
+ {
2473
+ id: "remix-fullstack",
2474
+ name: "Remix Full-Stack",
2475
+ description: "Hono, Drizzle, Better Auth",
2476
+ philosophy: "Web standards and excellent forms handling",
2477
+ agents: {
2478
+ "web-developer": {
2479
+ "web-framework": [{ id: "web-framework-react" }],
2480
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2481
+ "web-testing": [{ id: "web-testing-vitest" }],
2482
+ "shared-tooling": SHARED_TOOLING,
2483
+ "shared-lint": SHARED_LINT,
2484
+ "web-tooling": [{ id: "web-tooling-vite" }]
2485
+ },
2486
+ "api-developer": {
2487
+ "api-api": [{ id: "api-framework-hono" }],
2488
+ "api-orm": [{ id: "api-database-drizzle" }],
2489
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2490
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2491
+ "shared-tooling": SHARED_TOOLING,
2492
+ "shared-lint": SHARED_LINT
2493
+ },
2494
+ reviewer: {
2495
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2496
+ "web-framework": [{ id: "web-framework-react" }],
2497
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2498
+ "web-testing": [{ id: "web-testing-vitest" }],
2499
+ "api-api": [{ id: "api-framework-hono" }],
2500
+ "api-orm": [{ id: "api-database-drizzle" }],
2501
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2502
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2503
+ },
2504
+ pm: {
2505
+ "web-framework": [{ id: "web-framework-react" }],
2506
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2507
+ "web-testing": [{ id: "web-testing-vitest" }],
2508
+ "api-api": [{ id: "api-framework-hono" }],
2509
+ "api-orm": [{ id: "api-database-drizzle" }],
2510
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2511
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2512
+ },
2513
+ "web-researcher": {
2514
+ "web-framework": [{ id: "web-framework-react" }],
2515
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2516
+ "web-testing": [{ id: "web-testing-vitest" }]
2517
+ },
2518
+ "api-researcher": {
2519
+ "api-api": [{ id: "api-framework-hono" }],
2520
+ "api-orm": [{ id: "api-database-drizzle" }],
2521
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2522
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2523
+ },
2524
+ "agent-summoner": {
2525
+ "web-framework": [{ id: "web-framework-react" }],
2526
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2527
+ "web-testing": [{ id: "web-testing-vitest" }],
2528
+ "api-api": [{ id: "api-framework-hono" }],
2529
+ "api-orm": [{ id: "api-database-drizzle" }],
2530
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2531
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2532
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2533
+ },
2534
+ "skill-summoner": {
2535
+ "web-framework": [{ id: "web-framework-react" }],
2536
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2537
+ "web-testing": [{ id: "web-testing-vitest" }],
2538
+ "api-api": [{ id: "api-framework-hono" }],
2539
+ "api-orm": [{ id: "api-database-drizzle" }],
2540
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2541
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2542
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2543
+ },
2544
+ "codex-keeper": {
2545
+ "web-framework": [{ id: "web-framework-react" }],
2546
+ "web-meta-framework": [{ id: "web-meta-framework-remix" }],
2547
+ "web-testing": [{ id: "web-testing-vitest" }],
2548
+ "api-api": [{ id: "api-framework-hono" }],
2549
+ "api-orm": [{ id: "api-database-drizzle" }],
2550
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2551
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2552
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2553
+ },
2554
+ "web-tester": {
2555
+ "web-testing": [{ id: "web-testing-vitest" }],
2556
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2557
+ }
2558
+ }
2559
+ },
2560
+ {
2561
+ id: "sveltekit-fullstack",
2562
+ name: "SvelteKit Full-Stack",
2563
+ description: "Hono, Drizzle, Better Auth",
2564
+ philosophy: "Write less, do more with compiler magic",
2565
+ agents: {
2566
+ "web-developer": {
2567
+ "web-framework": [{ id: "web-framework-svelte" }],
2568
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2569
+ "web-testing": [{ id: "web-testing-vitest" }],
2570
+ "shared-tooling": SHARED_TOOLING,
2571
+ "shared-lint": SHARED_LINT,
2572
+ "web-tooling": [{ id: "web-tooling-vite" }]
2573
+ },
2574
+ "api-developer": {
2575
+ "api-api": [{ id: "api-framework-hono" }],
2576
+ "api-orm": [{ id: "api-database-drizzle" }],
2577
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2578
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2579
+ "shared-tooling": SHARED_TOOLING,
2580
+ "shared-lint": SHARED_LINT
2581
+ },
2582
+ reviewer: {
2583
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2584
+ "web-framework": [{ id: "web-framework-svelte" }],
2585
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2586
+ "web-testing": [{ id: "web-testing-vitest" }],
2587
+ "api-api": [{ id: "api-framework-hono" }],
2588
+ "api-orm": [{ id: "api-database-drizzle" }],
2589
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2590
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2591
+ },
2592
+ pm: {
2593
+ "web-framework": [{ id: "web-framework-svelte" }],
2594
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2595
+ "web-testing": [{ id: "web-testing-vitest" }],
2596
+ "api-api": [{ id: "api-framework-hono" }],
2597
+ "api-orm": [{ id: "api-database-drizzle" }],
2598
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2599
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2600
+ },
2601
+ "web-researcher": {
2602
+ "web-framework": [{ id: "web-framework-svelte" }],
2603
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2604
+ "web-testing": [{ id: "web-testing-vitest" }]
2605
+ },
2606
+ "api-researcher": {
2607
+ "api-api": [{ id: "api-framework-hono" }],
2608
+ "api-orm": [{ id: "api-database-drizzle" }],
2609
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2610
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2611
+ },
2612
+ "agent-summoner": {
2613
+ "web-framework": [{ id: "web-framework-svelte" }],
2614
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2615
+ "web-testing": [{ id: "web-testing-vitest" }],
2616
+ "api-api": [{ id: "api-framework-hono" }],
2617
+ "api-orm": [{ id: "api-database-drizzle" }],
2618
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2619
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2620
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2621
+ },
2622
+ "skill-summoner": {
2623
+ "web-framework": [{ id: "web-framework-svelte" }],
2624
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2625
+ "web-testing": [{ id: "web-testing-vitest" }],
2626
+ "api-api": [{ id: "api-framework-hono" }],
2627
+ "api-orm": [{ id: "api-database-drizzle" }],
2628
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2629
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2630
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2631
+ },
2632
+ "codex-keeper": {
2633
+ "web-framework": [{ id: "web-framework-svelte" }],
2634
+ "web-meta-framework": [{ id: "web-meta-framework-sveltekit" }],
2635
+ "web-testing": [{ id: "web-testing-vitest" }],
2636
+ "api-api": [{ id: "api-framework-hono" }],
2637
+ "api-orm": [{ id: "api-database-drizzle" }],
2638
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2639
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2640
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2641
+ },
2642
+ "web-tester": {
2643
+ "web-testing": [{ id: "web-testing-vitest" }],
2644
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2645
+ }
2646
+ }
2647
+ },
2648
+ {
2649
+ id: "solidjs-fullstack",
2650
+ name: "SolidJS Full-Stack",
2651
+ description: "Hono, Drizzle, Better Auth, Vitest",
2652
+ philosophy: "Maximum performance with minimal overhead",
2653
+ agents: {
2654
+ "web-developer": {
2655
+ "web-framework": [{ id: "web-framework-solidjs" }],
2656
+ "web-testing": [{ id: "web-testing-vitest" }],
2657
+ "shared-tooling": SHARED_TOOLING,
2658
+ "shared-lint": SHARED_LINT,
2659
+ "web-tooling": [{ id: "web-tooling-vite" }]
2660
+ },
2661
+ "api-developer": {
2662
+ "api-api": [{ id: "api-framework-hono" }],
2663
+ "api-orm": [{ id: "api-database-drizzle" }],
2664
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2665
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2666
+ "shared-tooling": SHARED_TOOLING,
2667
+ "shared-lint": SHARED_LINT
2668
+ },
2669
+ reviewer: {
2670
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2671
+ "web-framework": [{ id: "web-framework-solidjs" }],
2672
+ "web-testing": [{ id: "web-testing-vitest" }],
2673
+ "api-api": [{ id: "api-framework-hono" }],
2674
+ "api-orm": [{ id: "api-database-drizzle" }],
2675
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2676
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2677
+ },
2678
+ pm: {
2679
+ "web-framework": [{ id: "web-framework-solidjs" }],
2680
+ "web-testing": [{ id: "web-testing-vitest" }],
2681
+ "api-api": [{ id: "api-framework-hono" }],
2682
+ "api-orm": [{ id: "api-database-drizzle" }],
2683
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2684
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2685
+ },
2686
+ "web-researcher": {
2687
+ "web-framework": [{ id: "web-framework-solidjs" }],
2688
+ "web-testing": [{ id: "web-testing-vitest" }]
2689
+ },
2690
+ "api-researcher": {
2691
+ "api-api": [{ id: "api-framework-hono" }],
2692
+ "api-orm": [{ id: "api-database-drizzle" }],
2693
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2694
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2695
+ },
2696
+ "agent-summoner": {
2697
+ "web-framework": [{ id: "web-framework-solidjs" }],
2698
+ "web-testing": [{ id: "web-testing-vitest" }],
2699
+ "api-api": [{ id: "api-framework-hono" }],
2700
+ "api-orm": [{ id: "api-database-drizzle" }],
2701
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2702
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2703
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2704
+ },
2705
+ "skill-summoner": {
2706
+ "web-framework": [{ id: "web-framework-solidjs" }],
2707
+ "web-testing": [{ id: "web-testing-vitest" }],
2708
+ "api-api": [{ id: "api-framework-hono" }],
2709
+ "api-orm": [{ id: "api-database-drizzle" }],
2710
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2711
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2712
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2713
+ },
2714
+ "codex-keeper": {
2715
+ "web-framework": [{ id: "web-framework-solidjs" }],
2716
+ "web-testing": [{ id: "web-testing-vitest" }],
2717
+ "api-api": [{ id: "api-framework-hono" }],
2718
+ "api-orm": [{ id: "api-database-drizzle" }],
2719
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2720
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2721
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2722
+ },
2723
+ "web-tester": {
2724
+ "web-testing": [{ id: "web-testing-vitest" }],
2725
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2726
+ }
2727
+ }
2728
+ },
2729
+ {
2730
+ id: "astro-content-fullstack",
2731
+ name: "Astro Content Full-Stack",
2732
+ description: "Hono, Drizzle",
2733
+ philosophy: "Ship less JavaScript, faster by default",
2734
+ agents: {
2735
+ "web-developer": {
2736
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2737
+ "web-testing": [{ id: "web-testing-vitest" }],
2738
+ "shared-tooling": SHARED_TOOLING,
2739
+ "shared-lint": SHARED_LINT,
2740
+ "web-tooling": [{ id: "web-tooling-vite" }]
2741
+ },
2742
+ "api-developer": {
2743
+ "api-api": [{ id: "api-framework-hono" }],
2744
+ "api-orm": [{ id: "api-database-drizzle" }],
2745
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2746
+ "api-cms": [{ id: "api-cms-sanity" }],
2747
+ "shared-tooling": SHARED_TOOLING,
2748
+ "shared-lint": SHARED_LINT
2749
+ },
2750
+ reviewer: {
2751
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2752
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2753
+ "web-testing": [{ id: "web-testing-vitest" }],
2754
+ "api-api": [{ id: "api-framework-hono" }],
2755
+ "api-orm": [{ id: "api-database-drizzle" }],
2756
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2757
+ "api-cms": [{ id: "api-cms-sanity" }]
2758
+ },
2759
+ pm: {
2760
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2761
+ "web-testing": [{ id: "web-testing-vitest" }],
2762
+ "api-api": [{ id: "api-framework-hono" }],
2763
+ "api-orm": [{ id: "api-database-drizzle" }],
2764
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2765
+ "api-cms": [{ id: "api-cms-sanity" }]
2766
+ },
2767
+ "web-researcher": {
2768
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2769
+ "web-testing": [{ id: "web-testing-vitest" }]
2770
+ },
2771
+ "api-researcher": {
2772
+ "api-api": [{ id: "api-framework-hono" }],
2773
+ "api-orm": [{ id: "api-database-drizzle" }],
2774
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2775
+ "api-cms": [{ id: "api-cms-sanity" }]
2776
+ },
2777
+ "agent-summoner": {
2778
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2779
+ "web-testing": [{ id: "web-testing-vitest" }],
2780
+ "api-api": [{ id: "api-framework-hono" }],
2781
+ "api-orm": [{ id: "api-database-drizzle" }],
2782
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2783
+ "api-cms": [{ id: "api-cms-sanity" }],
2784
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2785
+ },
2786
+ "skill-summoner": {
2787
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2788
+ "web-testing": [{ id: "web-testing-vitest" }],
2789
+ "api-api": [{ id: "api-framework-hono" }],
2790
+ "api-orm": [{ id: "api-database-drizzle" }],
2791
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2792
+ "api-cms": [{ id: "api-cms-sanity" }],
2793
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2794
+ },
2795
+ "codex-keeper": {
2796
+ "web-meta-framework": [{ id: "web-meta-framework-astro" }],
2797
+ "web-testing": [{ id: "web-testing-vitest" }],
2798
+ "api-api": [{ id: "api-framework-hono" }],
2799
+ "api-orm": [{ id: "api-database-drizzle" }],
2800
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2801
+ "api-cms": [{ id: "api-cms-sanity" }],
2802
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2803
+ },
2804
+ "web-tester": {
2805
+ "web-testing": [{ id: "web-testing-vitest" }],
2806
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2807
+ }
2808
+ }
2809
+ },
2810
+ {
2811
+ id: "vue-modern-fullstack",
2812
+ name: "Vue Modern Full-Stack",
2813
+ description: "Pinia, Hono, Drizzle, Better Auth",
2814
+ philosophy: "Progressive and approachable",
2815
+ agents: {
2816
+ "web-developer": {
2817
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2818
+ "web-client-state": [{ id: "web-state-pinia" }],
2819
+ "web-testing": [{ id: "web-testing-vitest" }],
2820
+ "shared-tooling": SHARED_TOOLING,
2821
+ "shared-lint": SHARED_LINT,
2822
+ "web-tooling": [{ id: "web-tooling-vite" }]
2823
+ },
2824
+ "api-developer": {
2825
+ "api-api": [{ id: "api-framework-hono" }],
2826
+ "api-orm": [{ id: "api-database-drizzle" }],
2827
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2828
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2829
+ "shared-tooling": SHARED_TOOLING,
2830
+ "shared-lint": SHARED_LINT
2831
+ },
2832
+ reviewer: {
2833
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2834
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2835
+ "web-client-state": [{ id: "web-state-pinia" }],
2836
+ "web-testing": [{ id: "web-testing-vitest" }],
2837
+ "api-api": [{ id: "api-framework-hono" }],
2838
+ "api-orm": [{ id: "api-database-drizzle" }],
2839
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2840
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2841
+ },
2842
+ pm: {
2843
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2844
+ "web-client-state": [{ id: "web-state-pinia" }],
2845
+ "web-testing": [{ id: "web-testing-vitest" }],
2846
+ "api-api": [{ id: "api-framework-hono" }],
2847
+ "api-orm": [{ id: "api-database-drizzle" }],
2848
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2849
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2850
+ },
2851
+ "web-researcher": {
2852
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2853
+ "web-client-state": [{ id: "web-state-pinia" }],
2854
+ "web-testing": [{ id: "web-testing-vitest" }]
2855
+ },
2856
+ "api-researcher": {
2857
+ "api-api": [{ id: "api-framework-hono" }],
2858
+ "api-orm": [{ id: "api-database-drizzle" }],
2859
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2860
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2861
+ },
2862
+ "agent-summoner": {
2863
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2864
+ "web-client-state": [{ id: "web-state-pinia" }],
2865
+ "web-testing": [{ id: "web-testing-vitest" }],
2866
+ "api-api": [{ id: "api-framework-hono" }],
2867
+ "api-orm": [{ id: "api-database-drizzle" }],
2868
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2869
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2870
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2871
+ },
2872
+ "skill-summoner": {
2873
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2874
+ "web-client-state": [{ id: "web-state-pinia" }],
2875
+ "web-testing": [{ id: "web-testing-vitest" }],
2876
+ "api-api": [{ id: "api-framework-hono" }],
2877
+ "api-orm": [{ id: "api-database-drizzle" }],
2878
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2879
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2880
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2881
+ },
2882
+ "codex-keeper": {
2883
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2884
+ "web-client-state": [{ id: "web-state-pinia" }],
2885
+ "web-testing": [{ id: "web-testing-vitest" }],
2886
+ "api-api": [{ id: "api-framework-hono" }],
2887
+ "api-orm": [{ id: "api-database-drizzle" }],
2888
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2889
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2890
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2891
+ },
2892
+ "web-tester": {
2893
+ "web-testing": [{ id: "web-testing-vitest" }],
2894
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2895
+ }
2896
+ }
2897
+ },
2898
+ {
2899
+ id: "nuxt-fullstack",
2900
+ name: "Nuxt Full-Stack",
2901
+ description: "Hono, Drizzle, Better Auth",
2902
+ philosophy: "Progressive Vue with Nuxt power",
2903
+ agents: {
2904
+ "web-developer": {
2905
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2906
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2907
+ "web-client-state": [{ id: "web-state-pinia" }],
2908
+ "web-testing": [{ id: "web-testing-vitest" }],
2909
+ "shared-tooling": SHARED_TOOLING,
2910
+ "shared-lint": SHARED_LINT,
2911
+ "web-tooling": [{ id: "web-tooling-vite" }]
2912
+ },
2913
+ "api-developer": {
2914
+ "api-api": [{ id: "api-framework-hono" }],
2915
+ "api-orm": [{ id: "api-database-drizzle" }],
2916
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2917
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2918
+ "shared-tooling": SHARED_TOOLING,
2919
+ "shared-lint": SHARED_LINT
2920
+ },
2921
+ reviewer: {
2922
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
2923
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2924
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2925
+ "web-client-state": [{ id: "web-state-pinia" }],
2926
+ "web-testing": [{ id: "web-testing-vitest" }],
2927
+ "api-api": [{ id: "api-framework-hono" }],
2928
+ "api-orm": [{ id: "api-database-drizzle" }],
2929
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2930
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2931
+ },
2932
+ pm: {
2933
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2934
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2935
+ "web-client-state": [{ id: "web-state-pinia" }],
2936
+ "web-testing": [{ id: "web-testing-vitest" }],
2937
+ "api-api": [{ id: "api-framework-hono" }],
2938
+ "api-orm": [{ id: "api-database-drizzle" }],
2939
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2940
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2941
+ },
2942
+ "web-researcher": {
2943
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2944
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2945
+ "web-client-state": [{ id: "web-state-pinia" }],
2946
+ "web-testing": [{ id: "web-testing-vitest" }]
2947
+ },
2948
+ "api-researcher": {
2949
+ "api-api": [{ id: "api-framework-hono" }],
2950
+ "api-orm": [{ id: "api-database-drizzle" }],
2951
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2952
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
2953
+ },
2954
+ "agent-summoner": {
2955
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2956
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2957
+ "web-client-state": [{ id: "web-state-pinia" }],
2958
+ "web-testing": [{ id: "web-testing-vitest" }],
2959
+ "api-api": [{ id: "api-framework-hono" }],
2960
+ "api-orm": [{ id: "api-database-drizzle" }],
2961
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2962
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2963
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2964
+ },
2965
+ "skill-summoner": {
2966
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2967
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2968
+ "web-client-state": [{ id: "web-state-pinia" }],
2969
+ "web-testing": [{ id: "web-testing-vitest" }],
2970
+ "api-api": [{ id: "api-framework-hono" }],
2971
+ "api-orm": [{ id: "api-database-drizzle" }],
2972
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2973
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2974
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2975
+ },
2976
+ "codex-keeper": {
2977
+ "web-framework": [{ id: "web-framework-vue-composition-api" }],
2978
+ "web-meta-framework": [{ id: "web-meta-framework-nuxt" }],
2979
+ "web-client-state": [{ id: "web-state-pinia" }],
2980
+ "web-testing": [{ id: "web-testing-vitest" }],
2981
+ "api-api": [{ id: "api-framework-hono" }],
2982
+ "api-orm": [{ id: "api-database-drizzle" }],
2983
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
2984
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
2985
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
2986
+ },
2987
+ "web-tester": {
2988
+ "web-testing": [{ id: "web-testing-vitest" }],
2989
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
2990
+ }
2991
+ }
2992
+ },
2993
+ {
2994
+ id: "angular-modern-fullstack",
2995
+ name: "Angular Modern Full-Stack",
2996
+ description: "NgRx, Hono, Drizzle, Better Auth",
2997
+ philosophy: "Enterprise-grade and type-safe",
2998
+ agents: {
2999
+ "web-developer": {
3000
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3001
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3002
+ "web-testing": [{ id: "web-testing-vitest" }],
3003
+ "shared-tooling": SHARED_TOOLING,
3004
+ "shared-lint": SHARED_LINT,
3005
+ "web-tooling": [{ id: "web-tooling-vite" }]
3006
+ },
3007
+ "api-developer": {
3008
+ "api-api": [{ id: "api-framework-hono" }],
3009
+ "api-orm": [{ id: "api-database-drizzle" }],
3010
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3011
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3012
+ "shared-tooling": SHARED_TOOLING,
3013
+ "shared-lint": SHARED_LINT
3014
+ },
3015
+ reviewer: {
3016
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3017
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3018
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3019
+ "web-testing": [{ id: "web-testing-vitest" }],
3020
+ "api-api": [{ id: "api-framework-hono" }],
3021
+ "api-orm": [{ id: "api-database-drizzle" }],
3022
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3023
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
3024
+ },
3025
+ pm: {
3026
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3027
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3028
+ "web-testing": [{ id: "web-testing-vitest" }],
3029
+ "api-api": [{ id: "api-framework-hono" }],
3030
+ "api-orm": [{ id: "api-database-drizzle" }],
3031
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3032
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
3033
+ },
3034
+ "web-researcher": {
3035
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3036
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3037
+ "web-testing": [{ id: "web-testing-vitest" }]
3038
+ },
3039
+ "api-researcher": {
3040
+ "api-api": [{ id: "api-framework-hono" }],
3041
+ "api-orm": [{ id: "api-database-drizzle" }],
3042
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3043
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }]
3044
+ },
3045
+ "agent-summoner": {
3046
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3047
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3048
+ "web-testing": [{ id: "web-testing-vitest" }],
3049
+ "api-api": [{ id: "api-framework-hono" }],
3050
+ "api-orm": [{ id: "api-database-drizzle" }],
3051
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3052
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3053
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3054
+ },
3055
+ "skill-summoner": {
3056
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3057
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3058
+ "web-testing": [{ id: "web-testing-vitest" }],
3059
+ "api-api": [{ id: "api-framework-hono" }],
3060
+ "api-orm": [{ id: "api-database-drizzle" }],
3061
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3062
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3063
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3064
+ },
3065
+ "codex-keeper": {
3066
+ "web-framework": [{ id: "web-framework-angular-standalone" }],
3067
+ "web-client-state": [{ id: "web-state-ngrx-signalstore" }],
3068
+ "web-testing": [{ id: "web-testing-vitest" }],
3069
+ "api-api": [{ id: "api-framework-hono" }],
3070
+ "api-orm": [{ id: "api-database-drizzle" }],
3071
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3072
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3073
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3074
+ },
3075
+ "web-tester": {
3076
+ "web-testing": [{ id: "web-testing-vitest" }],
3077
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }]
3078
+ }
3079
+ }
3080
+ },
3081
+ {
3082
+ id: "nextjs-ai-saas",
3083
+ name: "Next.js AI SaaS",
3084
+ description: "Vercel AI, Anthropic, Drizzle, Pinecone",
3085
+ philosophy: "AI-first full-stack with streaming and tool use",
3086
+ agents: {
3087
+ "web-developer": {
3088
+ "web-framework": [{ id: "web-framework-react" }],
3089
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3090
+ "web-styling": [{ id: "web-styling-tailwind" }],
3091
+ "web-client-state": [{ id: "web-state-zustand" }],
3092
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3093
+ "web-testing": [{ id: "web-testing-vitest" }],
3094
+ "web-mocking": [{ id: "web-mocks-msw" }],
3095
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3096
+ "shared-tooling": SHARED_TOOLING,
3097
+ "shared-lint": SHARED_LINT,
3098
+ "web-tooling": [{ id: "web-tooling-vite" }]
3099
+ },
3100
+ "api-developer": {
3101
+ "api-api": [{ id: "api-framework-hono" }],
3102
+ "api-orm": [{ id: "api-database-drizzle" }],
3103
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3104
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3105
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3106
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3107
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3108
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3109
+ "api-email": [{ id: "api-email-resend-react-email" }],
3110
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3111
+ "shared-tooling": SHARED_TOOLING,
3112
+ "shared-lint": SHARED_LINT
3113
+ },
3114
+ "cli-developer": {
3115
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3116
+ "shared-tooling": SHARED_TOOLING,
3117
+ "shared-lint": SHARED_LINT
3118
+ },
3119
+ reviewer: {
3120
+ "meta-reviewing": [
3121
+ { id: "meta-reviewing-reviewing" },
3122
+ { id: "meta-reviewing-cli-reviewing" }
3123
+ ],
3124
+ "web-framework": [{ id: "web-framework-react" }],
3125
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3126
+ "web-styling": [{ id: "web-styling-tailwind" }],
3127
+ "web-client-state": [{ id: "web-state-zustand" }],
3128
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3129
+ "web-testing": [{ id: "web-testing-vitest" }],
3130
+ "web-mocking": [{ id: "web-mocks-msw" }],
3131
+ "api-api": [{ id: "api-framework-hono" }],
3132
+ "api-orm": [{ id: "api-database-drizzle" }],
3133
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3134
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3135
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3136
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3137
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3138
+ },
3139
+ "web-tester": {
3140
+ "web-testing": [{ id: "web-testing-vitest" }],
3141
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
3142
+ "web-mocking": [{ id: "web-mocks-msw" }]
3143
+ },
3144
+ pm: {
3145
+ "web-framework": [{ id: "web-framework-react" }],
3146
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3147
+ "web-styling": [{ id: "web-styling-tailwind" }],
3148
+ "web-client-state": [{ id: "web-state-zustand" }],
3149
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3150
+ "web-testing": [{ id: "web-testing-vitest" }],
3151
+ "web-mocking": [{ id: "web-mocks-msw" }],
3152
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3153
+ "api-api": [{ id: "api-framework-hono" }],
3154
+ "api-orm": [{ id: "api-database-drizzle" }],
3155
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3156
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3157
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3158
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3159
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3160
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3161
+ "api-email": [{ id: "api-email-resend-react-email" }],
3162
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3163
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3164
+ },
3165
+ "web-researcher": {
3166
+ "web-framework": [{ id: "web-framework-react" }],
3167
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3168
+ "web-styling": [{ id: "web-styling-tailwind" }],
3169
+ "web-client-state": [{ id: "web-state-zustand" }],
3170
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3171
+ "web-testing": [{ id: "web-testing-vitest" }],
3172
+ "web-mocking": [{ id: "web-mocks-msw" }],
3173
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }]
3174
+ },
3175
+ "api-researcher": {
3176
+ "api-api": [{ id: "api-framework-hono" }],
3177
+ "api-orm": [{ id: "api-database-drizzle" }],
3178
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3179
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3180
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3181
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3182
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3183
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3184
+ "api-email": [{ id: "api-email-resend-react-email" }],
3185
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3186
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3187
+ },
3188
+ "agent-summoner": {
3189
+ "web-framework": [{ id: "web-framework-react" }],
3190
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3191
+ "web-styling": [{ id: "web-styling-tailwind" }],
3192
+ "web-client-state": [{ id: "web-state-zustand" }],
3193
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3194
+ "web-testing": [{ id: "web-testing-vitest" }],
3195
+ "web-mocking": [{ id: "web-mocks-msw" }],
3196
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3197
+ "api-api": [{ id: "api-framework-hono" }],
3198
+ "api-orm": [{ id: "api-database-drizzle" }],
3199
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3200
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3201
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3202
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3203
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3204
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3205
+ "api-email": [{ id: "api-email-resend-react-email" }],
3206
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3207
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3208
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3209
+ },
3210
+ "skill-summoner": {
3211
+ "web-framework": [{ id: "web-framework-react" }],
3212
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3213
+ "web-styling": [{ id: "web-styling-tailwind" }],
3214
+ "web-client-state": [{ id: "web-state-zustand" }],
3215
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3216
+ "web-testing": [{ id: "web-testing-vitest" }],
3217
+ "web-mocking": [{ id: "web-mocks-msw" }],
3218
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3219
+ "api-api": [{ id: "api-framework-hono" }],
3220
+ "api-orm": [{ id: "api-database-drizzle" }],
3221
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3222
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3223
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3224
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3225
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3226
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3227
+ "api-email": [{ id: "api-email-resend-react-email" }],
3228
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3229
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3230
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3231
+ },
3232
+ "codex-keeper": {
3233
+ "web-framework": [{ id: "web-framework-react" }],
3234
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3235
+ "web-styling": [{ id: "web-styling-tailwind" }],
3236
+ "web-client-state": [{ id: "web-state-zustand" }],
3237
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3238
+ "web-testing": [{ id: "web-testing-vitest" }],
3239
+ "web-mocking": [{ id: "web-mocks-msw" }],
3240
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3241
+ "api-api": [{ id: "api-framework-hono" }],
3242
+ "api-orm": [{ id: "api-database-drizzle" }],
3243
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3244
+ "ai-orchestration": [{ id: "ai-orchestration-vercel-ai-sdk" }],
3245
+ "ai-provider": [{ id: "ai-provider-anthropic-sdk" }],
3246
+ "ai-patterns": [{ id: "ai-patterns-tool-use-patterns" }],
3247
+ "api-vector-db": [{ id: "api-vector-db-pinecone" }],
3248
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3249
+ "api-email": [{ id: "api-email-resend-react-email" }],
3250
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3251
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3252
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3253
+ },
3254
+ "cli-tester": {}
3255
+ }
3256
+ },
3257
+ {
3258
+ id: "nextjs-saas-starter",
3259
+ name: "Next.js SaaS Starter",
3260
+ description: "Better Auth, Stripe, Drizzle, Resend, PostHog",
3261
+ philosophy: "Ship your SaaS fast with auth, payments, and analytics",
3262
+ agents: {
3263
+ "web-developer": {
3264
+ "web-framework": [{ id: "web-framework-react" }],
3265
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3266
+ "web-styling": [{ id: "web-styling-tailwind" }],
3267
+ "web-client-state": [{ id: "web-state-zustand" }],
3268
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3269
+ "web-testing": [{ id: "web-testing-vitest" }],
3270
+ "web-mocking": [{ id: "web-mocks-msw" }],
3271
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3272
+ "shared-tooling": SHARED_TOOLING,
3273
+ "shared-lint": SHARED_LINT,
3274
+ "web-tooling": [{ id: "web-tooling-vite" }]
3275
+ },
3276
+ "api-developer": {
3277
+ "api-api": [{ id: "api-framework-hono" }],
3278
+ "api-orm": [{ id: "api-database-drizzle" }],
3279
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3280
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3281
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3282
+ "api-analytics": [
3283
+ { id: "api-analytics-posthog-analytics" },
3284
+ { id: "api-flags-posthog-flags" }
3285
+ ],
3286
+ "api-email": [{ id: "api-email-resend-react-email" }],
3287
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3288
+ "shared-tooling": SHARED_TOOLING,
3289
+ "shared-lint": SHARED_LINT
3290
+ },
3291
+ "cli-developer": {
3292
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3293
+ "shared-tooling": SHARED_TOOLING,
3294
+ "shared-lint": SHARED_LINT
3295
+ },
3296
+ reviewer: {
3297
+ "meta-reviewing": [
3298
+ { id: "meta-reviewing-reviewing" },
3299
+ { id: "meta-reviewing-cli-reviewing" }
3300
+ ],
3301
+ "web-framework": [{ id: "web-framework-react" }],
3302
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3303
+ "web-styling": [{ id: "web-styling-tailwind" }],
3304
+ "web-client-state": [{ id: "web-state-zustand" }],
3305
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3306
+ "web-testing": [{ id: "web-testing-vitest" }],
3307
+ "web-mocking": [{ id: "web-mocks-msw" }],
3308
+ "api-api": [{ id: "api-framework-hono" }],
3309
+ "api-orm": [{ id: "api-database-drizzle" }],
3310
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3311
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3312
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3313
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3314
+ },
3315
+ "web-tester": {
3316
+ "web-testing": [{ id: "web-testing-vitest" }],
3317
+ "web-e2e": [{ id: "web-testing-playwright-e2e" }],
3318
+ "web-mocking": [{ id: "web-mocks-msw" }]
3319
+ },
3320
+ pm: {
3321
+ "web-framework": [{ id: "web-framework-react" }],
3322
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3323
+ "web-styling": [{ id: "web-styling-tailwind" }],
3324
+ "web-client-state": [{ id: "web-state-zustand" }],
3325
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3326
+ "web-testing": [{ id: "web-testing-vitest" }],
3327
+ "web-mocking": [{ id: "web-mocks-msw" }],
3328
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3329
+ "api-api": [{ id: "api-framework-hono" }],
3330
+ "api-orm": [{ id: "api-database-drizzle" }],
3331
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3332
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3333
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3334
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
3335
+ "api-email": [{ id: "api-email-resend-react-email" }],
3336
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3337
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3338
+ },
3339
+ "web-researcher": {
3340
+ "web-framework": [{ id: "web-framework-react" }],
3341
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3342
+ "web-styling": [{ id: "web-styling-tailwind" }],
3343
+ "web-client-state": [{ id: "web-state-zustand" }],
3344
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3345
+ "web-testing": [{ id: "web-testing-vitest" }],
3346
+ "web-mocking": [{ id: "web-mocks-msw" }],
3347
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }]
3348
+ },
3349
+ "api-researcher": {
3350
+ "api-api": [{ id: "api-framework-hono" }],
3351
+ "api-orm": [{ id: "api-database-drizzle" }],
3352
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3353
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3354
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3355
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
3356
+ "api-email": [{ id: "api-email-resend-react-email" }],
3357
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3358
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3359
+ },
3360
+ "agent-summoner": {
3361
+ "web-framework": [{ id: "web-framework-react" }],
3362
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3363
+ "web-styling": [{ id: "web-styling-tailwind" }],
3364
+ "web-client-state": [{ id: "web-state-zustand" }],
3365
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3366
+ "web-testing": [{ id: "web-testing-vitest" }],
3367
+ "web-mocking": [{ id: "web-mocks-msw" }],
3368
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3369
+ "api-api": [{ id: "api-framework-hono" }],
3370
+ "api-orm": [{ id: "api-database-drizzle" }],
3371
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3372
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3373
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3374
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
3375
+ "api-email": [{ id: "api-email-resend-react-email" }],
3376
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3377
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3378
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3379
+ },
3380
+ "skill-summoner": {
3381
+ "web-framework": [{ id: "web-framework-react" }],
3382
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3383
+ "web-styling": [{ id: "web-styling-tailwind" }],
3384
+ "web-client-state": [{ id: "web-state-zustand" }],
3385
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3386
+ "web-testing": [{ id: "web-testing-vitest" }],
3387
+ "web-mocking": [{ id: "web-mocks-msw" }],
3388
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3389
+ "api-api": [{ id: "api-framework-hono" }],
3390
+ "api-orm": [{ id: "api-database-drizzle" }],
3391
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3392
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3393
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3394
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
3395
+ "api-email": [{ id: "api-email-resend-react-email" }],
3396
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3397
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3398
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3399
+ },
3400
+ "codex-keeper": {
3401
+ "web-framework": [{ id: "web-framework-react" }],
3402
+ "web-meta-framework": [{ id: "web-meta-framework-nextjs" }],
3403
+ "web-styling": [{ id: "web-styling-tailwind" }],
3404
+ "web-client-state": [{ id: "web-state-zustand" }],
3405
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3406
+ "web-testing": [{ id: "web-testing-vitest" }],
3407
+ "web-mocking": [{ id: "web-mocks-msw" }],
3408
+ "web-accessibility": [{ id: "web-accessibility-web-accessibility" }],
3409
+ "api-api": [{ id: "api-framework-hono" }],
3410
+ "api-orm": [{ id: "api-database-drizzle" }],
3411
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3412
+ "api-commerce": [{ id: "api-commerce-stripe" }],
3413
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3414
+ "api-analytics": [{ id: "api-analytics-posthog-analytics" }],
3415
+ "api-email": [{ id: "api-email-resend-react-email" }],
3416
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3417
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3418
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3419
+ },
3420
+ "cli-tester": {}
3421
+ }
3422
+ },
3423
+ {
3424
+ id: "expo-mobile-fullstack",
3425
+ name: "Expo Mobile Full-Stack",
3426
+ description: "Zustand, React Query, Hono, Drizzle",
3427
+ philosophy: "Cross-platform mobile with shared React patterns",
3428
+ agents: {
3429
+ "web-developer": {
3430
+ "web-framework": [{ id: "web-framework-react" }],
3431
+ "mobile-framework": [
3432
+ { id: "mobile-framework-expo" },
3433
+ { id: "mobile-framework-react-native" }
3434
+ ],
3435
+ "web-client-state": [{ id: "web-state-zustand" }],
3436
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3437
+ "web-testing": [{ id: "web-testing-vitest" }],
3438
+ "web-mocking": [{ id: "web-mocks-msw" }],
3439
+ "shared-tooling": SHARED_TOOLING,
3440
+ "shared-lint": SHARED_LINT
3441
+ },
3442
+ "api-developer": {
3443
+ "api-api": [{ id: "api-framework-hono" }],
3444
+ "api-orm": [{ id: "api-database-drizzle" }],
3445
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3446
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3447
+ "api-email": [{ id: "api-email-resend-react-email" }],
3448
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3449
+ "shared-tooling": SHARED_TOOLING,
3450
+ "shared-lint": SHARED_LINT
3451
+ },
3452
+ "cli-developer": {
3453
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3454
+ "shared-tooling": SHARED_TOOLING,
3455
+ "shared-lint": SHARED_LINT
3456
+ },
3457
+ reviewer: {
3458
+ "meta-reviewing": [
3459
+ { id: "meta-reviewing-reviewing" },
3460
+ { id: "meta-reviewing-cli-reviewing" }
3461
+ ],
3462
+ "web-framework": [{ id: "web-framework-react" }],
3463
+ "mobile-framework": [
3464
+ { id: "mobile-framework-expo" },
3465
+ { id: "mobile-framework-react-native" }
3466
+ ],
3467
+ "web-client-state": [{ id: "web-state-zustand" }],
3468
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3469
+ "web-testing": [{ id: "web-testing-vitest" }],
3470
+ "web-mocking": [{ id: "web-mocks-msw" }],
3471
+ "api-api": [{ id: "api-framework-hono" }],
3472
+ "api-orm": [{ id: "api-database-drizzle" }],
3473
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3474
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3475
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3476
+ },
3477
+ "web-tester": {
3478
+ "web-testing": [{ id: "web-testing-vitest" }],
3479
+ "web-mocking": [{ id: "web-mocks-msw" }]
3480
+ },
3481
+ pm: {
3482
+ "web-framework": [{ id: "web-framework-react" }],
3483
+ "mobile-framework": [
3484
+ { id: "mobile-framework-expo" },
3485
+ { id: "mobile-framework-react-native" }
3486
+ ],
3487
+ "web-client-state": [{ id: "web-state-zustand" }],
3488
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3489
+ "web-testing": [{ id: "web-testing-vitest" }],
3490
+ "web-mocking": [{ id: "web-mocks-msw" }],
3491
+ "api-api": [{ id: "api-framework-hono" }],
3492
+ "api-orm": [{ id: "api-database-drizzle" }],
3493
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3494
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3495
+ "api-email": [{ id: "api-email-resend-react-email" }],
3496
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3497
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3498
+ },
3499
+ "web-researcher": {
3500
+ "web-framework": [{ id: "web-framework-react" }],
3501
+ "mobile-framework": [
3502
+ { id: "mobile-framework-expo" },
3503
+ { id: "mobile-framework-react-native" }
3504
+ ],
3505
+ "web-client-state": [{ id: "web-state-zustand" }],
3506
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3507
+ "web-testing": [{ id: "web-testing-vitest" }],
3508
+ "web-mocking": [{ id: "web-mocks-msw" }]
3509
+ },
3510
+ "api-researcher": {
3511
+ "api-api": [{ id: "api-framework-hono" }],
3512
+ "api-orm": [{ id: "api-database-drizzle" }],
3513
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3514
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3515
+ "api-email": [{ id: "api-email-resend-react-email" }],
3516
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3517
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }]
3518
+ },
3519
+ "agent-summoner": {
3520
+ "web-framework": [{ id: "web-framework-react" }],
3521
+ "mobile-framework": [
3522
+ { id: "mobile-framework-expo" },
3523
+ { id: "mobile-framework-react-native" }
3524
+ ],
3525
+ "web-client-state": [{ id: "web-state-zustand" }],
3526
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3527
+ "web-testing": [{ id: "web-testing-vitest" }],
3528
+ "web-mocking": [{ id: "web-mocks-msw" }],
3529
+ "api-api": [{ id: "api-framework-hono" }],
3530
+ "api-orm": [{ id: "api-database-drizzle" }],
3531
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3532
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3533
+ "api-email": [{ id: "api-email-resend-react-email" }],
3534
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3535
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3536
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3537
+ },
3538
+ "skill-summoner": {
3539
+ "web-framework": [{ id: "web-framework-react" }],
3540
+ "mobile-framework": [
3541
+ { id: "mobile-framework-expo" },
3542
+ { id: "mobile-framework-react-native" }
3543
+ ],
3544
+ "web-client-state": [{ id: "web-state-zustand" }],
3545
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3546
+ "web-testing": [{ id: "web-testing-vitest" }],
3547
+ "web-mocking": [{ id: "web-mocks-msw" }],
3548
+ "api-api": [{ id: "api-framework-hono" }],
3549
+ "api-orm": [{ id: "api-database-drizzle" }],
3550
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3551
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3552
+ "api-email": [{ id: "api-email-resend-react-email" }],
3553
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3554
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3555
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3556
+ },
3557
+ "codex-keeper": {
3558
+ "web-framework": [{ id: "web-framework-react" }],
3559
+ "mobile-framework": [
3560
+ { id: "mobile-framework-expo" },
3561
+ { id: "mobile-framework-react-native" }
3562
+ ],
3563
+ "web-client-state": [{ id: "web-state-zustand" }],
3564
+ "web-server-state": [{ id: "web-server-state-react-query" }],
3565
+ "web-testing": [{ id: "web-testing-vitest" }],
3566
+ "web-mocking": [{ id: "web-mocks-msw" }],
3567
+ "api-api": [{ id: "api-framework-hono" }],
3568
+ "api-orm": [{ id: "api-database-drizzle" }],
3569
+ "api-auth": [{ id: "api-auth-better-auth-drizzle-hono" }],
3570
+ "api-observability": [{ id: "api-observability-axiom-pino-sentry" }],
3571
+ "api-email": [{ id: "api-email-resend-react-email" }],
3572
+ "infra-ci-cd": [{ id: "infra-ci-cd-github-actions" }],
3573
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3574
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }]
3575
+ },
3576
+ "cli-tester": {}
3577
+ }
3578
+ },
3579
+ {
3580
+ id: "cli-ink-oclif",
3581
+ name: "CLI Tool",
3582
+ description: "oclif, Ink, Zustand, Vitest",
3583
+ philosophy: "Terminal-native CLI with interactive React-based wizard UI",
3584
+ agents: {
3585
+ "cli-developer": {
3586
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3587
+ "web-framework": [{ id: "web-framework-react" }],
3588
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3589
+ "web-client-state": [{ id: "web-state-zustand" }],
3590
+ "web-testing": [{ id: "web-testing-vitest" }],
3591
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3592
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3593
+ "shared-tooling": SHARED_TOOLING,
3594
+ "shared-lint": SHARED_LINT
3595
+ },
3596
+ reviewer: {
3597
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3598
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3599
+ "web-framework": [{ id: "web-framework-react" }],
3600
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3601
+ "web-client-state": [{ id: "web-state-zustand" }],
3602
+ "web-testing": [{ id: "web-testing-vitest" }],
3603
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3604
+ "shared-tooling": SHARED_TOOLING,
3605
+ "shared-lint": SHARED_LINT
3606
+ },
3607
+ "cli-tester": {
3608
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3609
+ "web-framework": [{ id: "web-framework-react" }],
3610
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3611
+ "web-client-state": [{ id: "web-state-zustand" }],
3612
+ "web-testing": [{ id: "web-testing-vitest" }],
3613
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3614
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3615
+ "shared-tooling": SHARED_TOOLING,
3616
+ "shared-lint": SHARED_LINT
3617
+ },
3618
+ "cli-researcher": {
3619
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3620
+ "web-framework": [{ id: "web-framework-react" }],
3621
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3622
+ "web-client-state": [{ id: "web-state-zustand" }],
3623
+ "web-testing": [{ id: "web-testing-vitest" }],
3624
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3625
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3626
+ "shared-tooling": SHARED_TOOLING,
3627
+ "shared-lint": SHARED_LINT
3628
+ },
3629
+ pm: {
3630
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3631
+ "web-framework": [{ id: "web-framework-react" }],
3632
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3633
+ "web-client-state": [{ id: "web-state-zustand" }],
3634
+ "web-testing": [{ id: "web-testing-vitest" }],
3635
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3636
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3637
+ "shared-tooling": SHARED_TOOLING,
3638
+ "shared-lint": SHARED_LINT
3639
+ },
3640
+ "web-researcher": {
3641
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3642
+ "web-framework": [{ id: "web-framework-react" }],
3643
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3644
+ "web-client-state": [{ id: "web-state-zustand" }],
3645
+ "web-testing": [{ id: "web-testing-vitest" }],
3646
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3647
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3648
+ "shared-tooling": SHARED_TOOLING,
3649
+ "shared-lint": SHARED_LINT
3650
+ },
3651
+ "agent-summoner": {
3652
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3653
+ "web-framework": [{ id: "web-framework-react" }],
3654
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3655
+ "web-client-state": [{ id: "web-state-zustand" }],
3656
+ "web-testing": [{ id: "web-testing-vitest" }],
3657
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3658
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3659
+ "shared-tooling": SHARED_TOOLING,
3660
+ "shared-lint": SHARED_LINT
3661
+ },
3662
+ "skill-summoner": {
3663
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3664
+ "web-framework": [{ id: "web-framework-react" }],
3665
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3666
+ "web-client-state": [{ id: "web-state-zustand" }],
3667
+ "web-testing": [{ id: "web-testing-vitest" }],
3668
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3669
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3670
+ "shared-tooling": SHARED_TOOLING,
3671
+ "shared-lint": SHARED_LINT
3672
+ },
3673
+ "codex-keeper": {
3674
+ "cli-framework": [{ id: "cli-framework-oclif-ink" }],
3675
+ "web-framework": [{ id: "web-framework-react" }],
3676
+ "web-forms": [{ id: "web-forms-zod-validation" }],
3677
+ "web-client-state": [{ id: "web-state-zustand" }],
3678
+ "web-testing": [{ id: "web-testing-vitest" }],
3679
+ "meta-design": [{ id: "meta-design-expressive-typescript" }],
3680
+ "meta-reviewing": [{ id: "meta-reviewing-reviewing" }],
3681
+ "shared-tooling": SHARED_TOOLING,
3682
+ "shared-lint": SHARED_LINT
3683
+ }
3684
+ }
3685
+ }
3686
+ ];
3687
+
3688
+ export {
3689
+ defineConfig,
3690
+ defaultCategories,
3691
+ defaultRules,
3692
+ defaultStacks
3693
+ };
3694
+ //# sourceMappingURL=chunk-VZRO7RYT.js.map