constella 0.1.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 (747) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +53 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +36 -0
  12. package/.next/react-loadable-manifest.json +14 -0
  13. package/.next/required-server-files.js +343 -0
  14. package/.next/required-server-files.json +343 -0
  15. package/.next/routes-manifest.json +362 -0
  16. package/.next/server/app/(app)/activity/page.js +2 -0
  17. package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
  18. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
  20. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
  21. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
  22. package/.next/server/app/(app)/code/page.js +2 -0
  23. package/.next/server/app/(app)/code/page.js.nft.json +1 -0
  24. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
  25. package/.next/server/app/(app)/config/page.js +2 -0
  26. package/.next/server/app/(app)/config/page.js.nft.json +1 -0
  27. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/(app)/costs/page.js +2 -0
  29. package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
  30. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/(app)/cron/page.js +2 -0
  32. package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
  33. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
  34. package/.next/server/app/(app)/dashboard/page.js +2 -0
  35. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
  36. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
  37. package/.next/server/app/(app)/docs/[id]/page.js +2 -0
  38. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
  39. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(app)/docs/page.js +2 -0
  41. package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
  42. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(app)/github/page.js +2 -0
  44. package/.next/server/app/(app)/github/page.js.nft.json +1 -0
  45. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(app)/goals/page.js +2 -0
  47. package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
  48. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(app)/inbox/page.js +2 -0
  50. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
  51. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(app)/knowledge/page.js +3 -0
  53. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
  54. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(app)/models/page.js +2 -0
  56. package/.next/server/app/(app)/models/page.js.nft.json +1 -0
  57. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(app)/notifications/page.js +2 -0
  59. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
  60. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(app)/org/page.js +2 -0
  62. package/.next/server/app/(app)/org/page.js.nft.json +1 -0
  63. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(app)/organizations/page.js +2 -0
  65. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
  66. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/(app)/page.js +3 -0
  68. package/.next/server/app/(app)/page.js.nft.json +1 -0
  69. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/(app)/planner/page.js +2 -0
  71. package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
  72. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
  73. package/.next/server/app/(app)/plugins/page.js +2 -0
  74. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
  75. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  76. package/.next/server/app/(app)/pm/page.js +2 -0
  77. package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
  78. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
  80. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
  81. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
  82. package/.next/server/app/(app)/profile/page.js +2 -0
  83. package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
  84. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
  85. package/.next/server/app/(app)/pulse/page.js +2 -0
  86. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
  87. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
  88. package/.next/server/app/(app)/reports/[id]/page.js +3 -0
  89. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
  90. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
  91. package/.next/server/app/(app)/reports/page.js +5 -0
  92. package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
  93. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
  94. package/.next/server/app/(app)/routines/page.js +2 -0
  95. package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
  96. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
  97. package/.next/server/app/(app)/search/page.js +2 -0
  98. package/.next/server/app/(app)/search/page.js.nft.json +1 -0
  99. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
  100. package/.next/server/app/(app)/security/page.js +2 -0
  101. package/.next/server/app/(app)/security/page.js.nft.json +1 -0
  102. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
  103. package/.next/server/app/(app)/skills/page.js +18 -0
  104. package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
  105. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
  106. package/.next/server/app/(app)/tasks/page.js +2 -0
  107. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
  108. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
  109. package/.next/server/app/(app)/test-dev/page.js +2 -0
  110. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
  111. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
  112. package/.next/server/app/(app)/update/page.js +2 -0
  113. package/.next/server/app/(app)/update/page.js.nft.json +1 -0
  114. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/(auth)/login/page.js +2 -0
  116. package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
  117. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
  118. package/.next/server/app/(auth)/onboarding/page.js +18 -0
  119. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
  120. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
  121. package/.next/server/app/_global-error/page.js +32 -0
  122. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  123. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  124. package/.next/server/app/_global-error.html +1 -0
  125. package/.next/server/app/_global-error.meta +16 -0
  126. package/.next/server/app/_global-error.rsc +15 -0
  127. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  128. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  129. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  130. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  131. package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
  132. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  133. package/.next/server/app/_not-found/page.js +2 -0
  134. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  135. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/auth/[...all]/route.js +1 -0
  137. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
  138. package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/cron/tick/route.js +52 -0
  140. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
  141. package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/dev-login/route.js +1 -0
  143. package/.next/server/app/api/dev-login/route.js.nft.json +1 -0
  144. package/.next/server/app/api/dev-login/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/locks/acquire/route.js +1 -0
  146. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
  147. package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/models/progress/route.js +1 -0
  149. package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
  150. package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
  152. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
  153. package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
  155. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
  156. package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/passkey/register/options/route.js +1 -0
  158. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
  159. package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/passkey/register/verify/route.js +1 -0
  161. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
  162. package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/stream/route.js +4 -0
  164. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  165. package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/sync/file/route.js +2 -0
  167. package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
  168. package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/telegram/poll/route.js +15 -0
  170. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
  171. package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/upload/route.js +1 -0
  173. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  174. package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
  176. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
  177. package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app-paths-manifest.json +53 -0
  179. package/.next/server/chunks/1003.js +1 -0
  180. package/.next/server/chunks/127.js +26 -0
  181. package/.next/server/chunks/1388.js +1 -0
  182. package/.next/server/chunks/1408.js +21 -0
  183. package/.next/server/chunks/1572.js +1 -0
  184. package/.next/server/chunks/1591.js +24 -0
  185. package/.next/server/chunks/1619.js +188 -0
  186. package/.next/server/chunks/162.js +1 -0
  187. package/.next/server/chunks/1881.js +1 -0
  188. package/.next/server/chunks/1968.js +1 -0
  189. package/.next/server/chunks/2297.js +348 -0
  190. package/.next/server/chunks/2341.js +1 -0
  191. package/.next/server/chunks/2517.js +1 -0
  192. package/.next/server/chunks/2549.js +1 -0
  193. package/.next/server/chunks/259.js +14 -0
  194. package/.next/server/chunks/2599.js +1 -0
  195. package/.next/server/chunks/260.js +1 -0
  196. package/.next/server/chunks/2867.js +147 -0
  197. package/.next/server/chunks/3018.js +1 -0
  198. package/.next/server/chunks/3050.js +18 -0
  199. package/.next/server/chunks/3085.js +12 -0
  200. package/.next/server/chunks/3131.js +1 -0
  201. package/.next/server/chunks/3242.js +1 -0
  202. package/.next/server/chunks/3266.js +15 -0
  203. package/.next/server/chunks/3524.js +1 -0
  204. package/.next/server/chunks/3527.js +479 -0
  205. package/.next/server/chunks/3533.js +869 -0
  206. package/.next/server/chunks/3550.js +1 -0
  207. package/.next/server/chunks/3609.js +2 -0
  208. package/.next/server/chunks/3667.js +462 -0
  209. package/.next/server/chunks/3760.js +4 -0
  210. package/.next/server/chunks/4679.js +1 -0
  211. package/.next/server/chunks/4804.js +1 -0
  212. package/.next/server/chunks/4832.js +2 -0
  213. package/.next/server/chunks/4853.js +1 -0
  214. package/.next/server/chunks/4979.js +67 -0
  215. package/.next/server/chunks/5060.js +1 -0
  216. package/.next/server/chunks/5278.js +1 -0
  217. package/.next/server/chunks/5614.js +1 -0
  218. package/.next/server/chunks/5818.js +1 -0
  219. package/.next/server/chunks/6479.js +1 -0
  220. package/.next/server/chunks/6658.js +1 -0
  221. package/.next/server/chunks/6706.js +1 -0
  222. package/.next/server/chunks/6719.js +1 -0
  223. package/.next/server/chunks/678.js +1 -0
  224. package/.next/server/chunks/683.js +1 -0
  225. package/.next/server/chunks/6862.js +1 -0
  226. package/.next/server/chunks/6882.js +1 -0
  227. package/.next/server/chunks/7037.js +1 -0
  228. package/.next/server/chunks/7107.js +741 -0
  229. package/.next/server/chunks/73.js +17 -0
  230. package/.next/server/chunks/7327.js +1 -0
  231. package/.next/server/chunks/7514.js +1 -0
  232. package/.next/server/chunks/7622.js +1 -0
  233. package/.next/server/chunks/7778.js +1 -0
  234. package/.next/server/chunks/7912.js +1 -0
  235. package/.next/server/chunks/7949.js +1 -0
  236. package/.next/server/chunks/7971.js +1 -0
  237. package/.next/server/chunks/7989.js +1 -0
  238. package/.next/server/chunks/842.js +22 -0
  239. package/.next/server/chunks/8762.js +15 -0
  240. package/.next/server/chunks/8823.js +77 -0
  241. package/.next/server/chunks/9146.js +4 -0
  242. package/.next/server/chunks/9676.js +1 -0
  243. package/.next/server/chunks/9783.js +22 -0
  244. package/.next/server/chunks/9969.js +3 -0
  245. package/.next/server/functions-config-manifest.json +18 -0
  246. package/.next/server/instrumentation.js +1 -0
  247. package/.next/server/instrumentation.js.nft.json +1 -0
  248. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  249. package/.next/server/middleware-build-manifest.js +1 -0
  250. package/.next/server/middleware-manifest.json +6 -0
  251. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  252. package/.next/server/middleware.js +18 -0
  253. package/.next/server/middleware.js.nft.json +1 -0
  254. package/.next/server/next-font-manifest.js +1 -0
  255. package/.next/server/next-font-manifest.json +1 -0
  256. package/.next/server/pages/500.html +1 -0
  257. package/.next/server/pages-manifest.json +3 -0
  258. package/.next/server/prefetch-hints.json +1 -0
  259. package/.next/server/server-reference-manifest.js +1 -0
  260. package/.next/server/server-reference-manifest.json +1 -0
  261. package/.next/server/webpack-runtime.js +1 -0
  262. package/.next/static/chunks/1858-339516f78a4b00da.js +1 -0
  263. package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
  264. package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
  265. package/.next/static/chunks/3219-ebb3c23be38c838d.js +1 -0
  266. package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
  267. package/.next/static/chunks/5479-0cceab68cd0ca9c7.js +1 -0
  268. package/.next/static/chunks/5701-665b927b06158b76.js +1 -0
  269. package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
  270. package/.next/static/chunks/6575-5c9139720bb0f5bf.js +4 -0
  271. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
  272. package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
  273. package/.next/static/chunks/8264-1ca011989ee2b231.js +1 -0
  274. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
  275. package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
  276. package/.next/static/chunks/app/(app)/activity/page-3973534281ecea81.js +1 -0
  277. package/.next/static/chunks/app/(app)/agents/[handle]/page-83662a175c098282.js +1 -0
  278. package/.next/static/chunks/app/(app)/code/page-33979545192cd137.js +1 -0
  279. package/.next/static/chunks/app/(app)/config/page-9933aed1ca8a85c1.js +1 -0
  280. package/.next/static/chunks/app/(app)/costs/page-131c4dc580efcc19.js +1 -0
  281. package/.next/static/chunks/app/(app)/cron/page-53ea1aff998a87ca.js +1 -0
  282. package/.next/static/chunks/app/(app)/dashboard/page-deed83aaa9d0d447.js +1 -0
  283. package/.next/static/chunks/app/(app)/docs/[id]/page-38c993d73c0eab4f.js +1 -0
  284. package/.next/static/chunks/app/(app)/docs/page-bf463b55d0554e86.js +1 -0
  285. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
  286. package/.next/static/chunks/app/(app)/github/page-62678b4e82dfecb6.js +1 -0
  287. package/.next/static/chunks/app/(app)/goals/page-4adb426fe1c96106.js +1 -0
  288. package/.next/static/chunks/app/(app)/inbox/page-e347dc55ab467310.js +1 -0
  289. package/.next/static/chunks/app/(app)/knowledge/page-65393a045b4349be.js +1 -0
  290. package/.next/static/chunks/app/(app)/layout-7f65675705b011d8.js +1 -0
  291. package/.next/static/chunks/app/(app)/models/page-e01f1dd7e49a2951.js +1 -0
  292. package/.next/static/chunks/app/(app)/notifications/page-56548ac87aef00da.js +1 -0
  293. package/.next/static/chunks/app/(app)/org/page-699e6a6dc0db7d81.js +1 -0
  294. package/.next/static/chunks/app/(app)/organizations/page-36051a380a7e8eb7.js +1 -0
  295. package/.next/static/chunks/app/(app)/page-7d1011a566f81520.js +1 -0
  296. package/.next/static/chunks/app/(app)/planner/page-dab7ced94083373a.js +1 -0
  297. package/.next/static/chunks/app/(app)/plugins/page-5b5a1f53389be42e.js +1 -0
  298. package/.next/static/chunks/app/(app)/pm/page-0de5c08c0b227bb0.js +1 -0
  299. package/.next/static/chunks/app/(app)/prepare-deploy/page-e426038552df8d41.js +1 -0
  300. package/.next/static/chunks/app/(app)/profile/page-608dfcaf8aae0a69.js +1 -0
  301. package/.next/static/chunks/app/(app)/pulse/page-309ccaca91de1faa.js +1 -0
  302. package/.next/static/chunks/app/(app)/reports/[id]/page-53ea1aff998a87ca.js +1 -0
  303. package/.next/static/chunks/app/(app)/reports/page-68cdc6dcfa472d86.js +1 -0
  304. package/.next/static/chunks/app/(app)/routines/page-bcc55550b197a9fa.js +1 -0
  305. package/.next/static/chunks/app/(app)/search/page-5c5f67558d0dbf0d.js +1 -0
  306. package/.next/static/chunks/app/(app)/security/page-a7d41e36aa366b45.js +1 -0
  307. package/.next/static/chunks/app/(app)/skills/page-c5b21e89593b8336.js +1 -0
  308. package/.next/static/chunks/app/(app)/tasks/page-08ae079e3e54d2ce.js +1 -0
  309. package/.next/static/chunks/app/(app)/test-dev/page-633f82dfd9c3ce23.js +1 -0
  310. package/.next/static/chunks/app/(app)/update/page-4be019054351bfac.js +1 -0
  311. package/.next/static/chunks/app/(auth)/login/page-6e85d3377062acae.js +1 -0
  312. package/.next/static/chunks/app/(auth)/onboarding/page-ebb10c175abf3b85.js +1 -0
  313. package/.next/static/chunks/app/_global-error/page-23fe50a6bf589c97.js +1 -0
  314. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
  315. package/.next/static/chunks/app/api/auth/[...all]/route-23fe50a6bf589c97.js +1 -0
  316. package/.next/static/chunks/app/api/cron/tick/route-23fe50a6bf589c97.js +1 -0
  317. package/.next/static/chunks/app/api/dev-login/route-23fe50a6bf589c97.js +1 -0
  318. package/.next/static/chunks/app/api/locks/acquire/route-23fe50a6bf589c97.js +1 -0
  319. package/.next/static/chunks/app/api/models/progress/route-23fe50a6bf589c97.js +1 -0
  320. package/.next/static/chunks/app/api/passkey/authenticate/options/route-23fe50a6bf589c97.js +1 -0
  321. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-23fe50a6bf589c97.js +1 -0
  322. package/.next/static/chunks/app/api/passkey/register/options/route-23fe50a6bf589c97.js +1 -0
  323. package/.next/static/chunks/app/api/passkey/register/verify/route-23fe50a6bf589c97.js +1 -0
  324. package/.next/static/chunks/app/api/stream/route-23fe50a6bf589c97.js +1 -0
  325. package/.next/static/chunks/app/api/sync/file/route-23fe50a6bf589c97.js +1 -0
  326. package/.next/static/chunks/app/api/telegram/poll/route-23fe50a6bf589c97.js +1 -0
  327. package/.next/static/chunks/app/api/upload/route-23fe50a6bf589c97.js +1 -0
  328. package/.next/static/chunks/app/api/v1/[[...path]]/route-23fe50a6bf589c97.js +1 -0
  329. package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
  330. package/.next/static/chunks/app/global-error-b8050d4d886f448c.js +1 -0
  331. package/.next/static/chunks/app/layout-ab9deed1e7e2e9df.js +1 -0
  332. package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
  333. package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
  334. package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
  335. package/.next/static/chunks/next/dist/client/components/builtin/app-error-23fe50a6bf589c97.js +1 -0
  336. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-23fe50a6bf589c97.js +1 -0
  337. package/.next/static/chunks/next/dist/client/components/builtin/not-found-23fe50a6bf589c97.js +1 -0
  338. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-23fe50a6bf589c97.js +1 -0
  339. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  340. package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
  341. package/.next/static/css/0a9b5805594444e3.css +1 -0
  342. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_buildManifest.js +1 -0
  343. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_ssgManifest.js +1 -0
  344. package/.next/trace-build +1 -0
  345. package/.next/types/app/(app)/activity/page.ts +87 -0
  346. package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
  347. package/.next/types/app/(app)/code/page.ts +87 -0
  348. package/.next/types/app/(app)/config/page.ts +87 -0
  349. package/.next/types/app/(app)/costs/page.ts +87 -0
  350. package/.next/types/app/(app)/cron/page.ts +87 -0
  351. package/.next/types/app/(app)/dashboard/page.ts +87 -0
  352. package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
  353. package/.next/types/app/(app)/docs/page.ts +87 -0
  354. package/.next/types/app/(app)/github/page.ts +87 -0
  355. package/.next/types/app/(app)/goals/page.ts +87 -0
  356. package/.next/types/app/(app)/inbox/page.ts +87 -0
  357. package/.next/types/app/(app)/knowledge/page.ts +87 -0
  358. package/.next/types/app/(app)/models/page.ts +87 -0
  359. package/.next/types/app/(app)/notifications/page.ts +87 -0
  360. package/.next/types/app/(app)/org/page.ts +87 -0
  361. package/.next/types/app/(app)/organizations/page.ts +87 -0
  362. package/.next/types/app/(app)/page.ts +87 -0
  363. package/.next/types/app/(app)/planner/page.ts +87 -0
  364. package/.next/types/app/(app)/plugins/page.ts +87 -0
  365. package/.next/types/app/(app)/pm/page.ts +87 -0
  366. package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
  367. package/.next/types/app/(app)/profile/page.ts +87 -0
  368. package/.next/types/app/(app)/pulse/page.ts +87 -0
  369. package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
  370. package/.next/types/app/(app)/reports/page.ts +87 -0
  371. package/.next/types/app/(app)/routines/page.ts +87 -0
  372. package/.next/types/app/(app)/search/page.ts +87 -0
  373. package/.next/types/app/(app)/security/page.ts +87 -0
  374. package/.next/types/app/(app)/skills/page.ts +87 -0
  375. package/.next/types/app/(app)/tasks/page.ts +87 -0
  376. package/.next/types/app/(app)/test-dev/page.ts +87 -0
  377. package/.next/types/app/(app)/update/page.ts +87 -0
  378. package/.next/types/app/(auth)/login/page.ts +87 -0
  379. package/.next/types/app/(auth)/onboarding/page.ts +87 -0
  380. package/.next/types/app/api/auth/[...all]/route.ts +351 -0
  381. package/.next/types/app/api/cron/tick/route.ts +351 -0
  382. package/.next/types/app/api/dev-login/route.ts +351 -0
  383. package/.next/types/app/api/locks/acquire/route.ts +351 -0
  384. package/.next/types/app/api/models/progress/route.ts +351 -0
  385. package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
  386. package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
  387. package/.next/types/app/api/passkey/register/options/route.ts +351 -0
  388. package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
  389. package/.next/types/app/api/stream/route.ts +351 -0
  390. package/.next/types/app/api/sync/file/route.ts +351 -0
  391. package/.next/types/app/api/telegram/poll/route.ts +351 -0
  392. package/.next/types/app/api/upload/route.ts +351 -0
  393. package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
  394. package/.next/types/cache-life.d.ts +145 -0
  395. package/.next/types/link.d.ts +210 -0
  396. package/.next/types/package.json +1 -0
  397. package/.next/types/routes.d.ts +120 -0
  398. package/.next/types/validator.ts +511 -0
  399. package/CHANGELOG.md +312 -0
  400. package/LICENSE +21 -0
  401. package/README.md +382 -0
  402. package/README.pt-BR.md +391 -0
  403. package/bin/constella.mjs +329 -0
  404. package/bin/guard-hook.mjs +44 -0
  405. package/bin/lock-hook.mjs +49 -0
  406. package/bin/worker.mjs +142 -0
  407. package/docs/assets/arch-orbit.svg +56 -0
  408. package/docs/assets/blackhole.svg +37 -0
  409. package/docs/assets/divider-orbit.svg +23 -0
  410. package/docs/assets/hero-constella.svg +72 -0
  411. package/docs/en/AGENTS.md +279 -0
  412. package/docs/en/AI_ARCHITECTURE.md +373 -0
  413. package/docs/en/ARCHITECTURE.md +334 -0
  414. package/docs/en/AUTH_MODE.md +247 -0
  415. package/docs/en/CHAT_COMMANDS.md +305 -0
  416. package/docs/en/CONFIGURATION.md +340 -0
  417. package/docs/en/DEPLOY.md +331 -0
  418. package/docs/en/DM.md +297 -0
  419. package/docs/en/FAQ.md +258 -0
  420. package/docs/en/GITHUB.md +341 -0
  421. package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
  422. package/docs/en/INBOX.md +340 -0
  423. package/docs/en/INSTALLATION.md +329 -0
  424. package/docs/en/KB_AGENT.md +305 -0
  425. package/docs/en/KB_RAG.md +356 -0
  426. package/docs/en/MCP.md +313 -0
  427. package/docs/en/MEMORY_RAG.md +289 -0
  428. package/docs/en/MODELS.md +341 -0
  429. package/docs/en/ONBOARDING.md +327 -0
  430. package/docs/en/PLUGINS.md +290 -0
  431. package/docs/en/PORTABLE_MODE.md +387 -0
  432. package/docs/en/PO_AGENT.md +379 -0
  433. package/docs/en/PREPARE_DEPLOY.md +308 -0
  434. package/docs/en/PROJECT_STACKS.md +258 -0
  435. package/docs/en/PUBLIC_API.md +315 -0
  436. package/docs/en/PUBLISHING.md +343 -0
  437. package/docs/en/README.md +95 -0
  438. package/docs/en/SECURITY.md +280 -0
  439. package/docs/en/SKILLS.md +349 -0
  440. package/docs/en/START_MODE.md +340 -0
  441. package/docs/en/SYNCED_BLOCKS.md +320 -0
  442. package/docs/en/TEAM_ROOM.md +285 -0
  443. package/docs/en/TELEGRAM.md +294 -0
  444. package/docs/en/TEST_DEV.md +321 -0
  445. package/docs/en/TROUBLESHOOTING.md +294 -0
  446. package/docs/en/UPDATE.md +301 -0
  447. package/docs/en/VPS_MODE.md +334 -0
  448. package/docs/en/WORKFLOW.md +321 -0
  449. package/docs/pt/AGENTS.md +279 -0
  450. package/docs/pt/AI_ARCHITECTURE.md +373 -0
  451. package/docs/pt/ARCHITECTURE.md +334 -0
  452. package/docs/pt/AUTH_MODE.md +247 -0
  453. package/docs/pt/CHAT_COMMANDS.md +307 -0
  454. package/docs/pt/CONFIGURATION.md +340 -0
  455. package/docs/pt/DEPLOY.md +331 -0
  456. package/docs/pt/DM.md +297 -0
  457. package/docs/pt/FAQ.md +258 -0
  458. package/docs/pt/GITHUB.md +341 -0
  459. package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
  460. package/docs/pt/INBOX.md +340 -0
  461. package/docs/pt/INSTALLATION.md +329 -0
  462. package/docs/pt/KB_AGENT.md +305 -0
  463. package/docs/pt/KB_RAG.md +356 -0
  464. package/docs/pt/MCP.md +313 -0
  465. package/docs/pt/MEMORY_RAG.md +289 -0
  466. package/docs/pt/MODELS.md +341 -0
  467. package/docs/pt/ONBOARDING.md +327 -0
  468. package/docs/pt/PLUGINS.md +290 -0
  469. package/docs/pt/PORTABLE_MODE.md +387 -0
  470. package/docs/pt/PO_AGENT.md +379 -0
  471. package/docs/pt/PREPARE_DEPLOY.md +308 -0
  472. package/docs/pt/PROJECT_STACKS.md +258 -0
  473. package/docs/pt/PUBLIC_API.md +315 -0
  474. package/docs/pt/PUBLISHING.md +343 -0
  475. package/docs/pt/README.md +95 -0
  476. package/docs/pt/SECURITY.md +280 -0
  477. package/docs/pt/SKILLS.md +349 -0
  478. package/docs/pt/START_MODE.md +340 -0
  479. package/docs/pt/SYNCED_BLOCKS.md +320 -0
  480. package/docs/pt/TEAM_ROOM.md +285 -0
  481. package/docs/pt/TELEGRAM.md +294 -0
  482. package/docs/pt/TEST_DEV.md +321 -0
  483. package/docs/pt/TROUBLESHOOTING.md +294 -0
  484. package/docs/pt/UPDATE.md +301 -0
  485. package/docs/pt/VPS_MODE.md +334 -0
  486. package/docs/pt/WORKFLOW.md +321 -0
  487. package/drizzle/0000_regular_nightshade.sql +644 -0
  488. package/drizzle/0001_mixed_zombie.sql +106 -0
  489. package/drizzle/meta/0000_snapshot.json +4650 -0
  490. package/drizzle/meta/0001_snapshot.json +5418 -0
  491. package/drizzle/meta/_journal.json +20 -0
  492. package/drizzle.config.mjs +16 -0
  493. package/next.config.mjs +18 -0
  494. package/package.json +130 -0
  495. package/scripts/clean-repo.mjs +20 -0
  496. package/scripts/dev-all.mjs +46 -0
  497. package/scripts/i18n-parity.mjs +57 -0
  498. package/scripts/mcp-server.mjs +100 -0
  499. package/scripts/postbuild.mjs +11 -0
  500. package/scripts/publish-public.mjs +116 -0
  501. package/scripts/start-all.mjs +45 -0
  502. package/scripts/trim-next.mjs +23 -0
  503. package/scripts/vps-install.sh +39 -0
  504. package/skills/CONTRIBUTING.md +122 -0
  505. package/skills/COVERAGE.md +129 -0
  506. package/skills/INDEX.json +3443 -0
  507. package/skills/README.md +57 -0
  508. package/skills/design/animation-motion/SKILL.md +60 -0
  509. package/skills/design/color-and-typography/SKILL.md +60 -0
  510. package/skills/design/css-techniques/SKILL.md +58 -0
  511. package/skills/design/design-systems/SKILL.md +60 -0
  512. package/skills/design/gradients/SKILL.md +59 -0
  513. package/skills/design/graphic-design-basics/SKILL.md +55 -0
  514. package/skills/design/microinteractions/SKILL.md +58 -0
  515. package/skills/design/responsive-layout/SKILL.md +59 -0
  516. package/skills/design/ui-ux-principles/SKILL.md +58 -0
  517. package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
  518. package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
  519. package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
  520. package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
  521. package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
  522. package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
  523. package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
  524. package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
  525. package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
  526. package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
  527. package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
  528. package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
  529. package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
  530. package/skills/engineering/frontend/state-management/SKILL.md +69 -0
  531. package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
  532. package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
  533. package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
  534. package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
  535. package/skills/engineering/practices/clean-code/SKILL.md +61 -0
  536. package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
  537. package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
  538. package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
  539. package/skills/engineering/practices/refactoring/SKILL.md +58 -0
  540. package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
  541. package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
  542. package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
  543. package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
  544. package/skills/engineering/security/secrets-management/SKILL.md +58 -0
  545. package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
  546. package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
  547. package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
  548. package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
  549. package/skills/languages/c/SKILL.md +74 -0
  550. package/skills/languages/clojure/SKILL.md +73 -0
  551. package/skills/languages/cpp/SKILL.md +75 -0
  552. package/skills/languages/csharp/SKILL.md +75 -0
  553. package/skills/languages/dart/SKILL.md +82 -0
  554. package/skills/languages/elixir/SKILL.md +74 -0
  555. package/skills/languages/erlang/SKILL.md +76 -0
  556. package/skills/languages/go/SKILL.md +83 -0
  557. package/skills/languages/haskell/SKILL.md +70 -0
  558. package/skills/languages/java/SKILL.md +71 -0
  559. package/skills/languages/javascript/SKILL.md +62 -0
  560. package/skills/languages/kotlin/SKILL.md +68 -0
  561. package/skills/languages/lua/SKILL.md +79 -0
  562. package/skills/languages/objectivec/SKILL.md +83 -0
  563. package/skills/languages/php/SKILL.md +74 -0
  564. package/skills/languages/python/SKILL.md +68 -0
  565. package/skills/languages/r/SKILL.md +70 -0
  566. package/skills/languages/ruby/SKILL.md +67 -0
  567. package/skills/languages/rust/SKILL.md +72 -0
  568. package/skills/languages/scala/SKILL.md +73 -0
  569. package/skills/languages/swift/SKILL.md +73 -0
  570. package/skills/languages/typescript/SKILL.md +69 -0
  571. package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
  572. package/skills/meta/progressive-disclosure/SKILL.md +65 -0
  573. package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
  574. package/skills/process/adr-technical-decisions/SKILL.md +59 -0
  575. package/skills/process/app-planning/SKILL.md +63 -0
  576. package/skills/process/architecture-before-code/SKILL.md +52 -0
  577. package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
  578. package/skills/process/idea-to-product/SKILL.md +50 -0
  579. package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
  580. package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
  581. package/skills/process/problem-framing/SKILL.md +51 -0
  582. package/skills/process/product-discovery/SKILL.md +53 -0
  583. package/skills/process/readme-generation/SKILL.md +90 -0
  584. package/skills/process/requirements-to-specs/SKILL.md +53 -0
  585. package/skills/process/research-official-docs/SKILL.md +58 -0
  586. package/skills/process/review-code-perf-security/SKILL.md +65 -0
  587. package/skills/process/security-by-design/SKILL.md +68 -0
  588. package/skills/process/specs-to-issues/SKILL.md +53 -0
  589. package/skills/process/testing-before-done/SKILL.md +61 -0
  590. package/skills/process/validating-ux-navigation/SKILL.md +63 -0
  591. package/skills/references/ai-attachments-ui/SKILL.md +66 -0
  592. package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
  593. package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
  594. package/skills/references/component-patterns-gallery/SKILL.md +62 -0
  595. package/skills/references/gradient-resources/SKILL.md +66 -0
  596. package/skills/references/react-component-libraries/SKILL.md +61 -0
  597. package/skills/references/saas-landing-patterns/SKILL.md +67 -0
  598. package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
  599. package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
  600. package/skills/references/web-animation-codrops/SKILL.md +68 -0
  601. package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
  602. package/skills/stacks/aiml/keras/SKILL.md +77 -0
  603. package/skills/stacks/aiml/numpy/SKILL.md +69 -0
  604. package/skills/stacks/aiml/pandas/SKILL.md +72 -0
  605. package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
  606. package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
  607. package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
  608. package/skills/stacks/auth/auth0/SKILL.md +63 -0
  609. package/skills/stacks/auth/authjs/SKILL.md +69 -0
  610. package/skills/stacks/auth/clerk/SKILL.md +72 -0
  611. package/skills/stacks/auth/keycloak/SKILL.md +63 -0
  612. package/skills/stacks/auth/lucia/SKILL.md +56 -0
  613. package/skills/stacks/auth/passport/SKILL.md +70 -0
  614. package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
  615. package/skills/stacks/baas/amplify/SKILL.md +71 -0
  616. package/skills/stacks/baas/appwrite/SKILL.md +79 -0
  617. package/skills/stacks/baas/firebase/SKILL.md +73 -0
  618. package/skills/stacks/baas/heroku/SKILL.md +71 -0
  619. package/skills/stacks/backend/actix/SKILL.md +77 -0
  620. package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
  621. package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
  622. package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
  623. package/skills/stacks/backend/django/SKILL.md +62 -0
  624. package/skills/stacks/backend/express/SKILL.md +65 -0
  625. package/skills/stacks/backend/fastapi/SKILL.md +64 -0
  626. package/skills/stacks/backend/fastify/SKILL.md +64 -0
  627. package/skills/stacks/backend/fiber/SKILL.md +68 -0
  628. package/skills/stacks/backend/flask/SKILL.md +71 -0
  629. package/skills/stacks/backend/gin/SKILL.md +68 -0
  630. package/skills/stacks/backend/graphql/SKILL.md +70 -0
  631. package/skills/stacks/backend/hono/SKILL.md +64 -0
  632. package/skills/stacks/backend/koa/SKILL.md +63 -0
  633. package/skills/stacks/backend/laravel/SKILL.md +73 -0
  634. package/skills/stacks/backend/nestjs/SKILL.md +70 -0
  635. package/skills/stacks/backend/nginx/SKILL.md +77 -0
  636. package/skills/stacks/backend/phoenix/SKILL.md +68 -0
  637. package/skills/stacks/backend/rails/SKILL.md +67 -0
  638. package/skills/stacks/backend/spring/SKILL.md +70 -0
  639. package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
  640. package/skills/stacks/backend/symfony/SKILL.md +77 -0
  641. package/skills/stacks/container/containerd/SKILL.md +75 -0
  642. package/skills/stacks/container/docker/SKILL.md +90 -0
  643. package/skills/stacks/container/podman/SKILL.md +93 -0
  644. package/skills/stacks/database/cassandra/SKILL.md +74 -0
  645. package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
  646. package/skills/stacks/database/dynamodb/SKILL.md +62 -0
  647. package/skills/stacks/database/mariadb/SKILL.md +71 -0
  648. package/skills/stacks/database/mongodb/SKILL.md +71 -0
  649. package/skills/stacks/database/mysql/SKILL.md +72 -0
  650. package/skills/stacks/database/neon/SKILL.md +68 -0
  651. package/skills/stacks/database/planetscale/SKILL.md +70 -0
  652. package/skills/stacks/database/postgresql/SKILL.md +81 -0
  653. package/skills/stacks/database/redis/SKILL.md +78 -0
  654. package/skills/stacks/database/sqlite/SKILL.md +70 -0
  655. package/skills/stacks/database/supabase/SKILL.md +79 -0
  656. package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
  657. package/skills/stacks/dataviz/d3/SKILL.md +77 -0
  658. package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
  659. package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
  660. package/skills/stacks/frontend/alpine/SKILL.md +75 -0
  661. package/skills/stacks/frontend/angular/SKILL.md +75 -0
  662. package/skills/stacks/frontend/backbone/SKILL.md +82 -0
  663. package/skills/stacks/frontend/ember/SKILL.md +85 -0
  664. package/skills/stacks/frontend/htmx/SKILL.md +73 -0
  665. package/skills/stacks/frontend/lit/SKILL.md +76 -0
  666. package/skills/stacks/frontend/preact/SKILL.md +74 -0
  667. package/skills/stacks/frontend/qwik/SKILL.md +65 -0
  668. package/skills/stacks/frontend/react/SKILL.md +77 -0
  669. package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
  670. package/skills/stacks/frontend/svelte/SKILL.md +70 -0
  671. package/skills/stacks/frontend/vue/SKILL.md +69 -0
  672. package/skills/stacks/infra/ansible/SKILL.md +76 -0
  673. package/skills/stacks/infra/aws/SKILL.md +66 -0
  674. package/skills/stacks/infra/azure/SKILL.md +72 -0
  675. package/skills/stacks/infra/circleci/SKILL.md +78 -0
  676. package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
  677. package/skills/stacks/infra/fly-io/SKILL.md +63 -0
  678. package/skills/stacks/infra/gcp/SKILL.md +66 -0
  679. package/skills/stacks/infra/jenkins/SKILL.md +73 -0
  680. package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
  681. package/skills/stacks/infra/netlify/SKILL.md +60 -0
  682. package/skills/stacks/infra/railway/SKILL.md +63 -0
  683. package/skills/stacks/infra/tailscale/SKILL.md +65 -0
  684. package/skills/stacks/infra/terraform/SKILL.md +75 -0
  685. package/skills/stacks/infra/vagrant/SKILL.md +70 -0
  686. package/skills/stacks/infra/vercel/SKILL.md +60 -0
  687. package/skills/stacks/meta/astro/SKILL.md +64 -0
  688. package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
  689. package/skills/stacks/meta/eleventy/SKILL.md +69 -0
  690. package/skills/stacks/meta/gatsby/SKILL.md +63 -0
  691. package/skills/stacks/meta/hugo/SKILL.md +73 -0
  692. package/skills/stacks/meta/jekyll/SKILL.md +70 -0
  693. package/skills/stacks/meta/nextjs/SKILL.md +62 -0
  694. package/skills/stacks/meta/nuxt/SKILL.md +66 -0
  695. package/skills/stacks/meta/remix/SKILL.md +67 -0
  696. package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
  697. package/skills/stacks/meta/vite/SKILL.md +63 -0
  698. package/skills/stacks/mobile/android/SKILL.md +77 -0
  699. package/skills/stacks/mobile/flutter/SKILL.md +77 -0
  700. package/skills/stacks/mobile/ionic/SKILL.md +72 -0
  701. package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
  702. package/skills/stacks/mobile/react-native/SKILL.md +75 -0
  703. package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
  704. package/skills/stacks/orm/diesel/SKILL.md +72 -0
  705. package/skills/stacks/orm/django-orm/SKILL.md +58 -0
  706. package/skills/stacks/orm/drizzle/SKILL.md +67 -0
  707. package/skills/stacks/orm/gorm/SKILL.md +73 -0
  708. package/skills/stacks/orm/knex/SKILL.md +64 -0
  709. package/skills/stacks/orm/mongoose/SKILL.md +64 -0
  710. package/skills/stacks/orm/prisma/SKILL.md +64 -0
  711. package/skills/stacks/orm/sequelize/SKILL.md +65 -0
  712. package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
  713. package/skills/stacks/orm/typeorm/SKILL.md +70 -0
  714. package/skills/stacks/queue/bullmq/SKILL.md +69 -0
  715. package/skills/stacks/queue/celery/SKILL.md +68 -0
  716. package/skills/stacks/queue/kafka/SKILL.md +66 -0
  717. package/skills/stacks/queue/nats/SKILL.md +66 -0
  718. package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
  719. package/skills/stacks/queue/redis/SKILL.md +66 -0
  720. package/skills/stacks/runtime/beam/SKILL.md +72 -0
  721. package/skills/stacks/runtime/bun/SKILL.md +80 -0
  722. package/skills/stacks/runtime/deno/SKILL.md +74 -0
  723. package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
  724. package/skills/stacks/runtime/jvm/SKILL.md +66 -0
  725. package/skills/stacks/runtime/node/SKILL.md +70 -0
  726. package/skills/stacks/runtime/pypy/SKILL.md +69 -0
  727. package/skills/stacks/runtime/python3/SKILL.md +70 -0
  728. package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
  729. package/skills/stacks/styling/bulma/SKILL.md +80 -0
  730. package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
  731. package/skills/stacks/styling/css-modules/SKILL.md +54 -0
  732. package/skills/stacks/styling/mui/SKILL.md +60 -0
  733. package/skills/stacks/styling/sass/SKILL.md +63 -0
  734. package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
  735. package/skills/stacks/styling/styled-components/SKILL.md +62 -0
  736. package/skills/stacks/styling/tailwind/SKILL.md +59 -0
  737. package/skills/stacks/styling/unocss/SKILL.md +64 -0
  738. package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
  739. package/skills/stacks/styling/vuetify/SKILL.md +89 -0
  740. package/skills/stacks/testing/cypress/SKILL.md +68 -0
  741. package/skills/stacks/testing/jasmine/SKILL.md +67 -0
  742. package/skills/stacks/testing/jest/SKILL.md +67 -0
  743. package/skills/stacks/testing/mocha/SKILL.md +71 -0
  744. package/skills/stacks/testing/playwright/SKILL.md +68 -0
  745. package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
  746. package/skills/stacks/testing/selenium/SKILL.md +70 -0
  747. package/skills/stacks/testing/vitest/SKILL.md +68 -0
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: css-modules
3
+ description: CSS files whose class and animation names are scoped locally by default; consult when isolating component styles without naming collisions.
4
+ domain: stack
5
+ category: styling
6
+ tags: [css-modules, css, scoping, components, build]
7
+ official_sources:
8
+ - https://github.com/css-modules/css-modules
9
+ verified: 2026-06-16
10
+ ---
11
+
12
+ # CSS Modules
13
+
14
+ ## Overview
15
+ A CSS Module is a CSS file in which all class names and animation names are scoped locally by default. When imported into JavaScript, it exports a mapping from the local names you wrote to the unique, globally-safe names the build generated. This prevents styles in one file from leaking and affecting the rest of the project. Read this when you want component-scoped CSS without adopting a CSS-in-JS runtime.
16
+
17
+ ## Official sources
18
+ - Docs: https://github.com/css-modules/css-modules
19
+ - Repo: https://github.com/css-modules/css-modules
20
+
21
+ ## Core concepts
22
+ - **Local scope by default**: every class/animation name is rewritten to a unique identifier, so names are isolated per file and cannot collide globally.
23
+ - **JS import mapping**: importing a `.module.css` file yields an object mapping your written class names to the generated names you apply in markup.
24
+ - **Composition**: a class can `composes:` from another class (same file or imported) to reuse and combine styles without duplicating declarations.
25
+ - **Explicit global escape hatch**: `:global(...)` opts specific selectors out of local scoping when you genuinely need a global rule.
26
+ - **Build-tool feature**: CSS Modules is a transformation applied by your bundler/loader, not a runtime library.
27
+
28
+ ## Best practices
29
+ - Keep one module per component so local names map cleanly to that component's markup.
30
+ - Use `composes` to share base styles instead of repeating declarations across modules.
31
+ - Reserve `:global` for the rare cases that truly require global selectors; default to local scope.
32
+ - Reference classes through the imported object (`styles.button`) rather than hardcoding the generated names.
33
+
34
+ ## Common pitfalls
35
+ - Writing plain global selectors expecting them to be scoped → only locally-scoped class/animation names are rewritten; element and `:global` selectors stay global.
36
+ - Hardcoding generated class names in HTML → names are build-generated and may change; always go through the imported mapping object.
37
+
38
+ ## Examples
39
+ ```css
40
+ /* submit-button.module.css */
41
+ .normal { background: white; }
42
+ .error { composes: normal; color: red; }
43
+ ```
44
+ ```js
45
+ import styles from "./submit-button.module.css";
46
+ element.innerHTML = `<button class="${styles.error}">Submit</button>`;
47
+ ```
48
+
49
+ ## Further reading
50
+ - https://github.com/css-modules/css-modules — local scope, composition, naming, theming docs
51
+
52
+ ## Related skills
53
+ - ../vanilla-extract — locally-scoped styles authored in TypeScript
54
+ - ../sass — preprocessor that pairs well with CSS Modules
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: mui
3
+ description: Material UI — comprehensive React component library implementing Google's Material Design with theming and Emotion styling; consult for prebuilt MUI components.
4
+ domain: stack
5
+ category: styling
6
+ tags: [mui, material-ui, react, components, emotion]
7
+ official_sources:
8
+ - https://mui.com/material-ui/
9
+ - https://github.com/mui/material-ui
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Material UI (MUI)
14
+
15
+ ## Overview
16
+ Material UI is a comprehensive React component library that implements Google's Material Design. It provides a large set of accessible, themeable components and ships with Emotion as the default styling engine. Read this when building a React UI on a complete, batteries-included component system with a centralized theme.
17
+
18
+ ## Official sources
19
+ - Docs: https://mui.com/material-ui/
20
+ - Repo: https://github.com/mui/material-ui
21
+ - Install / download: https://mui.com/material-ui/getting-started/installation/
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install @mui/material @emotion/react @emotion/styled
26
+ ```
27
+
28
+ ## Core concepts
29
+ - **Component library**: a broad catalog of ready-made React components (buttons, inputs, layout, navigation, data display).
30
+ - **Theming**: a central theme object configures palette, typography, spacing, and breakpoints across all components.
31
+ - **`sx` prop**: apply one-off, theme-aware style overrides inline on any MUI component.
32
+ - **Default Emotion engine**: styles are powered by Emotion (`@emotion/react`/`@emotion/styled`) by default.
33
+ - **`styled()` utility**: create custom styled components that read from the MUI theme.
34
+
35
+ ## Best practices
36
+ - Centralize design decisions in a theme and wrap the app in a theme provider so components stay consistent.
37
+ - Use the `sx` prop for small local overrides and `styled()` for reusable custom components.
38
+ - Reference theme tokens (palette, spacing) rather than hardcoding colors and pixel values.
39
+ - Pick the documented styling engine setup (Emotion by default) and stay consistent across the codebase.
40
+
41
+ ## Common pitfalls
42
+ - Forgetting the Emotion peer packages → the default install requires `@emotion/react` and `@emotion/styled`; omitting them breaks styling.
43
+ - Overriding styles with high-specificity custom CSS instead of the theme/`sx` → fights the system and creates inconsistency; prefer theme tokens and `sx`.
44
+
45
+ ## Examples
46
+ ```jsx
47
+ import Button from '@mui/material/Button';
48
+
49
+ export default function App() {
50
+ return <Button variant="contained">Hello world</Button>;
51
+ }
52
+ ```
53
+
54
+ ## Further reading
55
+ - https://mui.com/material-ui/getting-started/ — getting started and usage
56
+ - https://mui.com/material-ui/customization/theming/ — theming guide
57
+
58
+ ## Related skills
59
+ - ../chakra-ui — alternative accessible React component library
60
+ - ../shadcn-ui — copy-in component approach on Tailwind + Radix
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: sass
3
+ description: CSS preprocessor adding variables, nesting, partials, mixins, and functions that compile to plain CSS; consult when authoring maintainable stylesheets.
4
+ domain: stack
5
+ category: styling
6
+ tags: [sass, scss, css, preprocessor, dart-sass]
7
+ official_sources:
8
+ - https://sass-lang.com/documentation/
9
+ - https://github.com/sass/dart-sass
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Sass
14
+
15
+ ## Overview
16
+ Sass is a CSS preprocessor that extends CSS with variables, nesting, partials, mixins, inheritance, and functions, then compiles down to standard CSS. Dart Sass is the canonical, primary implementation of the language. Read this when you want structured, reusable stylesheets that still ship as plain CSS.
17
+
18
+ ## Official sources
19
+ - Docs: https://sass-lang.com/documentation/
20
+ - Repo: https://github.com/sass/dart-sass
21
+ - Install / download: https://sass-lang.com/install/
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install -g sass
26
+ ```
27
+ The npm package is the pure-JavaScript build (slower than the native options); Homebrew (`brew install sass/sass/sass`) and Chocolatey (`choco install sass`) are also documented on the install page.
28
+
29
+ ## Core concepts
30
+ - **Variables**: store reusable values (colors, fonts, sizes) and reference them throughout stylesheets.
31
+ - **Nesting**: nest selectors to mirror HTML structure, reducing repetition (use sparingly to avoid over-specific selectors).
32
+ - **Partials & `@use`/`@forward`**: split styles into underscore-prefixed partial files and load them as modules with namespacing.
33
+ - **Mixins**: reusable groups of declarations invoked with `@include`, optionally parameterized.
34
+ - **Functions & operators**: built-in and custom functions plus math operators compute values at compile time.
35
+ - **Two syntaxes**: `.scss` (CSS-superset, most common) and the indented `.sass` syntax.
36
+
37
+ ## Best practices
38
+ - Prefer the module system (`@use` / `@forward`) over the deprecated `@import` for predictable namespacing and scoping.
39
+ - Keep nesting shallow to avoid generating overly specific, hard-to-override selectors.
40
+ - Organize code into small partials and compose them, rather than one large stylesheet.
41
+ - Use the native/embedded Sass binary for speed in builds where compile time matters; the npm pure-JS build is slower.
42
+
43
+ ## Common pitfalls
44
+ - Relying on `@import` → it is deprecated in Dart Sass; migrate to `@use`/`@forward` for module-scoped variables and mixins.
45
+ - Deeply nesting selectors → produces high-specificity CSS that is brittle and difficult to override.
46
+
47
+ ## Examples
48
+ ```scss
49
+ $primary: #3366ff;
50
+
51
+ .button {
52
+ background: $primary;
53
+ &:hover { background: darken($primary, 10%); }
54
+ }
55
+ ```
56
+
57
+ ## Further reading
58
+ - https://sass-lang.com/documentation/ — full language reference
59
+ - https://sass-lang.com/documentation/at-rules/use/ — the module system
60
+
61
+ ## Related skills
62
+ - ../css-modules — locally-scoped CSS that pairs with Sass
63
+ - ../tailwind — utility-first alternative styling approach
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: shadcn-ui
3
+ description: Accessible React components you copy into your project (built on Tailwind + Radix) via a CLI rather than installing as a dependency; consult for owned UI code.
4
+ domain: stack
5
+ category: styling
6
+ tags: [shadcn-ui, react, tailwind, radix, components]
7
+ official_sources:
8
+ - https://ui.shadcn.com/docs
9
+ - https://github.com/shadcn-ui/ui
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # shadcn/ui
14
+
15
+ ## Overview
16
+ shadcn/ui is a set of beautifully-designed, accessible React components and a code-distribution platform. Rather than installing a component package, you use a CLI to copy component source directly into your project, so you own and can freely modify the code. Components are built on Tailwind CSS and Radix primitives. Read this when you want full ownership of your UI component code.
17
+
18
+ ## Official sources
19
+ - Docs: https://ui.shadcn.com/docs
20
+ - Repo: https://github.com/shadcn-ui/ui
21
+ - Install / download: https://ui.shadcn.com/docs/installation
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ pnpm dlx shadcn@latest init
26
+ ```
27
+ The init command scaffolds configuration (npm, yarn, and bun equivalents are documented). Add individual components afterward with `shadcn@latest add <component>`.
28
+
29
+ ## Core concepts
30
+ - **Copy-in, not a dependency**: the CLI writes component source into your repo; you maintain it yourself instead of upgrading a package.
31
+ - **Tailwind + Radix foundation**: styling uses Tailwind utilities and behavior/accessibility comes from Radix primitives.
32
+ - **CLI workflow**: `init` sets up the project, `add` brings in specific components on demand.
33
+ - **Full ownership / open code**: because the code lives in your project, you can edit any component to fit your needs.
34
+ - **Framework support**: works with frameworks such as Next.js, Vite, React Router, Astro, and TanStack Start.
35
+
36
+ ## Best practices
37
+ - Run `init` once to establish config and conventions before adding components.
38
+ - Add only the components you need with the `add` command rather than pulling in everything.
39
+ - Treat copied components as your own source — review and adapt them instead of expecting external updates.
40
+ - Keep Tailwind tokens/theme aligned so copied components match the rest of your design system.
41
+
42
+ ## Common pitfalls
43
+ - Expecting automatic upstream upgrades like an npm package → components are copied into your project; you own maintenance and must re-pull manually for updates.
44
+ - Skipping `init` and adding components first → the project lacks the required config/conventions the components rely on.
45
+
46
+ ## Examples
47
+ ```bash
48
+ pnpm dlx shadcn@latest init
49
+ pnpm dlx shadcn@latest add button
50
+ ```
51
+
52
+ ## Further reading
53
+ - https://ui.shadcn.com/docs/installation — framework-specific setup
54
+ - https://ui.shadcn.com/docs/components — component catalog
55
+
56
+ ## Related skills
57
+ - ../tailwind — the utility framework shadcn/ui styles with
58
+ - ../mui — alternative prebuilt React component library
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: styled-components
3
+ description: CSS-in-JS for React using tagged template literals to attach scoped styles to components; consult when styling React with co-located CSS.
4
+ domain: stack
5
+ category: styling
6
+ tags: [styled-components, css-in-js, react, theming, ssr]
7
+ official_sources:
8
+ - https://styled-components.com/docs
9
+ - https://github.com/styled-components/styled-components
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # styled-components
14
+
15
+ ## Overview
16
+ styled-components is a CSS-in-JS library for React that lets you write actual CSS in tagged template literals, producing React components with their styles attached. It removes the mapping between components and styles and scopes CSS automatically. Read this when styling React (including Server Components, client components, and SSR) with co-located styles.
17
+
18
+ ## Official sources
19
+ - Docs: https://styled-components.com/docs
20
+ - Repo: https://github.com/styled-components/styled-components
21
+ - Install / download: https://styled-components.com/docs/basics#installation
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install styled-components
26
+ ```
27
+
28
+ ## Core concepts
29
+ - **Tagged template literals**: `styled.button\`...\`` creates a React component whose CSS lives in the template string, automatically generating unique class names.
30
+ - **Adapting based on props**: interpolated functions receive the component's props (e.g. `$primary`) so styles can change dynamically per render.
31
+ - **Extending styles**: `styled(Existing)\`...\`` builds a new component that inherits another's styles and overrides specific declarations.
32
+ - **`.attrs`**: attach static or computed props/attributes to a styled component before it renders.
33
+ - **`keyframes`**: generates scoped animation names to avoid collisions; pair with the `css` helper for code-splitting compatibility.
34
+
35
+ ## Best practices
36
+ - Prefix transient props (`$primary`) so they drive styling without being forwarded to the DOM.
37
+ - Reuse styles by extending existing styled components rather than duplicating declarations.
38
+ - Define `keyframes` once and reference it, keeping animations scoped and collision-free.
39
+ - Provide theme values through a theme provider so colors and spacing stay consistent across components.
40
+
41
+ ## Common pitfalls
42
+ - Defining `styled(...)` components inside a render function → a new component identity each render hurts performance and can break state; define them at module scope.
43
+ - Forwarding non-standard props to DOM elements → use transient `$` props or `.attrs` so invalid attributes don't leak into the HTML.
44
+
45
+ ## Examples
46
+ ```jsx
47
+ import styled from 'styled-components';
48
+
49
+ const Button = styled.button`
50
+ background: ${props => props.$primary ? 'palevioletred' : 'white'};
51
+ color: ${props => props.$primary ? 'white' : 'palevioletred'};
52
+ padding: 0.5em 1em;
53
+ `;
54
+ ```
55
+
56
+ ## Further reading
57
+ - https://styled-components.com/docs/basics — core usage guide
58
+ - https://styled-components.com/docs/advanced — theming, SSR, and refs
59
+
60
+ ## Related skills
61
+ - ../vanilla-extract — zero-runtime alternative authored in TypeScript
62
+ - ../tailwind — utility-first alternative to CSS-in-JS
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: tailwind
3
+ description: Utility-first CSS framework that styles UI from small composable classes in markup; consult when building or theming with Tailwind.
4
+ domain: stack
5
+ category: styling
6
+ tags: [tailwind, css, utility-first, vite, design-system]
7
+ official_sources:
8
+ - https://tailwindcss.com/docs
9
+ - https://github.com/tailwindlabs/tailwindcss
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Tailwind CSS
14
+
15
+ ## Overview
16
+ Tailwind CSS is a utility-first CSS framework: instead of writing custom stylesheets, you compose UI from small single-purpose classes (`flex`, `pt-4`, `text-3xl`) applied directly in markup. It is designed for rapid UI development and produces only the CSS your project actually uses. Read this when scaffolding styling, theming, or migrating an app to Tailwind.
17
+
18
+ ## Official sources
19
+ - Docs: https://tailwindcss.com/docs
20
+ - Repo: https://github.com/tailwindlabs/tailwindcss
21
+ - Install / download: https://tailwindcss.com/docs/installation
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install tailwindcss @tailwindcss/vite
26
+ ```
27
+ Then register the Vite plugin in `vite.config.ts` and add `@import "tailwindcss";` to your main CSS file (per the official installation guide).
28
+
29
+ ## Core concepts
30
+ - **Utility-first**: build designs by combining many small classes in markup rather than authoring bespoke CSS rules.
31
+ - **On-demand generation**: the engine scans your source files and emits only the utilities you actually use, keeping output small.
32
+ - **Responsive & state variants**: prefixes like `md:`, `hover:`, `focus:`, and `dark:` apply utilities conditionally at breakpoints or interaction states.
33
+ - **Theme tokens**: spacing, colors, typography, and breakpoints come from a configurable design-token scale you can extend.
34
+ - **First-party plugin integration**: the `@tailwindcss/vite` plugin (and equivalents) wires Tailwind into your bundler's build process.
35
+
36
+ ## Best practices
37
+ - Let the build scan real source files so unused utilities are purged automatically; avoid hand-maintaining a list of safe classes unless dynamic class names require it.
38
+ - Extract repeated class clusters into components (or `@apply` in a CSS layer) rather than copying long class strings everywhere.
39
+ - Customize via the theme/tokens so spacing and color stay consistent across the app instead of using arbitrary one-off values.
40
+ - Use the documented responsive and state variants instead of writing custom media queries by hand.
41
+
42
+ ## Common pitfalls
43
+ - Constructing class names from string concatenation at runtime → the scanner can't see them, so they get purged; use complete static class strings or a safelist.
44
+ - Treating Tailwind as inline styles → it is design-token-constrained utilities; reaching for arbitrary values everywhere defeats the system's consistency.
45
+
46
+ ## Examples
47
+ ```html
48
+ <h1 class="text-3xl font-bold underline">
49
+ Hello world!
50
+ </h1>
51
+ ```
52
+
53
+ ## Further reading
54
+ - https://tailwindcss.com/docs/installation — framework-specific setup guides
55
+ - https://tailwindcss.com/docs/styling-with-utility-classes — core utility-first workflow
56
+
57
+ ## Related skills
58
+ - ../shadcn-ui — component collection built on Tailwind + Radix
59
+ - ../unocss — alternative on-demand atomic CSS engine
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: unocss
3
+ description: Instant on-demand atomic CSS engine with no core utilities, fully customizable via presets and rules; consult when building atomic CSS fast and small.
4
+ domain: stack
5
+ category: styling
6
+ tags: [unocss, atomic-css, presets, vite, utility]
7
+ official_sources:
8
+ - https://unocss.dev/
9
+ - https://github.com/unocss/unocss
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # UnoCSS
14
+
15
+ ## Overview
16
+ UnoCSS is an instant, on-demand atomic CSS engine. Unlike opinionated frameworks, its core ships no utilities; you define behavior through presets and rules, and it generates only the CSS your code uses. It is built for speed and a tiny footprint. Read this when you want a customizable atomic-CSS workflow or to bring your own design-system presets.
17
+
18
+ ## Official sources
19
+ - Docs: https://unocss.dev/
20
+ - Repo: https://github.com/unocss/unocss
21
+ - Install / download: https://unocss.dev/integrations/vite
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install -D unocss
26
+ ```
27
+ The Vite plugin ships in the main `unocss` package and is imported from `unocss/vite` (per the Vite integration docs).
28
+
29
+ ## Core concepts
30
+ - **On-demand atomic CSS**: utilities are generated only when used in your source, keeping output minimal.
31
+ - **Rules**: define utilities as static entries (`m-1`) or dynamic RegExp matchers that accept arbitrary values.
32
+ - **Presets**: bundled collections of rules, variants, and shortcuts that can be shared across projects or teams.
33
+ - **Shortcuts**: combine multiple utilities into a single reusable class name.
34
+ - **Variants**: transform or conditionally apply utilities (states, breakpoints, custom logic).
35
+ - **Unopinionated core**: no built-in utilities by default — behavior comes entirely from your configured presets/rules.
36
+
37
+ ## Best practices
38
+ - Compose your styling from presets (official or your own) rather than re-implementing common utilities by hand.
39
+ - Use shortcuts to name and reuse recurring utility combinations instead of repeating long class strings.
40
+ - Encapsulate a design system as a custom preset so it is shareable and versionable across projects.
41
+ - Define dynamic rules with RegExp matchers to support arbitrary values without exploding your config.
42
+
43
+ ## Common pitfalls
44
+ - Expecting utilities out of the box → the core is intentionally empty; add a preset (or define rules) or nothing is generated.
45
+ - Building class names dynamically the engine can't scan → unused or unseen classes won't be generated; keep classes statically discoverable.
46
+
47
+ ## Examples
48
+ ```ts
49
+ // uno.config.ts
50
+ import { defineConfig, presetUno } from 'unocss';
51
+
52
+ export default defineConfig({
53
+ presets: [presetUno()],
54
+ shortcuts: { btn: 'px-4 py-1 rounded inline-block' },
55
+ });
56
+ ```
57
+
58
+ ## Further reading
59
+ - https://unocss.dev/guide/ — concepts and configuration
60
+ - https://unocss.dev/presets/ — official presets
61
+
62
+ ## Related skills
63
+ - ../tailwind — utility-first framework that inspired UnoCSS
64
+ - ../css-modules — alternative scoping-based styling approach
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: vanilla-extract
3
+ description: Zero-runtime stylesheets authored in TypeScript that compile to static CSS with locally-scoped, type-safe styles; consult for type-safe CSS in builds.
4
+ domain: stack
5
+ category: styling
6
+ tags: [vanilla-extract, css-in-js, typescript, zero-runtime, scoped]
7
+ official_sources:
8
+ - https://vanilla-extract.style/documentation/getting-started/
9
+ - https://github.com/vanilla-extract-css/vanilla-extract
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # vanilla-extract
14
+
15
+ ## Overview
16
+ vanilla-extract lets you write styles in TypeScript (or JavaScript) using `.css.ts` files, generating static CSS at build time with zero runtime cost. Class names are locally scoped (like CSS Modules) and the whole API is type-safe. Read this when you want CSS-in-TS authoring without shipping a styling runtime.
17
+
18
+ ## Official sources
19
+ - Docs: https://vanilla-extract.style/documentation/getting-started/
20
+ - Repo: https://github.com/vanilla-extract-css/vanilla-extract
21
+ - Install / download: https://vanilla-extract.style/documentation/getting-started/
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install @vanilla-extract/css
26
+ ```
27
+ Then add a bundler integration (Vite, esbuild, webpack, Next.js, Parcel, Rollup, or Gatsby) per the getting-started guide.
28
+
29
+ ## Core concepts
30
+ - **Styles as `.css.ts` files**: author styles in TypeScript; the bundler extracts them into static CSS during build.
31
+ - **Locally-scoped class names**: the `style` function returns a unique class name, isolating styles per file like CSS Modules.
32
+ - **Zero runtime**: no styling library is shipped to the browser; output is plain CSS.
33
+ - **Scoped CSS variables**: `createVar`/theme APIs produce scoped custom properties for theming.
34
+ - **Type safety**: styles are typed via CSSType, so invalid properties and values are caught at compile time.
35
+ - **Bundler integration required**: a build plugin transforms `.css.ts` files into emitted CSS.
36
+
37
+ ## Best practices
38
+ - Reference the value returned by `style` as your class name rather than hardcoding generated names.
39
+ - Use the theming/CSS-variable APIs (`createTheme`, `createVar`) to centralize design tokens type-safely.
40
+ - Keep style definitions in `.css.ts` files so the bundler can statically extract them at build time.
41
+ - Lean on the type checker to validate property names and values instead of relying on runtime checks.
42
+
43
+ ## Common pitfalls
44
+ - Skipping the bundler integration → `.css.ts` files won't be transformed into CSS; install the matching plugin for your build tool.
45
+ - Expecting runtime dynamic styling like traditional CSS-in-JS → styles are extracted at build time, so prefer variables/variants for dynamic values.
46
+
47
+ ## Examples
48
+ ```ts
49
+ // styles.css.ts
50
+ import { style } from '@vanilla-extract/css';
51
+
52
+ export const container = style({
53
+ padding: 10,
54
+ display: 'flex',
55
+ });
56
+ ```
57
+
58
+ ## Further reading
59
+ - https://vanilla-extract.style/documentation/getting-started/ — setup and bundler guides
60
+ - https://vanilla-extract.style/documentation/styling/ — styling API reference
61
+
62
+ ## Related skills
63
+ - ../css-modules — the locally-scoped CSS model vanilla-extract builds on
64
+ - ../styled-components — runtime CSS-in-JS alternative
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: vuetify
3
+ description: Vuetify is a Vue component framework implementing Material Design with 80+ prebuilt components, a responsive grid, and a theming system; consult when scaffolding a Vue+Vuetify app, registering it with createVuetify, using v-* components like v-btn/v-data-table, configuring themes, or enabling tree-shaking via vite-plugin-vuetify.
4
+ domain: stack
5
+ category: styling
6
+ tags: [vuetify, vue, material-design, components, frontend, sass, typescript]
7
+ official_sources:
8
+ - https://vuetifyjs.com/en/getting-started/installation/
9
+ - https://github.com/vuetifyjs/vuetify
10
+ - https://www.npmjs.com/package/create-vuetify
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Vuetify
15
+
16
+ ## Overview
17
+ Vuetify is an open-source Vue 3 component framework that implements Google's Material Design spec. It provides 80+ ready-made `v-*` components, a 12-column responsive grid, a configurable theme/color system, and SASS variables for customization. Read this when scaffolding a new Vue + Vuetify project, registering the plugin with `createVuetify`, composing UIs from Vuetify components, theming, or setting up auto-import/tree-shaking with the Vite plugin.
18
+
19
+ ## Official sources
20
+ - Docs: https://vuetifyjs.com/en/getting-started/installation/
21
+ - Repo: https://github.com/vuetifyjs/vuetify
22
+ - Install: https://www.npmjs.com/package/create-vuetify
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ npm create vuetify@latest
27
+ ```
28
+ Scaffolding command from the official installation guide (https://vuetifyjs.com/en/getting-started/installation/). To add to an existing app: `npm i vuetify`.
29
+
30
+ ## Core concepts
31
+ - **createVuetify plugin** — instantiate with `createVuetify({ components, directives })` and register via `app.use(vuetify)`.
32
+ - **Components** — 80+ `v-*` components (`v-btn`, `v-card`, `v-text-field`, `v-data-table`, `v-app-bar`) following Material Design.
33
+ - **v-app / layout** — `<v-app>` is the required root; layout components (`v-app-bar`, `v-navigation-drawer`, `v-main`) compose the shell.
34
+ - **Grid system** — `v-container` > `v-row` > `v-col` with breakpoint props (`cols`, `sm`, `md`, `lg`, `xl`).
35
+ - **Theming** — light/dark themes and named color palettes configured in `createVuetify({ theme: {...} })`.
36
+ - **Display/breakpoints** — `useDisplay()` composable and responsive props react to xs–xxl breakpoints.
37
+ - **Directives** — opt-in directives (`v-ripple`, `v-intersect`) registered alongside components.
38
+ - **Tree-shaking** — `vite-plugin-vuetify` auto-imports only used components and SASS for smaller bundles.
39
+
40
+ ## Best practices
41
+ - Use `npm create vuetify@latest` to scaffold; it wires Vite, the plugin, and tree-shaking for you (https://vuetifyjs.com/en/getting-started/installation/).
42
+ - Enable automatic component import + on-demand styles with `vite-plugin-vuetify` rather than importing everything (https://vuetifyjs.com/en/features/treeshaking/).
43
+ - Define themes and brand colors centrally in `createVuetify({ theme })`, not per-component overrides (https://vuetifyjs.com/en/features/theme/).
44
+ - Wrap the app in a single `<v-app>` and use `v-main` for routed content so layout components position correctly (https://vuetifyjs.com/en/features/application-layout/).
45
+
46
+ ## Common pitfalls
47
+ - Components render unstyled / overlays mis-position → app not wrapped in `<v-app>`, or `vuetify/styles` not imported.
48
+ - Bundle is huge → globally registering all components; switch to `vite-plugin-vuetify` auto-import.
49
+ - Theme colors not applying → set them in `createVuetify({ theme })` config, not ad-hoc CSS, and reference via `color="primary"`.
50
+
51
+ ## Examples
52
+ ```js
53
+ // main.js
54
+ import { createApp } from 'vue'
55
+ import App from './App.vue'
56
+ import 'vuetify/styles'
57
+ import { createVuetify } from 'vuetify'
58
+ import * as components from 'vuetify/components'
59
+ import * as directives from 'vuetify/directives'
60
+
61
+ const vuetify = createVuetify({
62
+ components,
63
+ directives,
64
+ theme: { defaultTheme: 'dark' },
65
+ })
66
+
67
+ createApp(App).use(vuetify).mount('#app')
68
+ ```
69
+ ```vue
70
+ <!-- App.vue -->
71
+ <template>
72
+ <v-app>
73
+ <v-main>
74
+ <v-container>
75
+ <v-btn color="primary">Click me</v-btn>
76
+ </v-container>
77
+ </v-main>
78
+ </v-app>
79
+ </template>
80
+ ```
81
+
82
+ ## Further reading
83
+ - https://vuetifyjs.com/en/components/all/ — full component API reference
84
+ - https://vuetifyjs.com/en/features/theme/ — theme and color configuration
85
+ - https://vuetifyjs.com/en/features/treeshaking/ — auto-import and bundle optimization
86
+
87
+ ## Related skills
88
+ - ../bootstrap — non-Vue component framework alternative
89
+ - ../tailwind — utility-first CSS often paired with Vue
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: cypress
3
+ description: Cypress is a JavaScript end-to-end and component testing tool that runs in a real browser with a time-travel debugger, automatic waiting, and network stubbing; consult when writing E2E or component tests, using cy commands and fixtures, intercepting network requests, or configuring cypress.config.
4
+ domain: stack
5
+ category: testing
6
+ tags: [cypress, e2e, javascript, browser-testing, component-testing, automation, web]
7
+ official_sources:
8
+ - https://docs.cypress.io/app/get-started/why-cypress
9
+ - https://github.com/cypress-io/cypress
10
+ - https://www.npmjs.com/package/cypress
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Cypress
15
+
16
+ ## Overview
17
+ Cypress is an open-source, JavaScript-based testing tool that runs end-to-end, component, and integration tests directly inside the browser alongside your app. It executes in the same run loop as the page, giving automatic waiting, time-travel snapshots, and direct DOM/network control. Read this when writing E2E or component tests, stubbing network calls, debugging flaky selectors, or configuring the Cypress runner.
18
+
19
+ ## Official sources
20
+ - Docs: https://docs.cypress.io/app/get-started/why-cypress
21
+ - Repo: https://github.com/cypress-io/cypress
22
+ - Install: https://www.npmjs.com/package/cypress
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ npm install cypress --save-dev
27
+ ```
28
+ Source: https://docs.cypress.io/app/get-started/install-cypress (open the runner with `npx cypress open`; requires Node.js 20.x, 22.x, or >=24.x).
29
+
30
+ ## Core concepts
31
+ - **`cy` commands** — chained, retriable async actions like `cy.visit()`, `cy.get()`, `cy.click()`.
32
+ - **Automatic retry/waiting** — queries retry until assertions pass, removing most manual waits.
33
+ - **Selectors** — prefer `data-*` attributes via `cy.get('[data-cy=...]')` for stable targeting.
34
+ - **Fixtures** — load static JSON test data with `cy.fixture()`.
35
+ - **Network control** — `cy.intercept()` stubs, spies on, and asserts HTTP requests/responses.
36
+ - **Component testing** — mount framework components in isolation (React, Vue, Angular, Svelte).
37
+ - **Time-travel** — the runner snapshots each command for step-by-step DOM inspection.
38
+ - **Config** — `cypress.config.js` defines `baseUrl`, specs, viewport, and env per testing type.
39
+
40
+ ## Best practices
41
+ - Target elements with dedicated `data-*` attributes, not CSS/text (https://docs.cypress.io/app/core-concepts/best-practices).
42
+ - Do not assign command return values to vars; chain or use aliases (https://docs.cypress.io/app/core-concepts/variables-and-aliases).
43
+ - Set state via API/`cy.request` or tasks rather than UI for speed (https://docs.cypress.io/app/core-concepts/best-practices).
44
+ - Avoid arbitrary `cy.wait(ms)`; wait on aliased routes instead (https://docs.cypress.io/api/commands/wait).
45
+
46
+ ## Common pitfalls
47
+ - Mixing async/await with `cy` chains → use Cypress's command queue and `.then()`, not promises.
48
+ - Tests depend on prior test state → make each spec independent and reset between tests.
49
+ - Flaky `cy.wait(5000)` sleeps → `cy.intercept` a route, alias it, and `cy.wait('@alias')`.
50
+
51
+ ## Examples
52
+ ```js
53
+ describe('home page', () => {
54
+ it('loads and shows the heading', () => {
55
+ cy.visit('/');
56
+ cy.get('[data-cy=heading]').should('contain', 'Welcome');
57
+ });
58
+ });
59
+ ```
60
+
61
+ ## Further reading
62
+ - https://docs.cypress.io/api/table-of-contents — full command and assertion API
63
+ - https://docs.cypress.io/app/core-concepts/best-practices — official best-practices guide
64
+
65
+ ## Related skills
66
+ - ../playwright — alternative cross-browser E2E framework with multi-context support
67
+ - ../selenium — WebDriver-based browser automation across languages
68
+ - ../puppeteer — lower-level Chrome/Firefox automation library