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,76 @@
1
+ ---
2
+ name: erlang
3
+ description: Erlang is a functional, concurrent language built on the BEAM VM and OTP framework for fault-tolerant, distributed, soft-real-time systems using lightweight processes and message passing; consult when writing Erlang, using OTP behaviours (gen_server/supervisor), pattern matching, or building telecom-grade, highly available systems.
4
+ domain: language
5
+ category: language
6
+ tags: [erlang, beam, otp, concurrency, actor-model, distributed, fault-tolerant]
7
+ official_sources:
8
+ - https://www.erlang.org/docs
9
+ - https://github.com/erlang/otp
10
+ - https://www.erlang.org/downloads
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Erlang
15
+
16
+ ## Overview
17
+ Erlang is a functional, concurrent language that runs on the BEAM virtual machine and ships with OTP, a framework for building fault-tolerant, distributed, soft-real-time systems. Concurrency is modeled with cheap isolated processes communicating by asynchronous message passing ("let it crash" with supervision). Read this when writing Erlang, using OTP behaviours like `gen_server` and `supervisor`, or building highly available distributed systems.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.erlang.org/docs
21
+ - Repo: https://github.com/erlang/otp
22
+ - Install: https://www.erlang.org/downloads
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # macOS (Homebrew); or use the installers/source at erlang.org/downloads
27
+ brew install erlang
28
+ erl # start the Erlang shell
29
+ ```
30
+ Install options per https://www.erlang.org/downloads (source build, prebuilt packages, kerl/asdf/mise are all documented there).
31
+
32
+ ## Core concepts
33
+ - **Lightweight processes** — `spawn` creates isolated, scheduler-managed processes (not OS threads); millions can run.
34
+ - **Message passing** — processes communicate with `!` (send) and `receive`; no shared mutable state.
35
+ - **Pattern matching** — bind and destructure in function heads, `case`, and `receive` clauses.
36
+ - **Immutability & single assignment** — variables are bound once; data is immutable.
37
+ - **OTP behaviours** — `gen_server`, `supervisor`, `application`, and `gen_statem` encode proven design patterns.
38
+ - **Supervision trees & "let it crash"** — supervisors restart failed children rather than coding defensive error handling.
39
+ - **Hot code loading** — modules can be upgraded in a running system without downtime.
40
+ - **Distribution** — nodes connect transparently; remote sends look like local sends.
41
+
42
+ ## Best practices
43
+ - Structure systems as supervision trees using OTP behaviours instead of raw `spawn` (https://www.erlang.org/doc/system/design_principles.html).
44
+ - Embrace "let it crash": handle the expected path, let supervisors recover from the unexpected (https://www.erlang.org/doc/system/sup_princ.html).
45
+ - Keep processes small and single-purpose; isolate state per process (https://www.erlang.org/docs).
46
+ - Use `gen_server` for stateful services rather than hand-rolling receive loops (https://www.erlang.org/doc/system/gen_server_concepts.html).
47
+
48
+ ## Common pitfalls
49
+ - Unbounded mailbox growth from selective `receive` not matching messages → match all expected messages and drain/log unexpected ones.
50
+ - Treating processes as cheap shared-memory objects → they have isolated heaps; pass data via messages, copying cost matters for large terms.
51
+ - Blocking a `gen_server` callback with long work → offload to a worker/task process to keep the server responsive.
52
+
53
+ ## Examples
54
+ ```erlang
55
+ -module(counter).
56
+ -behaviour(gen_server).
57
+ -export([start_link/0, inc/0, get/0]).
58
+ -export([init/1, handle_call/3, handle_cast/2]).
59
+
60
+ start_link() -> gen_server:start_link({local, ?MODULE}, ?MODULE, 0, []).
61
+ inc() -> gen_server:cast(?MODULE, inc).
62
+ get() -> gen_server:call(?MODULE, get).
63
+
64
+ init(N) -> {ok, N}.
65
+ handle_cast(inc, N) -> {noreply, N + 1}.
66
+ handle_call(get, _F, N) -> {reply, N, N}.
67
+ ```
68
+
69
+ ## Further reading
70
+ - https://www.erlang.org/docs — official Erlang/OTP documentation hub
71
+ - https://www.erlang.org/doc/system/design_principles.html — OTP design principles
72
+ - https://www.erlang.org/course — getting-started course on erlang.org
73
+
74
+ ## Related skills
75
+ - ../clojure — shares a functional, immutability-first philosophy on a VM
76
+ - ../haskell — another functional language; contrast pure/lazy vs concurrent/eager
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: go
3
+ description: Compiled, concurrent language for simple, reliable network services; consult for goroutines, modules, and tooling.
4
+ domain: language
5
+ category: language
6
+ tags: [go, golang, concurrency, goroutines, modules]
7
+ official_sources:
8
+ - https://go.dev/doc/
9
+ - https://github.com/golang/go
10
+ - https://go.dev/dl/
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # Go
15
+
16
+ ## Overview
17
+ Go is an open-source programming language that makes it easy to build simple, reliable, and efficient software. It is statically typed and compiled, ships with a garbage collector, and provides built-in concurrency primitives (goroutines and channels) designed for network services and tooling. Read this for the module system, concurrency model, and the standard toolchain.
18
+
19
+ ## Official sources
20
+ - Docs: https://go.dev/doc/
21
+ - Repo: https://github.com/golang/go
22
+ - Install / download: https://go.dev/dl/
23
+
24
+ ## Install / setup
25
+ Download the installer for your platform from https://go.dev/dl/ and follow the instructions at https://go.dev/doc/install. Verify the install:
26
+ ```bash
27
+ go version
28
+ ```
29
+
30
+ ## Core concepts
31
+ - Goroutines and channels: lightweight concurrent functions started with `go`, communicating over typed channels ("share memory by communicating").
32
+ - Modules: dependency management via `go.mod`/`go.sum`; a module is a versioned collection of packages.
33
+ - Interfaces are implicit: a type satisfies an interface simply by implementing its methods — no explicit `implements`.
34
+ - Explicit error handling: functions return `error` values that callers check; no exceptions for ordinary control flow.
35
+ - Structs and methods: data is grouped in structs; methods attach to types via receivers; no class inheritance, composition instead.
36
+ - The standard toolchain: `go build`, `go run`, `go test`, `go fmt`, and `go vet` are part of the official distribution.
37
+ - Defer/panic/recover: `defer` schedules cleanup; `panic`/`recover` are for truly exceptional conditions, not normal errors.
38
+
39
+ ## Best practices
40
+ - Format code with `gofmt`/`go fmt` — canonical formatting is part of the language culture and is non-negotiable in idiomatic Go.
41
+ - Handle every returned `error`; wrap with context using `fmt.Errorf("...: %w", err)` rather than discarding it.
42
+ - Use `context.Context` to carry cancellation and deadlines through call chains, especially for servers.
43
+ - Keep interfaces small and define them at the consumer; prefer composition over inheritance.
44
+
45
+ ## Common pitfalls
46
+ - Ignoring returned errors (`val, _ := ...`) → silently drops failures; check and propagate them.
47
+ - Loop-variable capture in goroutines/closures → in older Go versions the variable was shared; capture explicitly or rely on the per-iteration scoping of recent Go.
48
+ - Unbuffered channel deadlocks → a send blocks until a receiver is ready; ensure a consumer exists or use buffering/`select`.
49
+ - Data races on shared state → guard with channels, `sync.Mutex`, or run `go test -race` to detect them.
50
+
51
+ ## Examples
52
+ ```go
53
+ package main
54
+
55
+ import (
56
+ "fmt"
57
+ "sync"
58
+ )
59
+
60
+ func main() {
61
+ var wg sync.WaitGroup
62
+ results := make(chan int, 3)
63
+ for i := 1; i <= 3; i++ {
64
+ wg.Add(1)
65
+ go func(n int) {
66
+ defer wg.Done()
67
+ results <- n * n
68
+ }(i)
69
+ }
70
+ wg.Wait()
71
+ close(results)
72
+ for r := range results {
73
+ fmt.Println(r)
74
+ }
75
+ }
76
+ ```
77
+
78
+ ## Further reading
79
+ - A Tour of Go: https://go.dev/tour/
80
+ - Effective Go: https://go.dev/doc/effective_go
81
+
82
+ ## Related skills
83
+ - (sibling language skills under ../)
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: haskell
3
+ description: Haskell is a statically typed, purely functional, lazily evaluated language with type inference and monadic effects, compiled by GHC; consult when writing Haskell, installing the toolchain via GHCup, using Cabal or Stack, reasoning about type classes, monads, laziness, or pure functional design.
4
+ domain: language
5
+ category: language
6
+ tags: [haskell, functional, ghc, cabal, stack, type-classes, monads]
7
+ official_sources:
8
+ - https://www.haskell.org/documentation/
9
+ - https://gitlab.haskell.org/ghc/ghc
10
+ - https://www.haskell.org/ghcup/install/
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Haskell
15
+
16
+ ## Overview
17
+ Haskell is a statically typed, purely functional language with global type inference, lazy (non-strict) evaluation, and effects tracked in the type system via monads. The reference compiler is GHC, and packages come from Hackage/Stackage. Read this when writing Haskell, setting up the toolchain with GHCup, building with Cabal or Stack, or reasoning about type classes, monads, and laziness.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.haskell.org/documentation/
21
+ - Repo: https://gitlab.haskell.org/ghc/ghc
22
+ - Install: https://www.haskell.org/ghcup/install/
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # GHCup installs GHC, Cabal, Stack, and HLS (Linux/macOS/WSL)
27
+ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
28
+ ```
29
+ Command per https://www.haskell.org/ghcup/install/ (Windows uses the PowerShell bootstrap on the same page).
30
+
31
+ ## Core concepts
32
+ - **Purity & referential transparency** — functions have no side effects; the same input always yields the same output.
33
+ - **Lazy evaluation** — expressions evaluate only when needed, enabling infinite data structures but requiring care with space.
34
+ - **Strong static types + inference** — the compiler infers most types; `Maybe`/`Either` encode absence and errors without exceptions.
35
+ - **Type classes** — ad-hoc polymorphism (`Eq`, `Ord`, `Functor`, `Monad`) constrain types by capability.
36
+ - **Monads & `do` notation** — sequence effectful computations (`IO`, `Maybe`, `State`) while staying pure.
37
+ - **Algebraic data types & pattern matching** — `data` declares sum/product types deconstructed by pattern match.
38
+ - **GHC & extensions** — the de-facto compiler; `{-# LANGUAGE ... #-}` pragmas enable language extensions.
39
+ - **Cabal / Stack** — build tools; Cabal uses `.cabal`/`cabal.project`, Stack pins curated Stackage snapshots.
40
+
41
+ ## Best practices
42
+ - Manage the toolchain with GHCup and an editor using HLS for type-aware feedback (https://www.haskell.org/ghcup/steps/).
43
+ - Compile with `-Wall` and fix warnings; let types guide design (https://downloads.haskell.org/ghc/latest/docs/users_guide/using-warnings.html).
44
+ - Prefer total functions; use `Maybe`/`Either` over partial functions like `head` on possibly-empty lists (https://www.haskell.org/documentation/).
45
+ - Pin reproducible builds with a Stackage resolver or a Cabal freeze file (https://docs.haskellstack.org/).
46
+
47
+ ## Common pitfalls
48
+ - Thunk buildup from lazy accumulators → use strict folds (`foldl'`) and `BangPatterns`/`seq` to force evaluation.
49
+ - Using partial functions (`head`, `fromJust`) on empty/`Nothing` values → pattern-match or use safe variants.
50
+ - Confusing `IO a` ordering → sequence effects with `do`/`>>=`; pure values never "run".
51
+
52
+ ## Examples
53
+ ```haskell
54
+ import Data.List (sortOn, group, sort)
55
+ import Data.Ord (Down(..))
56
+
57
+ wordFreq :: String -> [(String, Int)]
58
+ wordFreq = sortOn (Down . snd)
59
+ . map (\ws -> (head ws, length ws))
60
+ . group . sort . words
61
+ ```
62
+
63
+ ## Further reading
64
+ - https://www.haskell.org/documentation/ — official documentation hub
65
+ - https://downloads.haskell.org/ghc/latest/docs/users_guide/ — GHC user's guide
66
+ - https://hackage.haskell.org/ — central package repository
67
+
68
+ ## Related skills
69
+ - ../clojure — another functional language built on immutability and pure functions
70
+ - ../erlang — functional language with a different (eager, concurrency-first) emphasis
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: java
3
+ description: JVM object-oriented, statically typed language; consult for OOP, the JDK toolchain, and runtime/build basics.
4
+ domain: language
5
+ category: language
6
+ tags: [java, jvm, openjdk, oop, temurin]
7
+ official_sources:
8
+ - https://docs.oracle.com/en/java/
9
+ - https://github.com/openjdk/jdk
10
+ - https://adoptium.net/installation/
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # Java
15
+
16
+ ## Overview
17
+ Java is a statically typed, object-oriented, class-based language that compiles to bytecode and runs on the Java Virtual Machine (JVM), giving it "write once, run anywhere" portability. OpenJDK is the open-source reference implementation; Eclipse Temurin (from Adoptium) is a widely used prebuilt OpenJDK distribution. Read this for OOP fundamentals, the JDK toolchain, and runtime/build basics.
18
+
19
+ ## Official sources
20
+ - Docs: https://docs.oracle.com/en/java/
21
+ - Repo (OpenJDK): https://github.com/openjdk/jdk
22
+ - Install (Eclipse Temurin / Adoptium): https://adoptium.net/installation/
23
+
24
+ ## Install / setup
25
+ Install Eclipse Temurin (OpenJDK). On Windows via winget, per https://adoptium.net/installation/:
26
+ ```bash
27
+ winget install EclipseAdoptium.Temurin.25.JDK
28
+ ```
29
+ On other platforms use the package managers, installers, or archives listed on the Adoptium installation page.
30
+
31
+ ## Core concepts
32
+ - Classes and objects: code is organized into classes; objects are instances. Single inheritance of classes, multiple inheritance of interfaces.
33
+ - Static typing and the type system: types are checked at compile time; generics provide type-safe collections and APIs.
34
+ - The JVM and bytecode: `javac` compiles `.java` to `.class` bytecode that the JVM executes, with JIT compilation and garbage collection.
35
+ - Interfaces and abstraction: interfaces define contracts; abstract classes provide partial implementation.
36
+ - Checked vs. unchecked exceptions: checked exceptions must be declared or handled; unchecked (RuntimeException) need not be.
37
+ - Packages and the module system: packages namespace classes; the JPMS module system (`module-info.java`) adds explicit dependencies.
38
+ - Build tools and the classpath: Maven/Gradle manage dependencies and builds; the classpath/modulepath locates classes at runtime.
39
+
40
+ ## Best practices
41
+ - Program to interfaces, not implementations, so code depends on contracts rather than concrete classes.
42
+ - Prefer immutability for value types and use `final` where appropriate to make intent and thread-safety clearer.
43
+ - Use a build tool (Maven or Gradle) and declared dependencies instead of manually managing JARs on the classpath.
44
+ - Close resources deterministically with try-with-resources for anything implementing `AutoCloseable`.
45
+
46
+ ## Common pitfalls
47
+ - Calling methods on a `null` reference → guard with checks or use `Optional` to express absence at API boundaries.
48
+ - Comparing objects with `==` instead of `.equals()` → `==` compares references; override/use `equals`/`hashCode` consistently.
49
+ - Forgetting to close streams/connections → leaks resources; use try-with-resources.
50
+ - Mutable shared state across threads without synchronization → causes races; use immutability, `synchronized`, or `java.util.concurrent`.
51
+
52
+ ## Examples
53
+ ```java
54
+ import java.nio.file.Files;
55
+ import java.nio.file.Path;
56
+ import java.util.List;
57
+
58
+ public class ReadLines {
59
+ public static void main(String[] args) throws Exception {
60
+ List<String> lines = Files.readAllLines(Path.of("data.txt"));
61
+ lines.forEach(System.out::println);
62
+ }
63
+ }
64
+ ```
65
+
66
+ ## Further reading
67
+ - Java SE documentation (Oracle): https://docs.oracle.com/en/java/javase/
68
+ - OpenJDK project: https://openjdk.org/
69
+
70
+ ## Related skills
71
+ - ../kotlin — modern JVM language interoperable with Java
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: javascript
3
+ description: Dynamic, prototype-based language of the web (ECMAScript); consult for core semantics, async, and modern syntax.
4
+ domain: language
5
+ category: language
6
+ tags: [javascript, ecmascript, web, async, es modules]
7
+ official_sources:
8
+ - https://developer.mozilla.org/en-US/docs/Web/JavaScript
9
+ - https://github.com/tc39/ecma262
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # JavaScript
14
+
15
+ ## Overview
16
+ JavaScript is a lightweight, interpreted (or just-in-time compiled) programming language with first-class functions. Best known as the scripting language of web pages, it also runs in many non-browser environments such as Node.js. It is a prototype-based, garbage-collected, dynamic, multi-paradigm language standardized as ECMAScript. Read this for core language semantics, asynchronous patterns, and modern module syntax.
17
+
18
+ ## Official sources
19
+ - Docs (reference): https://developer.mozilla.org/en-US/docs/Web/JavaScript
20
+ - Language standard repo (ECMA-262 / TC39): https://github.com/tc39/ecma262
21
+
22
+ ## Core concepts
23
+ - Dynamic typing: variables are not bound to a type; values carry types and can change. Primitives include string, number, bigint, boolean, undefined, null, symbol; everything else is an object.
24
+ - First-class functions and closures: functions are values that can be passed, returned, and capture their lexical scope.
25
+ - Prototype-based inheritance: objects inherit directly from other objects via the prototype chain; `class` syntax is sugar over prototypes.
26
+ - The event loop and asynchronous model: single-threaded with non-blocking I/O via callbacks, Promises, and `async`/`await`.
27
+ - Scoping and hoisting: `let`/`const` are block-scoped (with a temporal dead zone); `var` is function-scoped; declarations are hoisted.
28
+ - Strict equality vs. coercion: `===` compares without type coercion; `==` performs coercion and is a frequent source of surprises.
29
+ - ES modules: `import`/`export` provide the standardized module system across browsers and Node.js.
30
+
31
+ ## Best practices
32
+ - Prefer `const` by default and `let` when reassignment is needed; avoid `var` to escape function-scope and hoisting surprises (per MDN guidance).
33
+ - Use strict equality (`===` / `!==`) rather than loose equality to avoid implicit coercion bugs.
34
+ - Handle Promise rejections — `await` inside `try/catch`, or attach `.catch()` — to avoid unhandled rejections.
35
+ - Use ES module `import`/`export` for clear, statically analyzable dependencies.
36
+
37
+ ## Common pitfalls
38
+ - Relying on `this` binding inside detached callbacks → use arrow functions (which capture lexical `this`) or bind explicitly.
39
+ - Loose equality and truthiness surprises (`0`, `""`, `null`, `undefined`, `NaN`) → use `===` and explicit checks.
40
+ - Floating-point arithmetic precision (e.g. `0.1 + 0.2 !== 0.3`) → round for display or use integer/bigint math where exactness matters.
41
+ - Mutating shared objects/arrays unexpectedly → copy (spread, structuredClone) before mutating when isolation is needed.
42
+
43
+ ## Examples
44
+ ```javascript
45
+ async function fetchUser(id) {
46
+ try {
47
+ const res = await fetch(`/api/users/${id}`);
48
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
49
+ return await res.json();
50
+ } catch (err) {
51
+ console.error("fetchUser failed", err);
52
+ throw err;
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## Further reading
58
+ - MDN JavaScript Guide: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide
59
+ - ECMAScript draft spec: https://tc39.es/ecma262/
60
+
61
+ ## Related skills
62
+ - ../typescript — typed superset that compiles to JavaScript
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: kotlin
3
+ description: Concise, modern JVM language fully interoperable with Java; consult for null safety, coroutines, and tooling.
4
+ domain: language
5
+ category: language
6
+ tags: [kotlin, jvm, null-safety, coroutines, multiplatform]
7
+ official_sources:
8
+ - https://kotlinlang.org/docs/home.html
9
+ - https://github.com/JetBrains/kotlin
10
+ - https://kotlinlang.org/docs/getting-started.html
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # Kotlin
15
+
16
+ ## Overview
17
+ Kotlin is a concise, statically typed, multiplatform language developed by JetBrains. It runs primarily on the JVM with full two-way interoperability with Java, and also targets Android, native, and other platforms. It emphasizes null safety, expressive syntax, and structured concurrency via coroutines. Read this for null safety, coroutines, and the recommended getting-started path.
18
+
19
+ ## Official sources
20
+ - Docs: https://kotlinlang.org/docs/home.html
21
+ - Repo: https://github.com/JetBrains/kotlin
22
+ - Getting started: https://kotlinlang.org/docs/getting-started.html
23
+
24
+ ## Install / setup
25
+ Kotlin ships with every IntelliJ IDEA and Android Studio release, so installing one of those IDEs is the recommended way to start (per the getting-started page). To install the standalone command-line compiler via SDKMAN! (per https://kotlinlang.org/docs/command-line.html):
26
+ ```bash
27
+ sdk install kotlin
28
+ ```
29
+
30
+ ## Core concepts
31
+ - Null safety: types are non-nullable by default; nullable types are marked with `?`, and the compiler forces you to handle `null`.
32
+ - Concise syntax: type inference, data classes, properties, and expression bodies reduce boilerplate versus Java.
33
+ - Java interoperability: Kotlin calls Java and Java calls Kotlin seamlessly, easing incremental adoption in existing JVM codebases.
34
+ - Coroutines: lightweight, structured concurrency with `suspend` functions for non-blocking asynchronous code.
35
+ - Extension functions: add functions to existing types without inheritance or modifying the original class.
36
+ - Immutability by default intent: `val` (read-only) vs. `var` (mutable); prefer `val`.
37
+ - Smart casts and `when`: after a type/null check the compiler auto-casts; `when` is a powerful expression-based branch.
38
+
39
+ ## Best practices
40
+ - Prefer `val` over `var` and immutable collections to make state explicit and reduce bugs.
41
+ - Use the null-safety operators (`?.`, `?:`, `!!` sparingly) instead of defensive null checks; avoid `!!` except where null is truly impossible.
42
+ - Use coroutines with structured concurrency (scopes) for async work rather than raw threads or callbacks.
43
+ - Model data with `data class` and represent restricted hierarchies with `sealed` classes for exhaustive `when`.
44
+
45
+ ## Common pitfalls
46
+ - Overusing the `!!` not-null assertion → it throws NPE at runtime, defeating null safety; prefer `?.`/`?:` or restructure.
47
+ - Platform types from Java (`String!`) → Java values have unknown nullability; annotate or guard them at the boundary.
48
+ - Launching coroutines without a proper scope → can leak work; use lifecycle/structured scopes so they are cancelled correctly.
49
+ - Assuming `==` is identity → in Kotlin `==` calls `equals` (structural); use `===` for referential equality.
50
+
51
+ ## Examples
52
+ ```kotlin
53
+ fun greet(name: String?): String {
54
+ return "Hello, ${name ?: "guest"}"
55
+ }
56
+
57
+ fun main() {
58
+ println(greet("Ada"))
59
+ println(greet(null))
60
+ }
61
+ ```
62
+
63
+ ## Further reading
64
+ - Kotlin Tour: https://kotlinlang.org/docs/kotlin-tour-welcome.html
65
+ - Coroutines guide: https://kotlinlang.org/docs/coroutines-guide.html
66
+
67
+ ## Related skills
68
+ - ../java — the JVM language Kotlin interoperates with
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: lua
3
+ description: Lua is a small, fast, dynamically typed scripting language designed to be embedded in host applications via a clean C API, with tables as its sole data-structuring mechanism; consult when writing Lua, embedding/extending it from C, using metatables, coroutines, or scripting games, Neovim, Redis, or nginx.
4
+ domain: language
5
+ category: language
6
+ tags: [lua, scripting, embedded, dynamic, tables, coroutines, c-api]
7
+ official_sources:
8
+ - https://www.lua.org/manual/5.5/
9
+ - https://www.lua.org/
10
+ - https://www.lua.org/download.html
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Lua
15
+
16
+ ## Overview
17
+ Lua is a lightweight, dynamically typed scripting language built around a single data structure (the table) and designed to be embedded into host programs through a small, well-documented C API. It is fast, portable (pure ISO C), and widely used for game scripting, Neovim config, Redis, and nginx (OpenResty). Read this when writing Lua, embedding or extending it from C, or using metatables and coroutines.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.lua.org/manual/5.5/
21
+ - Home: https://www.lua.org/ — the authoritative source for Lua is lua.org, not GitHub
22
+ - Install: https://www.lua.org/download.html
23
+ - Mirror (unofficial): https://github.com/lua/lua — read-only mirror of Lua dev code, "mirrored irregularly"; no PRs accepted (see its README). Official releases come from lua.org.
24
+
25
+ ## Install / setup
26
+ ```bash
27
+ curl -L -R -O https://www.lua.org/ftp/lua-5.5.0.tar.gz
28
+ tar zxf lua-5.5.0.tar.gz
29
+ cd lua-5.5.0
30
+ make all test
31
+ ```
32
+ Build steps per https://www.lua.org/download.html (Lua compiles unmodified on any platform with an ISO C compiler).
33
+
34
+ ## Core concepts
35
+ - **Tables** — the only structured type; serve as arrays, dictionaries, objects, and namespaces.
36
+ - **Metatables & metamethods** — `__index`, `__newindex`, `__add`, etc., customize behavior and implement OOP/inheritance.
37
+ - **First-class functions & closures** — functions are values with lexical scoping over `upvalues`.
38
+ - **Coroutines** — cooperative multitasking via `coroutine.create`/`resume`/`yield`; not OS threads.
39
+ - **The C API & stack** — host programs push/pop Lua values on a virtual stack to call into and out of Lua.
40
+ - **1-based indexing** — arrays and string positions start at 1, not 0.
41
+ - **`nil` and truthiness** — only `nil` and `false` are falsy; `0` and `""` are truthy.
42
+ - **Lua vs LuaJIT** — reference Lua (lua.org) vs the separate high-performance JIT implementation.
43
+
44
+ ## Best practices
45
+ - Localize frequently used globals (`local sqrt = math.sqrt`) for speed and clarity (https://www.lua.org/manual/5.5/).
46
+ - Use `pcall`/`xpcall` to handle runtime errors instead of letting them propagate (https://www.lua.org/manual/5.5/manual.html#pdf-pcall).
47
+ - Implement OOP with metatables and `__index` rather than copying methods per instance (https://www.lua.org/pil/16.html).
48
+ - When embedding, always balance the C API stack and check `lua_pcall` return codes (https://www.lua.org/manual/5.5/manual.html#4).
49
+
50
+ ## Common pitfalls
51
+ - Assuming 0-based indexing → Lua arrays/strings are 1-based; iterate with `ipairs` for sequences.
52
+ - Treating `0` or `""` as false → only `nil`/`false` are falsy; test explicitly with `== nil`.
53
+ - Holes in a "sequence" table breaking `#t` and `ipairs` → keep array tables contiguous or track length yourself.
54
+
55
+ ## Examples
56
+ ```lua
57
+ -- Metatable-based class
58
+ local Account = {}
59
+ Account.__index = Account
60
+
61
+ function Account.new(balance)
62
+ return setmetatable({ balance = balance or 0 }, Account)
63
+ end
64
+
65
+ function Account:deposit(n) self.balance = self.balance + n end
66
+
67
+ local a = Account.new(100)
68
+ a:deposit(50)
69
+ print(a.balance) --> 150
70
+ ```
71
+
72
+ ## Further reading
73
+ - https://www.lua.org/manual/5.5/ — Lua 5.5 reference manual (language, libraries, C API)
74
+ - https://www.lua.org/pil/ — Programming in Lua (first edition, online)
75
+ - https://www.lua.org/docs.html — documentation index
76
+
77
+ ## Related skills
78
+ - ../c — Lua is written in ISO C and embeds through its C API
79
+ - ../clojure — fellow dynamically typed, functional-leaning language
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: objectivec
3
+ description: Objective-C is a superset of C that adds Smalltalk-style message passing and a dynamic runtime, historically the primary language for Apple macOS and iOS development with Cocoa/Cocoa Touch; consult when writing or maintaining Objective-C, using ARC, the runtime, categories, protocols, or bridging with Swift and C.
4
+ domain: language
5
+ category: language
6
+ tags: [objectivec, apple, cocoa, ios, macos, runtime, arc]
7
+ official_sources:
8
+ - https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/
9
+ - https://developer.apple.com/documentation/objectivec
10
+ - https://developer.apple.com/xcode/
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Objective-C
15
+
16
+ ## Overview
17
+ Objective-C is a strict superset of C that adds object-oriented programming through Smalltalk-style message passing and a dynamic runtime. It was the primary language for Apple's Cocoa (macOS) and Cocoa Touch (iOS) frameworks before Swift and remains common in legacy apps and frameworks. Read this when writing or maintaining Objective-C, using ARC memory management, the runtime, categories/protocols, or bridging with Swift and C.
18
+
19
+ ## Official sources
20
+ - Docs: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/
21
+ - Repo: https://developer.apple.com/documentation/objectivec (runtime reference; the compiler is Apple Clang, https://github.com/llvm/llvm-project)
22
+ - Install: https://developer.apple.com/xcode/
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # Install Xcode's command-line tools (includes Apple Clang), then compile:
27
+ xcode-select --install
28
+ clang -fobjc-arc -framework Foundation hello.m -o hello
29
+ ```
30
+ Xcode/tooling per https://developer.apple.com/xcode/ ; ARC and Foundation flags per https://developer.apple.com/documentation/objectivec.
31
+
32
+ ## Core concepts
33
+ - **Message passing** — `[receiver message:arg]` sends messages; dispatch is resolved dynamically at runtime.
34
+ - **Classes & instances** — `@interface`/`@implementation` define classes; `id` is the dynamic object type.
35
+ - **ARC** — Automatic Reference Counting inserts retain/release; manage cycles with `weak`/`strong` references.
36
+ - **Protocols** — declare method contracts (`@protocol`) adopted by classes; similar to interfaces.
37
+ - **Categories & extensions** — add methods to existing classes (`@interface NSString (MyExtras)`) without subclassing.
38
+ - **Properties** — `@property` synthesizes accessors with attributes (`nonatomic`, `strong`, `copy`, `weak`).
39
+ - **The Objective-C runtime** — introspection, dynamic method resolution, and swizzling via `<objc/runtime.h>`.
40
+ - **Foundation/Cocoa** — `NSString`, `NSArray`, `NSDictionary`, and the broader framework stack.
41
+
42
+ ## Best practices
43
+ - Use ARC (`-fobjc-arc`) and reason about ownership with `strong`/`weak`/`copy` property attributes (https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/).
44
+ - Adopt `NS_ASSUME_NONNULL_BEGIN`/nullability annotations to improve Swift interop (https://developer.apple.com/documentation/objectivec).
45
+ - Prefer protocols and composition over deep class hierarchies (https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html).
46
+ - Use `copy` for mutable-backed properties like `NSString`/`NSArray` to avoid external mutation.
47
+
48
+ ## Common pitfalls
49
+ - Retain cycles between objects (e.g., delegate/block captures `self`) → declare back-references `weak` and use `__weak`/`__strong` in blocks.
50
+ - Sending messages to `nil` returns zero/`nil` silently → check assumptions rather than relying on no-op dispatch.
51
+ - Mutating a collection while enumerating it → enumerate a copy or collect changes and apply afterward.
52
+
53
+ ## Examples
54
+ ```objc
55
+ #import <Foundation/Foundation.h>
56
+
57
+ @interface Greeter : NSObject
58
+ - (NSString *)greet:(NSString *)name;
59
+ @end
60
+
61
+ @implementation Greeter
62
+ - (NSString *)greet:(NSString *)name {
63
+ return [NSString stringWithFormat:@"Hello, %@!", name];
64
+ }
65
+ @end
66
+
67
+ int main(void) {
68
+ @autoreleasepool {
69
+ Greeter *g = [Greeter new];
70
+ NSLog(@"%@", [g greet:@"World"]);
71
+ }
72
+ return 0;
73
+ }
74
+ ```
75
+
76
+ ## Further reading
77
+ - https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ — Programming with Objective-C guide
78
+ - https://developer.apple.com/documentation/objectivec — Objective-C runtime reference
79
+ - https://developer.apple.com/documentation/swift/objective-c-and-c-code-customization — Swift/Objective-C interop
80
+
81
+ ## Related skills
82
+ - ../c — Objective-C is a strict superset of C and compiles C directly
83
+ - ../lua — another language frequently embedded in iOS/macOS apps