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,74 @@
1
+ ---
2
+ name: php
3
+ description: General-purpose server-side scripting language for the web; consult for PHP syntax, OOP, Composer, and install/setup.
4
+ domain: language
5
+ category: language
6
+ tags: [php, server-side, web, scripting, backend]
7
+ official_sources:
8
+ - https://www.php.net/docs.php
9
+ - https://github.com/php/php-src
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # PHP
14
+
15
+ ## Overview
16
+ PHP is a popular general-purpose scripting language especially suited to web development; it powers a large share of the web from blogs to major sites. Code is embedded in or generated alongside HTML and executed server-side. Read this when building web backends in PHP, working with Composer packages, or setting up a PHP runtime.
17
+
18
+ ## Official sources
19
+ - Docs: https://www.php.net/docs.php
20
+ - Repo: https://github.com/php/php-src
21
+ - Install / download: https://www.php.net/downloads
22
+
23
+ ## Install / setup
24
+ The official downloads page shows per-OS instructions. For Debian/Ubuntu it lists, verbatim:
25
+
26
+ ```bash
27
+ # Update the package lists.
28
+ sudo apt update
29
+
30
+ # Install PHP.
31
+ sudo apt install -y php
32
+ ```
33
+
34
+ Source: https://www.php.net/downloads (current stable versions listed there include 8.5, 8.4, 8.3, 8.2)
35
+
36
+ ## Core concepts
37
+ - Request lifecycle — PHP scripts typically run per HTTP request and exit; state does not persist across requests unless stored (session, DB, cache).
38
+ - Types and weak/strict typing — PHP is dynamically typed but supports type declarations and `declare(strict_types=1)` for strict scalar typing.
39
+ - Classes, interfaces, traits, and enumerations — full OOP model; traits share method implementations across classes.
40
+ - Namespaces — organize and disambiguate classes/functions to avoid collisions.
41
+ - Superglobals and predefined variables — `$_GET`, `$_POST`, `$_SESSION`, `$_SERVER` expose request and environment data.
42
+ - Composer — the de facto dependency manager and PSR-4 autoloader for PHP libraries.
43
+ - Errors, exceptions, generators, fibers, and attributes are part of the modern language reference.
44
+
45
+ ## Best practices
46
+ - Enable `declare(strict_types=1)` and use type declarations to catch type errors early (see php.net Language Reference: Types).
47
+ - Follow the Security section of the docs: validate and escape all user-submitted data, use prepared statements for databases.
48
+ - Manage dependencies and autoloading with Composer rather than manual `require` chains.
49
+ - Keep PHP on a supported version (php.net lists active versions) and apply security releases promptly.
50
+
51
+ ## Common pitfalls
52
+ - Concatenating user input into SQL → use parameterized/prepared statements (PDO or mysqli) to prevent injection.
53
+ - Echoing unescaped user data into HTML → escape output (`htmlspecialchars`) to prevent XSS, per the docs' security guidance.
54
+ - Relying on loose comparison (`==`) where type juggling surprises (e.g. `"0" == false`) → use strict comparison (`===`).
55
+
56
+ ## Examples
57
+ ```php
58
+ <?php
59
+ declare(strict_types=1);
60
+
61
+ function greet(string $name): string {
62
+ return "Hello, " . htmlspecialchars($name);
63
+ }
64
+
65
+ echo greet($_GET['name'] ?? 'world');
66
+ ```
67
+
68
+ ## Further reading
69
+ - Language reference: https://www.php.net/docs.php
70
+ - Security considerations: https://www.php.net/docs.php (Security section)
71
+
72
+ ## Related skills
73
+ - ../ruby — dynamic scripting language comparison
74
+ - ../../stacks — PHP web frameworks (Laravel, Symfony) consume this language
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: python
3
+ description: Batteries-included, general-purpose dynamic language; consult for core syntax, the standard library, and environments.
4
+ domain: language
5
+ category: language
6
+ tags: [python, cpython, scripting, stdlib, venv]
7
+ official_sources:
8
+ - https://docs.python.org/3/
9
+ - https://github.com/python/cpython
10
+ - https://www.python.org/downloads/
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # Python
15
+
16
+ ## Overview
17
+ Python is a high-level, general-purpose programming language emphasizing readability and a large standard library ("batteries included"). It is dynamically typed, garbage-collected, and supports procedural, object-oriented, and functional styles. CPython is the reference implementation. Read this for core syntax, packaging/virtual environments, and standard-library usage.
18
+
19
+ ## Official sources
20
+ - Docs: https://docs.python.org/3/
21
+ - Repo (CPython reference implementation): https://github.com/python/cpython
22
+ - Install / download: https://www.python.org/downloads/
23
+
24
+ ## Install / setup
25
+ Download and run the installer for your platform from https://www.python.org/downloads/. Verify the install:
26
+ ```bash
27
+ python3 --version
28
+ ```
29
+
30
+ ## Core concepts
31
+ - Indentation-defined blocks: whitespace (not braces) delimits code blocks; consistent indentation is syntactically required.
32
+ - Dynamic typing with strong typing: names are bound to objects of any type at runtime, but Python does not silently coerce unrelated types.
33
+ - Everything is an object: functions, classes, and modules are first-class objects; duck typing drives polymorphism.
34
+ - The standard library: a broad set of built-in modules (os, json, pathlib, datetime, itertools, etc.) cover common tasks without third-party packages.
35
+ - Virtual environments: `venv` isolates per-project dependencies from the system interpreter.
36
+ - Iterators, generators, and comprehensions: lazy iteration via `__iter__`/`yield`; concise list/dict/set comprehensions.
37
+ - Exceptions: errors are raised and caught with `try`/`except`/`finally`; use specific exception types.
38
+
39
+ ## Best practices
40
+ - Follow PEP 8, the official style guide, for layout, naming, and formatting.
41
+ - Use a virtual environment (`python3 -m venv .venv`) per project so dependencies don't collide with the system Python.
42
+ - Prefer context managers (`with open(...) as f:`) so resources are released deterministically.
43
+ - Catch specific exceptions rather than bare `except:`; let unexpected errors surface.
44
+
45
+ ## Common pitfalls
46
+ - Mutable default arguments (`def f(x=[]):`) → the default is created once and shared across calls; use `None` and create inside the function.
47
+ - Mixing tabs and spaces for indentation → causes `TabError`/inconsistent blocks; use spaces consistently (PEP 8 recommends 4 spaces).
48
+ - Relying on dict/iteration order assumptions across versions → insertion order is guaranteed for dicts in modern CPython, but don't depend on set ordering.
49
+ - Installing packages into the system interpreter globally → use a virtual environment to avoid conflicts.
50
+
51
+ ## Examples
52
+ ```python
53
+ from pathlib import Path
54
+
55
+ def read_lines(path: str) -> list[str]:
56
+ with open(path, encoding="utf-8") as f:
57
+ return [line.rstrip("\n") for line in f]
58
+
59
+ for line in read_lines("data.txt"):
60
+ print(line)
61
+ ```
62
+
63
+ ## Further reading
64
+ - The Python Tutorial: https://docs.python.org/3/tutorial/
65
+ - PEP 8 style guide: https://peps.python.org/pep-0008/
66
+
67
+ ## Related skills
68
+ - (sibling language skills under ../)
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: r
3
+ description: R is a free language and environment for statistical computing, data analysis, and graphics, with packages distributed via CRAN; consult when writing R, installing packages, using vectors/data frames, the tidyverse, ggplot2, or producing statistical models, plots, and reproducible analyses.
4
+ domain: language
5
+ category: language
6
+ tags: [r, statistics, data-analysis, cran, tidyverse, ggplot2, vectorized]
7
+ official_sources:
8
+ - https://www.r-project.org/
9
+ - https://cran.r-project.org/
10
+ - https://cran.r-project.org/manuals.html
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # R
15
+
16
+ ## Overview
17
+ R is a free software environment and language for statistical computing, data analysis, and graphics, maintained by the R Foundation with packages distributed through CRAN. It is vectorized by design and excels at statistical modeling, data manipulation, and visualization. Read this when writing R, installing/using packages, working with data frames and the tidyverse, or producing plots and reproducible analyses.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.r-project.org/
21
+ - Repo: https://svn.r-project.org/R/ (official SVN; GitHub mirror at https://github.com/r-devel/r-svn)
22
+ - Install: https://cran.r-project.org/
23
+
24
+ ## Install / setup
25
+ ```r
26
+ # After installing R from CRAN, install packages from within R:
27
+ install.packages("tidyverse")
28
+ library(tidyverse)
29
+ ```
30
+ Download R per https://cran.r-project.org/ ; `install.packages` is the official package-install function (https://cran.r-project.org/manuals.html).
31
+
32
+ ## Core concepts
33
+ - **Vectors & vectorization** — the atomic vector is the base type; operations apply element-wise without explicit loops.
34
+ - **Data frames / tibbles** — tabular data with typed columns; the core structure for analysis.
35
+ - **Factors** — categorical variables with defined levels, important for modeling.
36
+ - **Functions & lazy/promise args** — first-class functions; arguments evaluated lazily when used.
37
+ - **The `<-` assignment** — idiomatic assignment operator (vs `=`), plus `%>%`/`|>` pipes for chaining.
38
+ - **CRAN & packages** — `install.packages()` / `library()` pull from the Comprehensive R Archive Network.
39
+ - **Recycling rule** — shorter vectors recycle to match longer ones in arithmetic; a common gotcha.
40
+ - **Formula objects** — `y ~ x` notation drives `lm`, `glm`, and many modeling functions.
41
+
42
+ ## Best practices
43
+ - Organize work as projects with `renv` for reproducible package versions (https://cran.r-project.org/web/packages/renv/).
44
+ - Prefer vectorized operations and `apply`/`purrr::map` over explicit `for` loops (https://cran.r-project.org/doc/manuals/r-release/R-intro.html).
45
+ - Use the tidyverse (`dplyr`, `ggplot2`, `tidyr`) for readable data pipelines (https://www.tidyverse.org/).
46
+ - Document analyses in R Markdown / Quarto for reproducibility (https://cran.r-project.org/doc/manuals/r-release/R-exts.html).
47
+
48
+ ## Common pitfalls
49
+ - Silent vector recycling producing wrong results → ensure operands have compatible lengths.
50
+ - `stringsAsFactors` and unexpected factor coercion → set explicitly or use `read.csv(..., stringsAsFactors = FALSE)` (default FALSE since R 4.0).
51
+ - Using `=` where `<-` is expected (or vice versa) in calls → use `<-` for assignment, `=` for named arguments.
52
+
53
+ ## Examples
54
+ ```r
55
+ library(dplyr)
56
+
57
+ mtcars |>
58
+ group_by(cyl) |>
59
+ summarise(mean_mpg = mean(mpg), n = n()) |>
60
+ arrange(desc(mean_mpg))
61
+ ```
62
+
63
+ ## Further reading
64
+ - https://cran.r-project.org/manuals.html — official R manuals (Intro, Language Definition, Writing Extensions)
65
+ - https://cran.r-project.org/doc/manuals/r-release/R-intro.html — An Introduction to R
66
+ - https://www.tidyverse.org/ — the tidyverse package collection
67
+
68
+ ## Related skills
69
+ - ../clojure — another data-oriented functional language
70
+ - ../haskell — statically typed functional language for comparison
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: ruby
3
+ description: Dynamic, object-oriented language focused on developer happiness; consult for Ruby syntax, idioms, gems, and install/setup.
4
+ domain: language
5
+ category: language
6
+ tags: [ruby, dynamic, object-oriented, scripting, gems]
7
+ official_sources:
8
+ - https://www.ruby-lang.org/en/documentation/
9
+ - https://github.com/ruby/ruby
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Ruby
14
+
15
+ ## Overview
16
+ Ruby is an interpreted, dynamic, object-oriented programming language created by Yukihiro "Matz" Matsumoto in 1995, designed to make programmers productive and happy. Everything in Ruby is an object, and the language emphasizes readable, expressive syntax. Read this when writing Ruby scripts, working with gems, or setting up a Ruby toolchain.
17
+
18
+ ## Official sources
19
+ - Docs: https://www.ruby-lang.org/en/documentation/
20
+ - Repo: https://github.com/ruby/ruby
21
+ - Install / download: https://www.ruby-lang.org/en/downloads/
22
+
23
+ ## Install / setup
24
+ On Windows, the official downloads page recommends RubyInstaller; on macOS and Linux/UNIX it recommends third-party version managers (rbenv and RVM) or the distribution package manager. From the official downloads page, using a version manager:
25
+
26
+ ```bash
27
+ # Linux/UNIX or macOS via rbenv (third-party tool recommended on ruby-lang.org)
28
+ rbenv install 4.0.5
29
+ rbenv global 4.0.5
30
+ ```
31
+
32
+ Source: https://www.ruby-lang.org/en/downloads/ (current stable listed there is Ruby 4.0.5; substitute the version you need)
33
+
34
+ ## Core concepts
35
+ - Everything is an object — integers, strings, and even `nil` respond to methods; there are no primitives.
36
+ - Dynamic typing with duck typing — an object's suitability is determined by the methods it responds to, not its declared class.
37
+ - Blocks, procs, and lambdas — first-class chunks of code passed to methods (e.g. `each`, `map`); the foundation of Ruby iteration.
38
+ - Mixins via modules — share behavior across classes with `include`/`extend` instead of multiple inheritance.
39
+ - Open classes and metaprogramming — classes can be reopened and methods defined at runtime (`define_method`, `method_missing`).
40
+ - Gems and Bundler — RubyGems packages libraries; Bundler resolves and locks dependencies via a `Gemfile`.
41
+ - Exceptions, iterators, closures, and garbage collection are built into the core language.
42
+
43
+ ## Best practices
44
+ - Follow a community style guide (RuboCop, Shopify, GitLab, or Airbnb guides are linked from ruby-lang.org) and run RuboCop to enforce it.
45
+ - Use Bundler with a committed `Gemfile.lock` for reproducible dependency installs.
46
+ - Prefer iterators and blocks (`each`, `map`, `select`) over manual index loops for idiomatic, readable code.
47
+ - Use a version manager (rbenv/RVM) so each project can pin a known Ruby version.
48
+
49
+ ## Common pitfalls
50
+ - Treating `nil` as falsy-only — in Ruby only `nil` and `false` are falsy; `0` and `""` are truthy. → Test explicitly when you mean numeric/empty.
51
+ - Mutating shared mutable state through reopened classes ("monkey patching") → prefer refinements or composition to limit scope.
52
+ - Forgetting that assignment in blocks can leak or shadow variables → keep block-local variables explicit and small.
53
+
54
+ ## Examples
55
+ ```ruby
56
+ # Blocks and iterators
57
+ names = ["ada", "grace", "linus"]
58
+ names.map { |n| n.capitalize }.each { |n| puts "Hello, #{n}" }
59
+ ```
60
+
61
+ ## Further reading
62
+ - Official documentation hub: https://www.ruby-lang.org/en/documentation/
63
+ - API docs for all versions: https://docs.ruby-lang.org/en/
64
+
65
+ ## Related skills
66
+ - ../python — another dynamic, batteries-included scripting language
67
+ - ../php — server-side scripting comparison
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: rust
3
+ description: Memory-safe systems language with ownership and no GC; consult for ownership/borrowing, Cargo, and error handling.
4
+ domain: language
5
+ category: language
6
+ tags: [rust, systems, ownership, borrow-checker, cargo]
7
+ official_sources:
8
+ - https://doc.rust-lang.org/book/
9
+ - https://github.com/rust-lang/rust
10
+ - https://www.rust-lang.org/tools/install
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # Rust
15
+
16
+ ## Overview
17
+ Rust is a systems programming language focused on performance, reliability, and productivity. Its type system and ownership model guarantee memory safety and thread safety without a garbage collector, catching whole classes of bugs at compile time. It ships with Cargo (build tool and package manager), rustfmt, Clippy, and rust-analyzer. Read this for ownership/borrowing, error handling, and the Cargo workflow.
18
+
19
+ ## Official sources
20
+ - Docs (The Book): https://doc.rust-lang.org/book/
21
+ - Repo: https://github.com/rust-lang/rust
22
+ - Install: https://www.rust-lang.org/tools/install
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
27
+ ```
28
+
29
+ ## Core concepts
30
+ - Ownership: every value has a single owner; when the owner goes out of scope the value is dropped (deterministic deallocation, no GC).
31
+ - Borrowing and references: values can be borrowed immutably (`&T`, many) or mutably (`&mut T`, exactly one at a time); the borrow checker enforces this at compile time.
32
+ - Lifetimes: the compiler tracks how long references are valid to prevent dangling references; most are inferred, some are annotated.
33
+ - Traits: shared behavior defined as traits and implemented for types; the basis for generics and polymorphism.
34
+ - Enums and pattern matching: algebraic data types with `match`; `Option<T>` and `Result<T, E>` replace null and exceptions.
35
+ - Error handling: recoverable errors use `Result` with the `?` operator; unrecoverable errors `panic!`.
36
+ - Cargo: builds, tests, runs, and manages dependencies via `Cargo.toml` from crates.io.
37
+
38
+ ## Best practices
39
+ - Let the borrow checker guide design: prefer borrowing over cloning, and restructure data flow rather than reaching for `unsafe`.
40
+ - Use `Result` and the `?` operator for recoverable errors; reserve `panic!`/`unwrap` for truly unrecoverable states or tests.
41
+ - Run `cargo clippy` (the official linter) and `cargo fmt` to keep code idiomatic and consistent.
42
+ - Model invalid states out of existence with enums and the type system instead of runtime checks.
43
+
44
+ ## Common pitfalls
45
+ - Reaching for `.unwrap()`/`.expect()` in production paths → propagate with `?` and handle `None`/`Err` explicitly.
46
+ - Fighting the borrow checker by cloning everywhere → often a sign the data ownership/structure needs rethinking.
47
+ - Overusing `unsafe` to bypass the checker → it disables guarantees; isolate and justify any `unsafe` block.
48
+ - Confusing `String` (owned) with `&str` (borrowed slice) → pass `&str` for read-only access, own a `String` when you need to store/grow it.
49
+
50
+ ## Examples
51
+ ```rust
52
+ use std::fs;
53
+
54
+ fn read_config(path: &str) -> Result<String, std::io::Error> {
55
+ let contents = fs::read_to_string(path)?; // ? propagates the error
56
+ Ok(contents)
57
+ }
58
+
59
+ fn main() {
60
+ match read_config("config.toml") {
61
+ Ok(text) => println!("{text}"),
62
+ Err(e) => eprintln!("failed to read config: {e}"),
63
+ }
64
+ }
65
+ ```
66
+
67
+ ## Further reading
68
+ - The Rust Programming Language (The Book): https://doc.rust-lang.org/book/
69
+ - Rust by Example: https://doc.rust-lang.org/rust-by-example/
70
+
71
+ ## Related skills
72
+ - ../go — another modern compiled systems-adjacent language
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: scala
3
+ description: JVM language blending object-oriented and functional programming with strong static typing; consult for syntax and setup.
4
+ domain: language
5
+ category: language
6
+ tags: [scala, jvm, functional, object-oriented, static-typing]
7
+ official_sources:
8
+ - https://docs.scala-lang.org/
9
+ - https://github.com/scala/scala
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Scala
14
+
15
+ ## Overview
16
+ Scala is a statically typed language for the JVM that fuses object-oriented and functional programming, with a powerful type system and concise, expressive syntax. It interoperates with Java libraries and runs on the JVM (with Scala.js and Scala Native as additional targets). Read this when writing Scala, choosing between Scala 2 and 3, or setting up the toolchain.
17
+
18
+ ## Official sources
19
+ - Docs: https://docs.scala-lang.org/
20
+ - Repo: https://github.com/scala/scala
21
+ - Install / download: https://www.scala-lang.org/download/
22
+
23
+ ## Install / setup
24
+ The official download page recommends `cs setup`, the Scala installer powered by Coursier. Verbatim for Linux (x86-64):
25
+
26
+ ```bash
27
+ curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
28
+ ```
29
+
30
+ macOS (Homebrew), verbatim from the same page:
31
+
32
+ ```bash
33
+ brew install coursier/formulas/coursier && cs setup
34
+ ```
35
+
36
+ Source: https://www.scala-lang.org/download/
37
+
38
+ ## Core concepts
39
+ - Everything is an expression — `if`, `match`, and blocks return values; statements are rare.
40
+ - Immutability by default — `val` (immutable) is preferred over `var`; immutable collections are the default.
41
+ - Pattern matching and case classes — destructure and branch on algebraic data with exhaustive `match` expressions.
42
+ - Traits — composable units of behavior mixed into classes, supporting a flexible alternative to single inheritance.
43
+ - Strong static typing with inference — the compiler infers most types while enforcing safety; supports generics and higher-kinded types.
44
+ - Higher-order functions and the collections library — `map`, `flatMap`, `filter`, `fold` enable functional data transformations.
45
+ - Scala 2 vs Scala 3 — Scala 3 is a separate evolution; docs cover both and a migration guide.
46
+
47
+ ## Best practices
48
+ - Prefer `val` and immutable collections; reach for `var`/mutable state only when measured and necessary.
49
+ - Use case classes and pattern matching for modeling data and control flow idiomatically.
50
+ - Follow the official Scala style guide (linked from docs.scala-lang.org) for idiomatic code.
51
+ - Install and manage tooling with Coursier (`cs setup`), the recommended installer.
52
+
53
+ ## Common pitfalls
54
+ - Overusing mutable `var` and imperative loops → favor immutable values and collection combinators.
55
+ - Non-exhaustive `match` expressions on sealed hierarchies → enable warnings so the compiler flags missing cases.
56
+ - Mixing Scala 2 and Scala 3 assumptions → check which version a feature/library targets (see the migration guide).
57
+
58
+ ## Examples
59
+ ```scala
60
+ case class Greeter(prefix: String):
61
+ def greet(name: String): String = s"$prefix, ${name.capitalize}"
62
+
63
+ val g = Greeter("Hello")
64
+ List("ada", "grace").map(g.greet).foreach(println)
65
+ ```
66
+
67
+ ## Further reading
68
+ - Documentation and tour: https://docs.scala-lang.org/
69
+ - Scala 2 to 3 migration: https://docs.scala-lang.org/ (migration guide)
70
+
71
+ ## Related skills
72
+ - ../elixir — functional programming on another managed VM
73
+ - ../../stacks — JVM/Scala frameworks (e.g. Akka, Play) build on this language
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: swift
3
+ description: Apple-backed, memory-safe, high-performance language for apps and systems; consult for Swift syntax, concurrency, and setup.
4
+ domain: language
5
+ category: language
6
+ tags: [swift, apple, memory-safe, systems, ios]
7
+ official_sources:
8
+ - https://www.swift.org/documentation/
9
+ - https://github.com/swiftlang/swift
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Swift
14
+
15
+ ## Overview
16
+ Swift is a high-performance, memory-safe systems and application programming language with a clean modern syntax and seamless access to existing C and Objective-C code and frameworks. It powers Apple-platform apps and increasingly server-side and cross-platform software on Linux and Windows. Read this when writing Swift, designing with its concurrency model, or setting up the toolchain.
17
+
18
+ ## Official sources
19
+ - Docs: https://www.swift.org/documentation/
20
+ - Repo: https://github.com/swiftlang/swift
21
+ - Install / download: https://www.swift.org/install/
22
+
23
+ ## Install / setup
24
+ The official Linux install page recommends Swiftly, the Swift toolchain installer. Verbatim (Bash):
25
+
26
+ ```bash
27
+ curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
28
+ tar zxf swiftly-$(uname -m).tar.gz && \
29
+ ./swiftly init --quiet-shell-followup && \
30
+ . "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" && \
31
+ hash -r
32
+ ```
33
+
34
+ Source: https://www.swift.org/install/linux/ (macOS and Windows installers: https://www.swift.org/install/)
35
+
36
+ ## Core concepts
37
+ - Value vs reference types — `struct`/`enum` are value types (copied), `class` is a reference type; choosing correctly shapes behavior and performance.
38
+ - Optionals — the type system encodes the possible absence of a value (`T?`), forcing explicit handling of nil.
39
+ - Protocols and protocol-oriented programming — define capabilities and provide default implementations via extensions.
40
+ - Automatic Reference Counting (ARC) — memory for class instances is managed by reference counts; watch for retain cycles.
41
+ - Error handling — typed `throws`/`try`/`catch` with `Result` for explicit, recoverable error flows.
42
+ - Structured concurrency — `async`/`await`, tasks, and actors provide safe, composable asynchronous and concurrent code.
43
+
44
+ ## Best practices
45
+ - Prefer value types (`struct`/`enum`) and immutability (`let`) by default; reach for `class` only when reference semantics are needed.
46
+ - Handle optionals explicitly with `if let`/`guard let` rather than force-unwrapping (`!`).
47
+ - Use protocol extensions to share behavior instead of deep class hierarchies.
48
+ - Manage Swift toolchain versions with Swiftly (the official installer) for reproducible builds.
49
+
50
+ ## Common pitfalls
51
+ - Force-unwrapping optionals (`value!`) that can be nil → crashes at runtime; use optional binding or `??` defaults.
52
+ - Strong reference cycles between classes/closures → use `weak`/`unowned` captures to let ARC reclaim memory.
53
+ - Sharing mutable state across concurrent tasks → isolate it inside an `actor` to avoid data races.
54
+
55
+ ## Examples
56
+ ```swift
57
+ struct Greeter {
58
+ func greet(_ name: String?) -> String {
59
+ guard let name, !name.isEmpty else { return "Hello, world" }
60
+ return "Hello, \(name.capitalized)"
61
+ }
62
+ }
63
+
64
+ print(Greeter().greet("ada"))
65
+ ```
66
+
67
+ ## Further reading
68
+ - Documentation hub: https://www.swift.org/documentation/
69
+ - Install guides per platform: https://www.swift.org/install/
70
+
71
+ ## Related skills
72
+ - ../cpp — the C/C++ systems languages Swift interoperates with
73
+ - ../../stacks — Swift app/server frameworks build on this language
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: typescript
3
+ description: Typed superset of JavaScript that compiles to plain JS; consult for type system, tsconfig, and compiler usage.
4
+ domain: language
5
+ category: language
6
+ tags: [typescript, javascript, types, compiler, tsc]
7
+ official_sources:
8
+ - https://www.typescriptlang.org/docs/
9
+ - https://github.com/microsoft/TypeScript
10
+ - https://www.typescriptlang.org/download
11
+ verified: 2026-06-16
12
+ ---
13
+
14
+ # TypeScript
15
+
16
+ ## Overview
17
+ TypeScript is a strongly typed programming language that builds on JavaScript by adding optional static types, then compiles down to plain JavaScript that runs anywhere JavaScript runs. It catches whole classes of errors before runtime and powers richer editor tooling for large-scale applications. Read this when configuring a TypeScript build, designing types, or debugging compiler errors.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.typescriptlang.org/docs/
21
+ - Repo: https://github.com/microsoft/TypeScript
22
+ - Install / download: https://www.typescriptlang.org/download
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ npm install typescript --save-dev
27
+ ```
28
+
29
+ ## Core concepts
30
+ - Structural typing: types are compatible based on their shape (members), not their declared name; an object satisfying an interface's members is assignable to it.
31
+ - Type annotations and inference: annotate variables, parameters, and return types, but lean on the compiler's inference where it already knows the type.
32
+ - Interfaces and type aliases: model object shapes and unions; `interface` is open to declaration merging, `type` can express unions, intersections, and mapped types.
33
+ - Generics: write reusable, type-safe components and functions parameterized over types (`Array<T>`, `Promise<T>`).
34
+ - Union, intersection, and literal types: combine types and narrow them with control-flow analysis (type guards) to model precise states.
35
+ - `tsconfig.json`: the project configuration file controlling the compiler — target, module system, `strict` flags, and which files are included.
36
+ - The `tsc` compiler: type-checks and emits JavaScript; type errors do not necessarily block emit unless configured to.
37
+
38
+ ## Best practices
39
+ - Enable `strict` mode in `tsconfig.json` — it turns on the full family of strict type-checking options recommended by the docs for catching more bugs.
40
+ - Prefer letting the compiler infer types for locals; annotate public API boundaries (function signatures, exported values) explicitly.
41
+ - Avoid `any`; prefer `unknown` when a value's type is genuinely not known, then narrow it before use.
42
+ - Use union types and discriminated unions plus exhaustiveness checking instead of loose runtime type juggling.
43
+
44
+ ## Common pitfalls
45
+ - Treating TypeScript types as runtime values → types are erased at compile time; use runtime checks (`typeof`, validation libraries) for runtime guarantees.
46
+ - Assuming a clean `tsc` build means the JS won't run on errors → by default emit can still occur; use `noEmitOnError` if you want errors to block output.
47
+ - Overusing `any` to silence errors → it disables checking and propagates; prefer `unknown`, generics, or proper narrowing.
48
+
49
+ ## Examples
50
+ ```typescript
51
+ interface User {
52
+ id: number;
53
+ name: string;
54
+ }
55
+
56
+ function greet(user: User): string {
57
+ return `Hello, ${user.name}`;
58
+ }
59
+
60
+ const u: User = { id: 1, name: "Ada" };
61
+ console.log(greet(u));
62
+ ```
63
+
64
+ ## Further reading
65
+ - TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/intro.html
66
+ - tsconfig reference: https://www.typescriptlang.org/tsconfig/
67
+
68
+ ## Related skills
69
+ - ../javascript — the language TypeScript compiles to
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: authoring-agent-skills
3
+ description: How to author an Agent Skill — a folder + SKILL.md with YAML frontmatter, loaded on demand. Consult when creating or reviewing a skill.
4
+ domain: meta
5
+ category: meta
6
+ tags: [agent-skills, skill-md, frontmatter, claude, authoring]
7
+ official_sources:
8
+ - https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
9
+ - https://github.com/anthropics/skills
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Authoring Agent Skills
14
+
15
+ ## Overview
16
+ An Agent Skill is a folder containing a `SKILL.md` file that packages instructions, metadata, and optional resources (scripts, reference docs, templates) that an agent loads automatically when a task is relevant. Skills turn a general-purpose agent into a specialist without bloating the system prompt, because only lightweight metadata is loaded up front. Read this when you need to create a new skill, fix one that is not being discovered, or review a skill's structure against the spec.
17
+
18
+ ## Official sources
19
+ - Docs (overview): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
20
+ - Docs (authoring best practices): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
21
+ - Repo (official examples + template + spec): https://github.com/anthropics/skills
22
+ - Open spec: https://agentskills.io/specification
23
+
24
+ ## Core concepts
25
+ - **A skill is a directory.** At minimum it holds a top-level `SKILL.md`; optional `scripts/`, `references/`, and `assets/` subfolders carry code and reference material (per the open spec at agentskills.io).
26
+ - **`SKILL.md` = YAML frontmatter + Markdown body.** The frontmatter is metadata for discovery; the body is the procedural instructions the agent follows once the skill activates.
27
+ - **Two required frontmatter fields:** `name` (max 64 chars, lowercase letters/numbers/hyphens, no reserved words `anthropic`/`claude`) and `description` (non-empty, max 1024 chars). Both must avoid XML tags.
28
+ - **Three loading levels (progressive disclosure).** Level 1 metadata (name + description, ~100 tokens) is always loaded at startup; Level 2 is the `SKILL.md` body, loaded only when the skill is triggered; Level 3 is bundled files/scripts, read or executed on demand without consuming context until accessed.
29
+ - **Discovery is description-driven.** At startup only each skill's `name` and `description` enter the system prompt, so the agent decides whether to read the full `SKILL.md` based almost entirely on the description.
30
+ - **Scripts run, not read.** Utility scripts in `scripts/` are executed via bash; only their output enters context, making them more reliable and cheaper than asking the agent to regenerate code.
31
+
32
+ ## Best practices
33
+ - Write the `description` in third person and state both *what the skill does* and *when to use it*, including concrete trigger keywords — it is the single most important field for discovery (best-practices guide).
34
+ - Keep the `SKILL.md` body under 500 lines; split deeper material into separate reference files that the body links to (best-practices guide, "Progressive disclosure patterns").
35
+ - Use gerund-form names where it reads naturally (`processing-pdfs`, `analyzing-spreadsheets`); avoid vague names like `helper`, `utils`, or `tools` (best-practices guide, "Naming conventions").
36
+ - Assume the agent is already capable: only add context it does not already have, and challenge each sentence for its token cost (best-practices guide, "Concise is key").
37
+ - Match degrees of freedom to task fragility: high-freedom prose for open-ended work, exact low-freedom commands for fragile/destructive steps (best-practices guide, "Set appropriate degrees of freedom").
38
+
39
+ ## Common pitfalls
40
+ - Vague descriptions like "Helps with documents" → write specific descriptions with what + when + keywords so the agent can pick the right skill among many.
41
+ - Windows-style backslash paths in references → always use forward slashes (`scripts/helper.py`); backslashes break on Unix (best-practices guide, "Anti-patterns to avoid").
42
+ - Deeply nested reference chains (`SKILL.md` → `a.md` → `b.md`) → keep all references one level deep from `SKILL.md` so the agent reads complete files instead of partial previews.
43
+ - Using a skill from an untrusted source without auditing it → review every bundled file; a malicious skill can direct the agent to misuse tools or exfiltrate data (overview, "Security considerations").
44
+
45
+ ## Examples
46
+ ```markdown
47
+ ---
48
+ name: processing-pdfs
49
+ description: Extract text and tables from PDF files, fill forms, and merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
50
+ ---
51
+
52
+ # PDF Processing
53
+
54
+ ## Quick start
55
+ Use pdfplumber to extract text:
56
+
57
+ import pdfplumber
58
+ with pdfplumber.open("file.pdf") as pdf:
59
+ text = pdf.pages[0].extract_text()
60
+
61
+ ## Advanced features
62
+ - Form filling: see references/FORMS.md
63
+ - API reference: see references/REFERENCE.md
64
+ ```
65
+
66
+ ## Further reading
67
+ - Best-practices guide (full authoring checklist): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
68
+ - Agent Skills open specification: https://agentskills.io/specification
69
+ - Official template + example skills: https://github.com/anthropics/skills
70
+
71
+ ## Related skills
72
+ - ../progressive-disclosure — how to keep SKILL.md short and push depth into on-demand files
73
+ - ../skill-frontmatter-spec — the exact YAML frontmatter fields and their constraints