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,75 @@
1
+ ---
2
+ name: alpine
3
+ description: Lightweight framework for composing JavaScript behavior directly in markup via x- attributes; consult for sprinkles of interactivity.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [alpinejs, declarative, markup, lightweight, reactivity]
7
+ official_sources:
8
+ - https://alpinejs.dev/start-here
9
+ - https://github.com/alpinejs/alpine
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Alpine.js
14
+
15
+ ## Overview
16
+ Alpine.js is a rugged, minimal framework for composing JavaScript behavior directly in your HTML using `x-` attributes. It offers reactive data, event handling, and DOM bindings without a build step, making it ideal for adding interactivity to mostly server-rendered pages. Read this when you want lightweight, declarative client behavior without a SPA framework.
17
+
18
+ ## Official sources
19
+ - Docs: https://alpinejs.dev/start-here
20
+ - Repo: https://github.com/alpinejs/alpine
21
+ - Install / download: https://alpinejs.dev/essentials/installation
22
+
23
+ ## Install / setup
24
+ Add via CDN (copied verbatim from alpinejs.dev/essentials/installation):
25
+
26
+ ```html
27
+ <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
28
+ ```
29
+
30
+ Or install via npm and initialize in your bundle:
31
+
32
+ ```bash
33
+ npm install alpinejs
34
+ ```
35
+
36
+ ```javascript
37
+ import Alpine from 'alpinejs'
38
+
39
+ window.Alpine = Alpine
40
+ Alpine.start()
41
+ ```
42
+
43
+ ## Core concepts
44
+ - **`x-data`** — declares a reactive component scope with state; required to activate Alpine on an element.
45
+ - **Directives** — `x-bind` (`:`), `x-on` (`@`), `x-model`, `x-show`, `x-if`, `x-for` wire state to the DOM.
46
+ - **`x-init`** — runs setup logic when a component initializes.
47
+ - **Reactivity** — Alpine tracks state in `x-data` and updates bindings when it changes.
48
+ - **Magics & globals** — `$el`, `$refs`, `$dispatch`, `$store` provide element refs, events, and shared state.
49
+ - **No build step** — works directly from a script tag for progressive enhancement.
50
+
51
+ ## Best practices
52
+ - Keep component state inside `x-data`; for shared state use `Alpine.store` / `$store`.
53
+ - Register plugins/extensions between importing Alpine and calling `Alpine.start()`.
54
+ - Call `Alpine.start()` only once per page to avoid multiple instances.
55
+ - Pin a specific version (e.g. `@3.13.3`) in production instead of the floating `@3.x.x` tag.
56
+
57
+ ## Common pitfalls
58
+ - Omitting the `defer` attribute on the CDN script → Alpine must defer so the DOM is ready; the docs require it.
59
+ - Forgetting `x-data` on a container → directives inside won't activate.
60
+ - Putting heavy logic inline in attributes → move it into methods within `x-data` for readability and reuse.
61
+
62
+ ## Examples
63
+ ```html
64
+ <div x-data="{ count: 0 }">
65
+ <button @click="count++">Clicked <span x-text="count"></span> times</button>
66
+ </div>
67
+ ```
68
+
69
+ ## Further reading
70
+ - https://alpinejs.dev/start-here — guided introduction
71
+ - https://alpinejs.dev/essentials/installation — installation options
72
+
73
+ ## Related skills
74
+ - ../htmx — hypermedia requests; pairs well with Alpine sprinkles
75
+ - ../lit — web components for heavier client logic
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: angular
3
+ description: Full-featured TypeScript frontend platform with CLI, DI, and reactive primitives; consult for components, signals, and Angular CLI apps.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [angular, typescript, cli, signals, dependency-injection, spa]
7
+ official_sources:
8
+ - https://angular.dev/
9
+ - https://github.com/angular/angular
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Angular
14
+
15
+ ## Overview
16
+ Angular is a full-featured, opinionated TypeScript framework and platform for building web applications, with a first-class CLI, dependency injection, routing, forms, and HTTP client included. Modern Angular uses standalone components and signals for reactivity. Read this when scaffolding with the Angular CLI, structuring components/services, or working with DI and signals.
17
+
18
+ ## Official sources
19
+ - Docs: https://angular.dev/
20
+ - Repo: https://github.com/angular/angular
21
+ - Install / download: https://angular.dev/installation
22
+
23
+ ## Install / setup
24
+ Install the CLI globally and create a project (copied verbatim from angular.dev/installation):
25
+
26
+ ```bash
27
+ npm install -g @angular/cli
28
+ ```
29
+
30
+ ```bash
31
+ ng new <project-name>
32
+ ```
33
+
34
+ ## Core concepts
35
+ - **Components** — classes with a template and styles, declared standalone in modern Angular.
36
+ - **Templates** — HTML with Angular syntax: bindings (`[prop]`, `(event)`), control flow (`@if`, `@for`), and interpolation.
37
+ - **Signals** — reactive primitives (`signal`, `computed`, `effect`) for fine-grained state.
38
+ - **Dependency injection** — services are provided and injected via the DI system (`inject()` / constructor injection).
39
+ - **Angular CLI** — `ng generate`, `ng serve`, `ng build` scaffold, run, and bundle apps.
40
+ - **Routing** — the Router maps URL paths to components.
41
+ - **RxJS** — Observables power async streams (HTTP, events) throughout the framework.
42
+
43
+ ## Best practices
44
+ - Prefer standalone components and the new control-flow syntax (`@if`, `@for`) for new code.
45
+ - Use signals for component state and `computed` for derived values.
46
+ - Use the CLI (`ng generate`) to scaffold consistent components, services, and routes.
47
+ - Provide services at the appropriate injector scope (root vs. component) to control lifetimes.
48
+ - Keep templates declarative; move logic into the component class or services.
49
+
50
+ ## Common pitfalls
51
+ - Forgetting to unsubscribe from long-lived Observables → use `async` pipe or `takeUntilDestroyed` to avoid leaks.
52
+ - Doing heavy work in templates → precompute with `computed`/signals or pure pipes.
53
+ - Mixing NgModules and standalone patterns inconsistently → follow the standalone-first guidance for new projects.
54
+
55
+ ## Examples
56
+ ```typescript
57
+ import { Component, signal } from '@angular/core';
58
+
59
+ @Component({
60
+ selector: 'app-counter',
61
+ standalone: true,
62
+ template: `<button (click)="count.set(count() + 1)">Clicked {{ count() }} times</button>`,
63
+ })
64
+ export class CounterComponent {
65
+ count = signal(0);
66
+ }
67
+ ```
68
+
69
+ ## Further reading
70
+ - https://angular.dev/overview — platform overview and guides
71
+ - https://angular.dev/tools/cli — Angular CLI reference
72
+
73
+ ## Related skills
74
+ - ../react — component UI library
75
+ - ../vue — progressive reactive framework
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: backbone
3
+ description: Backbone.js — a minimalist JavaScript MVC-ish library that gives web apps structure via Models, Collections, Views, Events, and a hash/pushState Router over a RESTful JSON API. Consult when working in a legacy or lightweight Backbone codebase, wiring model change events to view re-renders, syncing models/collections to a REST backend, defining client-side routes, or integrating with Underscore/jQuery and patterns like Marionette.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [backbone, backbonejs, mvc, underscore, jquery, frontend, javascript]
7
+ official_sources:
8
+ - https://backbonejs.org/
9
+ - https://github.com/jashkenas/backbone
10
+ - https://www.npmjs.com/package/backbone
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Backbone.js
15
+
16
+ ## Overview
17
+ Backbone.js is a small, unopinionated library that adds structure to JavaScript-heavy web apps with key-value-bound Models, ordered Collections, event-driven Views, and a Router, all connecting to an existing API over a RESTful JSON interface. Its only hard dependency is Underscore.js; jQuery (or Zepto) is used for DOM and Ajax. Read this when maintaining or extending a Backbone codebase, debugging model/view event wiring, or syncing data with a REST backend.
18
+
19
+ ## Official sources
20
+ - Docs: https://backbonejs.org/
21
+ - Repo: https://github.com/jashkenas/backbone
22
+ - Install: https://www.npmjs.com/package/backbone
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ npm install backbone underscore jquery
27
+ ```
28
+ Backbone's only hard dependency is Underscore.js (>= 1.8.3); jQuery (>= 1.11.0) is needed for `Backbone.View` DOM work and `Backbone.sync` (https://backbonejs.org/#Getting-started). You can also drop in `backbone-min.js` via a script tag from backbonejs.org.
29
+
30
+ ## Core concepts
31
+ - **Model** — key-value data with validation, defaults, and `change` events via `get`/`set`.
32
+ - **Collection** — ordered set of models with Underscore enumerable methods and `add`/`remove`/`reset` events.
33
+ - **View** — binds a DOM `el` to model/collection data, declares an `events` hash, and `render`s.
34
+ - **Events** — mixin (`on`/`off`/`trigger`, `listenTo`) usable on any object; foundation of all reactivity.
35
+ - **Router** — maps URL fragments to handlers using hashchange or History `pushState`.
36
+ - **Backbone.sync** — default persistence layer mapping CRUD to RESTful JSON (override for custom backends).
37
+ - **Backbone.history** — singleton started with `Backbone.history.start()` to begin route monitoring.
38
+ - **extend** — class-style inheritance helper (`Backbone.Model.extend({...})`) for all components.
39
+
40
+ ## Best practices
41
+ - Use `listenTo`/`stopListening` instead of `on` so views unbind cleanly and avoid leaks (https://backbonejs.org/#Events-listenTo).
42
+ - Keep view-managed DOM scoped to `this.$el` / the `events` hash rather than global selectors (https://backbonejs.org/#View-delegateEvents).
43
+ - Define `model` on Collections and `url`/`urlRoot` so `fetch`/`save` hit the right REST endpoint (https://backbonejs.org/#Collection-url).
44
+ - Implement `validate` and listen for `invalid` to reject bad `set`/`save` calls (https://backbonejs.org/#Model-validate).
45
+
46
+ ## Common pitfalls
47
+ - Re-binding handlers with `on` on re-render leaks listeners → use `listenTo` and call `remove()`/`stopListening` on teardown.
48
+ - Routes never fire because `Backbone.history.start()` was not called → start history after routers are constructed.
49
+ - Expecting reactive templates → Backbone does not auto-render; call `render()` from a `change` listener yourself.
50
+
51
+ ## Examples
52
+ ```javascript
53
+ var Todo = Backbone.Model.extend({ defaults: { done: false } });
54
+
55
+ var TodoView = Backbone.View.extend({
56
+ tagName: 'li',
57
+ events: { 'click .toggle': 'toggle' },
58
+ initialize: function () {
59
+ this.listenTo(this.model, 'change', this.render);
60
+ },
61
+ toggle: function () {
62
+ this.model.set('done', !this.model.get('done'));
63
+ },
64
+ render: function () {
65
+ this.$el.text(this.model.get('title'));
66
+ return this;
67
+ }
68
+ });
69
+
70
+ var view = new TodoView({ model: new Todo({ title: 'Learn Backbone' }) });
71
+ $('#list').append(view.render().el);
72
+ ```
73
+
74
+ ## Further reading
75
+ - https://backbonejs.org/#FAQ — official FAQ and design rationale
76
+ - https://backbonejs.org/examples/todos/ — the canonical TodoMVC-style example
77
+ - https://marionettejs.com/ — Marionette, a higher-level framework built on Backbone
78
+
79
+ ## Related skills
80
+ - ../jquery — DOM/Ajax layer Backbone relies on for views and sync
81
+ - ../react — modern component framework that superseded Backbone-era MVC
82
+ - ../ember — opinionated SPA framework contrast to Backbone's minimalism
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: ember
3
+ description: Ember.js — an opinionated, batteries-included JavaScript framework for ambitious web applications, built around Ember CLI, the Glimmer rendering engine, routing, components, and services. Consult when scaffolding or working in an Ember app, using ember-cli (ember new/serve/generate), writing Glimmer components or templates (.hbs), defining routes/models/controllers/services, wiring Ember Data, or upgrading via the conventional file layout and addon ecosystem.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [ember, emberjs, ember-cli, glimmer, ember-data, frontend, javascript]
7
+ official_sources:
8
+ - https://guides.emberjs.com/release/
9
+ - https://github.com/emberjs/ember.js
10
+ - https://cli.emberjs.com/release/
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Ember.js
15
+
16
+ ## Overview
17
+ Ember.js is a productive, opinionated frontend framework for building scalable single-page applications, with strong conventions, a powerful router, and a first-class CLI/build pipeline. It bundles routing, components (Glimmer), services, and an optional data layer (Ember Data) so teams share one idiomatic structure. Read this when scaffolding an Ember app, generating routes/components/services, writing Handlebars templates, or upgrading an existing Ember codebase.
18
+
19
+ ## Official sources
20
+ - Docs: https://guides.emberjs.com/release/
21
+ - Repo: https://github.com/emberjs/ember.js
22
+ - Install: https://cli.emberjs.com/release/basic-use/
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ npm install -g ember-cli
27
+ ember new my-app --lang en --strict
28
+ cd my-app
29
+ npm start # dev server at http://localhost:4200 (runs vite dev)
30
+ ```
31
+ Commands from the Ember CLI Basic Use guide and the Quick Start (https://cli.emberjs.com/release/basic-use/, https://guides.emberjs.com/release/getting-started/quick-start/).
32
+
33
+ ## Core concepts
34
+ - **Router & Routes** — `app/router.js` maps URLs to route handlers that load models and render templates.
35
+ - **Components (Glimmer)** — reusable UI; `.gjs`/`.gts` or paired `.hbs` + backing class; the modern default rendering layer.
36
+ - **Templates** — Handlebars `.hbs` with helpers, modifiers, and `{{outlet}}` for nested routing.
37
+ - **Services** — long-lived singletons (auth, state, API) injected with `@service`.
38
+ - **Ember Data** — store, models, adapters, and serializers for talking to a JSON/REST API.
39
+ - **Ember CLI** — scaffolding/build tool; `ember generate`, `ember serve`, `ember build`, Embroider + Vite build pipeline (Broccoli is the legacy/classic build).
40
+ - **Addons** — npm packages following Ember conventions to extend apps (`ember install <addon>`).
41
+ - **Octane edition** — Glimmer components, native classes, decorators (`@tracked`, `@action`), and template tags as the current idiom.
42
+
43
+ ## Best practices
44
+ - Prefer Glimmer components, `@tracked` state, and `@action` over legacy Classic components (https://guides.emberjs.com/release/upgrading/current-edition/).
45
+ - Use `ember generate <blueprint>` to keep files in the conventional layout and tests in sync (https://cli.emberjs.com/release/basic-use/cli-commands/).
46
+ - Put shared, stateful logic in services and inject with `@service` (https://guides.emberjs.com/release/services/).
47
+ - Keep route model hooks for data loading; keep components presentational (https://guides.emberjs.com/release/routing/specifying-a-routes-model/).
48
+ - Adopt Embroider for modern bundling and tree-shaking on new apps (https://github.com/embroider-build/embroider).
49
+
50
+ ## Common pitfalls
51
+ - Mutating tracked state in render → derive with getters or update inside `@action` handlers, not during rendering.
52
+ - Forgetting `{{outlet}}` in a parent template → nested routes render nothing; add the outlet.
53
+ - Skipping `ember generate` and hand-creating files → broken resolver lookups; use blueprints so naming/paths match.
54
+
55
+ ## Examples
56
+ ```javascript
57
+ // app/components/counter.js
58
+ import Component from '@glimmer/component';
59
+ import { tracked } from '@glimmer/tracking';
60
+ import { action } from '@ember/object';
61
+
62
+ export default class CounterComponent extends Component {
63
+ @tracked count = 0;
64
+
65
+ @action increment() {
66
+ this.count += 1;
67
+ }
68
+ }
69
+ ```
70
+ ```handlebars
71
+ {{! app/components/counter.hbs }}
72
+ <button type="button" {{on "click" this.increment}}>
73
+ Clicked {{this.count}} times
74
+ </button>
75
+ ```
76
+
77
+ ## Further reading
78
+ - https://guides.emberjs.com/release/tutorial/part-1/ — Super Rentals official tutorial
79
+ - https://api.emberjs.com/ember/release/ — full API reference
80
+ - https://github.com/embroider-build/embroider — next-gen build system
81
+
82
+ ## Related skills
83
+ - ../react — component-based SPA alternative with a different rendering model
84
+ - ../vue — progressive framework comparison for SFC/component design
85
+ - ../angular — another opinionated, batteries-included SPA framework
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: htmx
3
+ description: HTML-over-the-wire hypermedia library that adds AJAX, SSE, and swaps via attributes; consult for server-rendered interactivity without SPA JS.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [htmx, hypermedia, ajax, html-over-the-wire, server-rendered]
7
+ official_sources:
8
+ - https://htmx.org/docs/
9
+ - https://github.com/bigskysoftware/htmx
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # htmx
14
+
15
+ ## Overview
16
+ htmx is a small dependency-free library that extends HTML with attributes for AJAX, CSS transitions, WebSockets, and Server-Sent Events, letting any element issue requests and swap the returned HTML into the page. It follows the hypermedia (HTML-over-the-wire) approach: the server returns HTML fragments rather than JSON, keeping interactivity logic on the server. Read this when adding dynamic behavior to server-rendered apps without a SPA framework.
17
+
18
+ ## Official sources
19
+ - Docs: https://htmx.org/docs/
20
+ - Repo: https://github.com/bigskysoftware/htmx
21
+ - Install / download: https://htmx.org/docs/#installing
22
+
23
+ ## Install / setup
24
+ Load via CDN (copied verbatim from htmx.org/docs/#installing):
25
+
26
+ ```html
27
+ <script src="https://cdn.jsdelivr.net/npm/htmx.org@2.0.10/dist/htmx.min.js" integrity="sha384-H5SrcfygHmAuTDZphMHqBJLc3FhssKjG7w/CeCpFReSfwBWDTKpkzPP8c+cLsK+V" crossorigin="anonymous"></script>
28
+ ```
29
+
30
+ Or install via npm and import in your bundle:
31
+
32
+ ```bash
33
+ npm install htmx.org@2.0.10
34
+ ```
35
+
36
+ ```javascript
37
+ import 'htmx.org';
38
+ ```
39
+
40
+ ## Core concepts
41
+ - **Hypermedia exchange** — the server responds with HTML fragments that htmx swaps into the DOM.
42
+ - **`hx-get` / `hx-post` (and other verbs)** — issue AJAX requests from any element.
43
+ - **Triggers (`hx-trigger`)** — choose which events fire a request (click, change, load, intervals, etc.).
44
+ - **Targets (`hx-target`) and swaps (`hx-swap`)** — control which element is updated and how (`innerHTML`, `outerHTML`, `beforeend`, …).
45
+ - **`hx-boost`** — progressively enhances normal links/forms into AJAX requests.
46
+ - **Extensions & events** — SSE/WebSocket extensions and a lifecycle event model for hooks.
47
+
48
+ ## Best practices
49
+ - Have the server return small HTML partials targeted at the element being swapped.
50
+ - Use `hx-target` and `hx-swap` explicitly so updates land where you intend.
51
+ - Prefer progressive enhancement (`hx-boost`) so pages still work without JS.
52
+ - Pin a specific htmx version (and use the integrity hash / self-host) in production.
53
+
54
+ ## Common pitfalls
55
+ - Returning JSON and expecting it to render → htmx swaps HTML; return HTML fragments.
56
+ - Forgetting to re-initialize event handlers for swapped content → rely on htmx attributes or `htmx.process()` rather than one-time JS bindings.
57
+ - Over-broad swap targets clobbering page state → scope `hx-target` to the smallest fragment that needs updating.
58
+
59
+ ## Examples
60
+ ```html
61
+ <button hx-post="/clicked" hx-target="#result" hx-swap="innerHTML">
62
+ Click me
63
+ </button>
64
+ <div id="result"></div>
65
+ ```
66
+
67
+ ## Further reading
68
+ - https://htmx.org/docs/ — full documentation
69
+ - https://htmx.org/examples/ — official examples (UX patterns)
70
+
71
+ ## Related skills
72
+ - ../alpine — pairs well for client-side sprinkles alongside htmx
73
+ - ../lit — web components for richer client logic
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: lit
3
+ description: Lightweight base library for building fast, standards-based Web Components; consult for LitElement, reactive properties, and html templates.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [lit, web-components, custom-elements, shadow-dom, templates]
7
+ official_sources:
8
+ - https://lit.dev/docs/
9
+ - https://github.com/lit/lit
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Lit
14
+
15
+ ## Overview
16
+ Lit is a small library for building fast, lightweight Web Components on top of native browser standards (Custom Elements, Shadow DOM). Its `LitElement` base class adds reactive properties and efficient declarative templates via tagged template literals, with no heavy framework runtime. Read this when authoring reusable, framework-agnostic components that work in any page or framework.
17
+
18
+ ## Official sources
19
+ - Docs: https://lit.dev/docs/
20
+ - Repo: https://github.com/lit/lit
21
+ - Install / download: https://lit.dev/docs/getting-started/
22
+
23
+ ## Install / setup
24
+ Install via npm (copied verbatim from lit.dev/docs/getting-started/):
25
+
26
+ ```bash
27
+ npm i lit
28
+ ```
29
+
30
+ Then import the base class and helpers:
31
+
32
+ ```javascript
33
+ import {LitElement, html} from 'lit';
34
+ import {customElement, property} from 'lit/decorators.js';
35
+ ```
36
+
37
+ ## Core concepts
38
+ - **Web Components** — Lit builds on native Custom Elements and Shadow DOM, so components are portable across frameworks.
39
+ - **`LitElement`** — base class providing the reactive update lifecycle.
40
+ - **Reactive properties** — `@property()`/`@state()` trigger efficient re-renders when they change.
41
+ - **`html` templates** — tagged template literals describe markup; Lit updates only the dynamic parts.
42
+ - **Scoped styles** — `static styles` with the `css` tag are encapsulated via Shadow DOM.
43
+ - **Reactive update lifecycle** — `willUpdate`, `render`, `updated` hooks run around each render.
44
+
45
+ ## Best practices
46
+ - Use `@property()` for public attributes/properties and `@state()` for internal reactive state.
47
+ - Define styles with the `css` tagged literal in `static styles` so they're parsed once and shared.
48
+ - Keep `render()` a pure function of reactive properties; perform side effects in `updated()`.
49
+ - For npm projects use the `lit` package, not the CDN bundles, to avoid shipping redundant code.
50
+
51
+ ## Common pitfalls
52
+ - Mutating objects/arrays in place without reassigning → Lit detects property changes by identity; assign a new value or call `requestUpdate()`.
53
+ - Forgetting to register the element (`@customElement('x-y')` or `customElements.define`) → the tag won't upgrade.
54
+ - Expecting global CSS to pierce Shadow DOM → style inside the component or use documented theming hooks (CSS custom properties / `::part`).
55
+
56
+ ## Examples
57
+ ```typescript
58
+ import {LitElement, html} from 'lit';
59
+ import {customElement, state} from 'lit/decorators.js';
60
+
61
+ @customElement('my-counter')
62
+ export class MyCounter extends LitElement {
63
+ @state() count = 0;
64
+ render() {
65
+ return html`<button @click=${() => this.count++}>Clicked ${this.count} times</button>`;
66
+ }
67
+ }
68
+ ```
69
+
70
+ ## Further reading
71
+ - https://lit.dev/docs/components/overview/ — component authoring guide
72
+ - https://lit.dev/docs/templates/overview/ — templating reference
73
+
74
+ ## Related skills
75
+ - ../alpine — declarative behavior in markup
76
+ - ../htmx — hypermedia-driven interactivity
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: preact
3
+ description: Tiny (~4kB) React-compatible UI library with the same modern API; consult for lightweight apps and React-to-Preact aliasing.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [preact, react-alternative, virtual-dom, hooks, lightweight, ui]
7
+ official_sources:
8
+ - https://preactjs.com/guide/v10/getting-started/
9
+ - https://github.com/preactjs/preact
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Preact
14
+
15
+ ## Overview
16
+ Preact is a fast, ~4kB alternative to React with the same modern API (components, virtual DOM, hooks). It targets bundle-size-sensitive projects and can often run existing React code via the `preact/compat` aliasing layer. Read this when you need React-like ergonomics with a tiny footprint or are migrating between React and Preact.
17
+
18
+ ## Official sources
19
+ - Docs: https://preactjs.com/guide/v10/getting-started/
20
+ - Repo: https://github.com/preactjs/preact
21
+ - Install / download: https://preactjs.com/guide/v10/getting-started/
22
+
23
+ ## Install / setup
24
+ Scaffold a project with the official `create-preact` initializer (copied verbatim from preactjs.com/guide/v10/getting-started/):
25
+
26
+ ```bash
27
+ npm init preact
28
+ ```
29
+
30
+ To add Preact to an existing build:
31
+
32
+ ```bash
33
+ npm install preact
34
+ ```
35
+
36
+ ## Core concepts
37
+ - **Components & virtual DOM** — same component model and diffing approach as React.
38
+ - **Hooks** — `useState`, `useEffect`, etc. via `preact/hooks`.
39
+ - **JSX / `h`** — JSX compiles to Preact's `h` (hyperscript) factory; configurable per build.
40
+ - **`preact/compat`** — alias layer mapping `react`/`react-dom` to Preact so many React libraries work unchanged.
41
+ - **Signals** — `@preact/signals` offers fine-grained reactive state as an alternative to hooks.
42
+ - **Small footprint** — the runtime is intentionally tiny, reducing load and parse time.
43
+
44
+ ## Best practices
45
+ - Import hooks from `preact/hooks` (not from a `react` import) unless using `preact/compat`.
46
+ - Use `preact/compat` aliases in your bundler when consuming React-ecosystem libraries.
47
+ - Consider `@preact/signals` for performant shared state in larger apps.
48
+ - Pin the Preact major version and verify third-party React libs against `compat`.
49
+
50
+ ## Common pitfalls
51
+ - Assuming 100% React API parity → some React internals/behaviors differ; test libraries under `compat`.
52
+ - Mixing real `react` and Preact in one bundle without aliasing → configure the bundler alias so only one runtime loads.
53
+ - Forgetting JSX pragma config when not using a preset → set the JSX import source / `h` pragma per the docs.
54
+
55
+ ## Examples
56
+ ```jsx
57
+ import { render } from 'preact';
58
+ import { useState } from 'preact/hooks';
59
+
60
+ function Counter() {
61
+ const [count, setCount] = useState(0);
62
+ return <button onClick={() => setCount(count + 1)}>Clicked {count} times</button>;
63
+ }
64
+
65
+ render(<Counter />, document.getElementById('app'));
66
+ ```
67
+
68
+ ## Further reading
69
+ - https://preactjs.com/guide/v10/getting-started/ — getting started guide
70
+ - https://preactjs.com/guide/v10/switching-to-preact/ — switching from React via compat
71
+
72
+ ## Related skills
73
+ - ../react — the API Preact mirrors
74
+ - ../solidjs — fine-grained reactive alternative
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: qwik
3
+ description: Resumable web framework with instant loading and O(1) hydration via lazy execution; consult for Qwik components and SSR resumability.
4
+ domain: stack
5
+ category: frontend
6
+ tags: [qwik, resumability, hydration, ssr, lazy-loading, ui]
7
+ official_sources:
8
+ - https://qwik.dev/docs/
9
+ - https://github.com/QwikDev/qwik
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Qwik
14
+
15
+ ## Overview
16
+ Qwik is a JavaScript framework focused on instant-loading web apps through **resumability**: instead of replaying app setup on the client (hydration), it serializes server state into HTML and resumes execution on demand. This makes initial JS execution effectively O(1) regardless of app size. Read this when building Qwik components, optimizing time-to-interactive, or using QwikCity for routing/SSR.
17
+
18
+ ## Official sources
19
+ - Docs: https://qwik.dev/docs/
20
+ - Repo: https://github.com/QwikDev/qwik
21
+ - Install / download: https://qwik.dev/docs/getting-started/
22
+
23
+ ## Install / setup
24
+ Create a project with the official CLI (copied verbatim from qwik.dev/docs/getting-started/):
25
+
26
+ ```bash
27
+ npm create qwik@latest
28
+ ```
29
+
30
+ ## Core concepts
31
+ - **Resumability** — the app resumes from serialized server state instead of re-running setup (hydration) on the client.
32
+ - **The `$` boundary** — `$()` and suffixed APIs (e.g. `onClick$`) mark lazy-loadable, serializable code the optimizer can split.
33
+ - **Components** — `component$()` defines components whose handlers load only when needed.
34
+ - **Reactive state** — `useSignal()` and `useStore()` hold reactive state across server and client.
35
+ - **The Optimizer** — Qwik's build step splits code at `$` boundaries into fine-grained lazy chunks.
36
+ - **QwikCity** — the meta-framework for routing, layouts, and data loading/actions.
37
+
38
+ ## Best practices
39
+ - Wrap event handlers and lazy logic in `$` (e.g. `onClick$`) so the optimizer can defer them.
40
+ - Use `useSignal`/`useStore` for state so values serialize and resume correctly.
41
+ - Keep captured closures serializable; avoid referencing non-serializable values across `$` boundaries.
42
+ - Use QwikCity `routeLoader$`/`routeAction$` for data instead of ad-hoc client fetching.
43
+
44
+ ## Common pitfalls
45
+ - Capturing non-serializable values (DOM nodes, class instances) inside `$` closures → keep captured state serializable.
46
+ - Treating Qwik like React (eager hydration mindset) → handlers and components are loaded lazily on interaction.
47
+ - Forgetting the `$` suffix on handlers → the optimizer can't lazy-split, hurting the resumability benefit.
48
+
49
+ ## Examples
50
+ ```tsx
51
+ import { component$, useSignal } from '@builder.io/qwik';
52
+
53
+ export const Counter = component$(() => {
54
+ const count = useSignal(0);
55
+ return <button onClick$={() => count.value++}>Clicked {count.value} times</button>;
56
+ });
57
+ ```
58
+
59
+ ## Further reading
60
+ - https://qwik.dev/docs/getting-started/ — getting started
61
+ - https://qwik.dev/docs/concepts/resumable/ — resumability concept
62
+
63
+ ## Related skills
64
+ - ../react — JSX component library (eager hydration model)
65
+ - ../solidjs — fine-grained reactive library