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,77 @@
1
+ ---
2
+ name: nginx
3
+ description: Nginx — a high-performance HTTP server, reverse proxy, and load balancer for serving static files, terminating TLS, and proxying to app backends. Consult when writing nginx.conf, configuring server/location blocks, setting up reverse proxy (proxy_pass) or load balancing (upstream), serving static assets, enabling gzip/TLS, or installing from the official nginx.org repo.
4
+ domain: stack
5
+ category: backend
6
+ tags: [nginx, web-server, reverse-proxy, load-balancer, http, tls, backend]
7
+ official_sources:
8
+ - https://nginx.org/en/docs/
9
+ - https://github.com/nginx/nginx
10
+ - https://nginx.org/en/linux_packages.html
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Nginx
15
+
16
+ ## Overview
17
+ Nginx is an event-driven HTTP server and reverse proxy known for high concurrency and low memory use. It serves static content, terminates TLS, load-balances across upstream app servers, and proxies dynamic requests (e.g. to PHP-FPM, Node, or a Spring app). Read this when authoring `nginx.conf`, defining server/location blocks, configuring reverse proxy or load balancing, or installing Nginx from the official repository.
18
+
19
+ ## Official sources
20
+ - Docs: https://nginx.org/en/docs/
21
+ - Repo: https://github.com/nginx/nginx
22
+ - Install: https://nginx.org/en/linux_packages.html
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # Ubuntu/Debian, from the official nginx.org repository (after adding the repo + key):
27
+ sudo apt update && sudo apt install nginx
28
+ ```
29
+ Source: https://nginx.org/en/linux_packages.html (add the nginx signing key and `deb ... nginx.org/packages/ubuntu` repo first, then install).
30
+
31
+ ## Core concepts
32
+ - **Master/worker processes** — a master manages config; workers handle connections via an event loop.
33
+ - **Contexts** — directives nest in `main`, `events`, `http`, `server`, and `location` blocks.
34
+ - **server blocks** — virtual hosts matched by `listen` + `server_name`.
35
+ - **location blocks** — match request URIs (prefix, `=`, `~` regex) to behavior.
36
+ - **Reverse proxy** — `proxy_pass` forwards requests to a backend; set `proxy_set_header` for Host/X-Forwarded-*.
37
+ - **upstream / load balancing** — group backends; round-robin, `least_conn`, `ip_hash`.
38
+ - **Static serving** — `root`/`alias` + `try_files` resolve files on disk.
39
+ - **TLS** — `ssl_certificate`/`ssl_certificate_key` on `listen 443 ssl`.
40
+
41
+ ## Best practices
42
+ - Use `try_files $uri $uri/ =404;` (or to a front controller) instead of `if` for routing (https://nginx.org/en/docs/http/ngx_http_core_module.html#try_files).
43
+ - Forward client info on proxies: set `Host`, `X-Forwarded-For`, `X-Forwarded-Proto` (https://nginx.org/en/docs/http/ngx_http_proxy_module.html).
44
+ - Test config before reload: `nginx -t` then `nginx -s reload` (https://nginx.org/en/docs/beginners_guide.html).
45
+ - Enable gzip and sensible `keepalive_timeout`/buffer tuning for throughput (https://nginx.org/en/docs/http/ngx_http_gzip_module.html).
46
+
47
+ ## Common pitfalls
48
+ - Overusing `if` inside `location` causes surprising behavior → prefer `try_files`/`map` ("if is evil").
49
+ - `proxy_pass` with a trailing slash vs none changes the rewritten URI → know the path-rewrite rule.
50
+ - Editing config without `nginx -t` can take down the server on reload → always test first.
51
+
52
+ ## Examples
53
+ ```nginx
54
+ upstream app { server 127.0.0.1:3000; }
55
+
56
+ server {
57
+ listen 80;
58
+ server_name example.com;
59
+
60
+ location /static/ { root /var/www; }
61
+
62
+ location / {
63
+ proxy_pass http://app;
64
+ proxy_set_header Host $host;
65
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
66
+ proxy_set_header X-Forwarded-Proto $scheme;
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Further reading
72
+ - https://nginx.org/en/docs/beginners_guide.html — beginner's guide to running and configuring nginx
73
+ - https://nginx.org/en/docs/dirindex.html — alphabetical directive index
74
+
75
+ ## Related skills
76
+ - ../spring — proxy a Spring Boot app behind Nginx
77
+ - ../symfony — serve Symfony's front controller via Nginx + PHP-FPM
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: phoenix
3
+ description: Elixir web framework with realtime channels, LiveView, and an MVC structure on the BEAM; consult when building Phoenix apps or realtime features.
4
+ domain: stack
5
+ category: backend
6
+ tags: [elixir, phoenix, liveview, realtime, web-framework]
7
+ official_sources:
8
+ - https://hexdocs.pm/phoenix/
9
+ - https://github.com/phoenixframework/phoenix
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Phoenix
14
+
15
+ ## Overview
16
+ Phoenix is a web framework written in Elixir that aims for "peace of mind from prototype to production." Running on the Erlang VM (BEAM), it provides an MVC structure, realtime communication via Channels, and server-rendered interactive UIs via LiveView. Read this when building Phoenix web apps, APIs, or realtime features.
17
+
18
+ ## Official sources
19
+ - Docs: https://hexdocs.pm/phoenix/ (canonical: https://phoenix.hexdocs.pm/)
20
+ - Repo: https://github.com/phoenixframework/phoenix
21
+ - Install / download: https://hexdocs.pm/phoenix/installation.html
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ # Install the Phoenix application generator
26
+ mix archive.install hex phx_new
27
+
28
+ # Create a new application (replace "hello" with your app name)
29
+ mix phx.new hello
30
+ ```
31
+
32
+ ## Core concepts
33
+ - Endpoint & Router: the Endpoint is the entry point handling all requests; the Router maps paths to controllers and pipelines.
34
+ - Plugs & pipelines: composable request-processing functions; pipelines group plugs (e.g. `:browser`, `:api`) applied to route scopes.
35
+ - Controllers, views, templates: controllers handle requests and render templates via view modules, following an MVC structure.
36
+ - Contexts: modules that group related domain logic and data access, keeping the web layer thin.
37
+ - Channels: bidirectional realtime messaging over WebSockets for features like chat and live updates.
38
+ - LiveView: server-rendered, stateful interactive UIs without writing custom client-side JavaScript.
39
+ - Ecto: the data-mapping/query library typically used with Phoenix for schemas and migrations.
40
+
41
+ ## Best practices
42
+ - Organize domain logic into Contexts so the web layer (controllers/LiveViews) stays thin (https://hexdocs.pm/phoenix/contexts.html).
43
+ - Use router pipelines (`:browser`, `:api`) to apply the right plugs per route group.
44
+ - Use Channels/LiveView for realtime rather than polling, leveraging the BEAM's concurrency.
45
+ - Use Ecto migrations and changesets for schema changes and validation.
46
+
47
+ ## Common pitfalls
48
+ - Putting business logic in controllers or LiveViews → move it into Contexts for testability and reuse.
49
+ - Applying the wrong pipeline to a route (e.g. CSRF-protected `:browser` plugs on an API) → scope routes under the matching pipeline.
50
+ - Confusing the package on Hex (`phx_new` generator) with the runtime dependency (`phoenix`) → install the generator archive first, then generate the app.
51
+
52
+ ## Examples
53
+ ```elixir
54
+ # lib/hello_web/router.ex
55
+ scope "/", HelloWeb do
56
+ pipe_through :browser
57
+ get "/", PageController, :home
58
+ end
59
+ ```
60
+
61
+ ## Further reading
62
+ - https://hexdocs.pm/phoenix/up_and_running.html — Up and running
63
+ - https://hexdocs.pm/phoenix/contexts.html — Contexts
64
+ - https://hexdocs.pm/phoenix/channels.html — Channels (realtime)
65
+
66
+ ## Related skills
67
+ - ../rails — another MVC, convention-driven web framework
68
+ - ../laravel — full-stack framework with realtime broadcasting
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: rails
3
+ description: Convention-driven full-stack Ruby MVC framework with Active Record; consult when building or maintaining a Ruby on Rails backend.
4
+ domain: stack
5
+ category: backend
6
+ tags: [ruby, rails, mvc, active-record, web-framework]
7
+ official_sources:
8
+ - https://guides.rubyonrails.org/
9
+ - https://github.com/rails/rails
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Ruby on Rails
14
+
15
+ ## Overview
16
+ Ruby on Rails is a web application framework that includes everything needed to build database-backed apps using the Model-View-Controller pattern. It favors convention over configuration, with Active Record for persistence plus libraries for mail, jobs, WebSockets, file storage, and rich text. Read this when scaffolding, routing, modeling data, or organizing a Rails app.
17
+
18
+ ## Official sources
19
+ - Docs: https://guides.rubyonrails.org/
20
+ - Repo: https://github.com/rails/rails
21
+ - Install / download: https://guides.rubyonrails.org/getting_started.html (install Ruby/Rails: https://guides.rubyonrails.org/install_ruby_on_rails.html)
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ # Install the Rails gem (Ruby must already be installed)
26
+ gem install rails
27
+
28
+ # Create a new application
29
+ rails new store
30
+ ```
31
+
32
+ ## Core concepts
33
+ - Convention over configuration: predictable file locations and naming reduce boilerplate; following conventions is what makes Rails productive.
34
+ - MVC layers: Models (domain/data, usually Active Record), Views (templates, typically HTML with embedded Ruby), Controllers (handle HTTP requests and coordinate responses).
35
+ - Active Record: maps classes to tables and provides associations, validations, and query methods; migrations evolve the schema.
36
+ - Routing: `config/routes.rb` maps URLs to controller actions, with RESTful resource routing as the default idiom.
37
+ - Generators: `rails generate` scaffolds models, controllers, and migrations following conventions.
38
+ - Asset and frontend pipeline: Rails integrates view templates and bundled JS/CSS for full-stack rendering.
39
+
40
+ ## Best practices
41
+ - Lean on RESTful resource routes and conventional naming so generators and helpers work as intended (https://guides.rubyonrails.org/getting_started.html).
42
+ - Use migrations for every schema change so databases stay reproducible across environments.
43
+ - Keep business logic in models/service objects rather than controllers (fat-model/skinny-controller idiom).
44
+ - Use the built-in test framework (Minitest) and fixtures to cover models and controllers.
45
+
46
+ ## Common pitfalls
47
+ - Fighting conventions (custom paths, non-standard names) → generators, autoloading, and helpers break; follow Rails naming.
48
+ - Putting heavy logic in controllers or views → move it into models or plain Ruby objects for testability.
49
+ - Editing the schema by hand instead of via migrations → environments drift; always generate and run migrations.
50
+
51
+ ## Examples
52
+ ```ruby
53
+ # config/routes.rb
54
+ Rails.application.routes.draw do
55
+ resources :articles
56
+ root "articles#index"
57
+ end
58
+ ```
59
+
60
+ ## Further reading
61
+ - https://guides.rubyonrails.org/getting_started.html — Getting started
62
+ - https://guides.rubyonrails.org/active_record_basics.html — Active Record basics
63
+ - https://guides.rubyonrails.org/routing.html — Rails routing
64
+
65
+ ## Related skills
66
+ - ../laravel — analogous convention-driven full-stack framework in PHP
67
+ - ../phoenix — MVC-style framework with realtime, in Elixir
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: spring
3
+ description: Spring Framework and Spring Boot — the Java/Kotlin application framework for dependency injection, web/REST APIs, data access, and security. Consult when building Java backends, wiring beans, writing @RestController endpoints, configuring Spring Boot auto-configuration, JPA/JDBC data access, or bootstrapping a project from Spring Initializr (start.spring.io).
4
+ domain: stack
5
+ category: backend
6
+ tags: [spring, spring-boot, java, kotlin, jvm, dependency-injection, rest]
7
+ official_sources:
8
+ - https://docs.spring.io/spring-framework/reference/
9
+ - https://github.com/spring-projects/spring-framework
10
+ - https://start.spring.io/
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Spring Framework
15
+
16
+ ## Overview
17
+ Spring is the dominant application framework for the JVM, providing an inversion-of-control (IoC) container, declarative transactions, web MVC, data access, and security. Spring Boot layers opinionated auto-configuration and an embedded server on top so apps run with `java -jar`. Read this when building Java/Kotlin backends, defining beans, writing REST controllers, or wiring Spring Data/Security.
18
+
19
+ ## Official sources
20
+ - Docs: https://docs.spring.io/spring-framework/reference/
21
+ - Repo: https://github.com/spring-projects/spring-framework
22
+ - Install: https://start.spring.io/
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # Generate a Spring Boot project from Spring Initializr (web dependency)
27
+ curl https://start.spring.io/starter.zip -d dependencies=web -d type=gradle-project -o demo.zip
28
+ unzip demo.zip && ./gradlew bootRun
29
+ ```
30
+ Source: https://spring.io/quickstart/ (start.spring.io generates the project; `./gradlew bootRun` runs it on :8080).
31
+
32
+ ## Core concepts
33
+ - **IoC container / ApplicationContext** — manages bean lifecycle and dependency injection.
34
+ - **Beans & stereotypes** — `@Component`, `@Service`, `@Repository`, `@Controller` register beans; `@Autowired`/constructor injection wires them.
35
+ - **Auto-configuration (Boot)** — `@SpringBootApplication` enables component scan + conditional config based on the classpath.
36
+ - **Spring MVC** — `@RestController` + `@GetMapping`/`@PostMapping` map HTTP to handler methods.
37
+ - **Spring Data** — repository interfaces (`JpaRepository`) generate queries from method names.
38
+ - **Declarative transactions** — `@Transactional` manages commit/rollback boundaries.
39
+ - **Profiles & config** — `application.yml`/`application.properties`, `@Profile`, externalized `@ConfigurationProperties`.
40
+ - **Spring Security** — filter-chain based authn/authz via `SecurityFilterChain` beans.
41
+
42
+ ## Best practices
43
+ - Prefer constructor injection over field injection for testability and immutability (https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html).
44
+ - Let Spring Boot starters manage versions; do not pin transitive deps manually (https://docs.spring.io/spring-boot/reference/using/build-systems.html).
45
+ - Externalize config and use profiles instead of hardcoding env values (https://docs.spring.io/spring-boot/reference/features/external-config.html).
46
+ - Keep `@Transactional` on the service layer, not controllers (https://docs.spring.io/spring-framework/reference/data-access/transaction.html).
47
+
48
+ ## Common pitfalls
49
+ - Calling a `@Transactional`/`@Cacheable` method from within the same bean bypasses the proxy → split into a separate bean or use self-injection.
50
+ - Field injection hides missing deps and breaks unit tests → use constructor injection.
51
+ - `@SpringBootApplication` in the wrong package skips component scanning → place it at the root package.
52
+
53
+ ## Examples
54
+ ```java
55
+ @RestController
56
+ class HelloController {
57
+ @GetMapping("/hello")
58
+ String hello(@RequestParam(defaultValue = "World") String name) {
59
+ return "Hello " + name;
60
+ }
61
+ }
62
+ ```
63
+
64
+ ## Further reading
65
+ - https://docs.spring.io/spring-boot/index.html — Spring Boot reference docs
66
+ - https://spring.io/guides — official task-focused getting-started guides
67
+
68
+ ## Related skills
69
+ - ../graphql — expose a Spring backend via GraphQL (Spring for GraphQL)
70
+ - ../nginx — reverse-proxy a Spring Boot app behind Nginx
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: spring-boot
3
+ description: Convention-over-configuration JVM framework for production-grade Spring apps with auto-configuration and embedded servers; consult for Java/Kotlin backends.
4
+ domain: stack
5
+ category: backend
6
+ tags: [spring-boot, java, kotlin, jvm, dependency-injection, backend]
7
+ official_sources:
8
+ - https://docs.spring.io/spring-boot/
9
+ - https://github.com/spring-projects/spring-boot
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Spring Boot
14
+
15
+ ## Overview
16
+ Spring Boot helps you create Spring-powered, production-grade applications and services with absolute minimum fuss — no code generation and no XML configuration required. It layers opinionated auto-configuration, starter dependencies, and embedded servers on top of the Spring Framework so apps run standalone. Read this when building JVM (Java/Kotlin) web services or APIs and you want convention over configuration.
17
+
18
+ ## Official sources
19
+ - Docs: https://docs.spring.io/spring-boot/
20
+ - Repo: https://github.com/spring-projects/spring-boot
21
+ - Quickstart: https://spring.io/quickstart
22
+
23
+ ## Install / setup
24
+ The official quickstart scaffolds a project at https://start.spring.io (choose the "web" dependency), then builds and runs it with the bundled Gradle wrapper:
25
+ ```bash
26
+ ./gradlew bootRun
27
+ ```
28
+ On Windows the docs show `.\gradlew.bat bootRun`. (Source: https://spring.io/quickstart)
29
+
30
+ ## Core concepts
31
+ - **Auto-configuration** — Spring Boot configures beans automatically based on the classpath and properties, overridable when needed.
32
+ - **Starters** — curated dependency descriptors (e.g. `spring-boot-starter-web`) pull in a coherent set of libraries.
33
+ - **Inversion of Control / DI** — the Spring container manages beans and injects dependencies (`@Component`, `@Autowired`, constructor injection).
34
+ - **Embedded server** — apps package an embedded Tomcat/Jetty/Netty and run as a standalone executable jar.
35
+ - **Externalized configuration** — `application.properties` / `application.yml`, environment variables, and profiles configure the app.
36
+ - **Actuator** — production-ready endpoints for health, metrics, and monitoring.
37
+
38
+ ## Best practices
39
+ - Use starter dependencies and Spring Initializr (start.spring.io) to get a coherent, version-aligned setup (https://spring.io/quickstart).
40
+ - Prefer constructor injection for required dependencies; it makes beans immutable and easier to test (https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html).
41
+ - Externalize configuration and use profiles for environment-specific settings rather than hardcoding (https://docs.spring.io/spring-boot/reference/features/external-config.html).
42
+ - Add Actuator and expose only the endpoints you need for health/metrics in production (https://docs.spring.io/spring-boot/reference/actuator/index.html).
43
+
44
+ ## Common pitfalls
45
+ - Placing components outside the main application class's package → component scanning misses them; keep `@SpringBootApplication` at a root package above your components (https://docs.spring.io/spring-boot/reference/using/structuring-your-code.html).
46
+ - Exposing all Actuator endpoints publicly → leaks sensitive operational data; restrict and secure exposed endpoints (https://docs.spring.io/spring-boot/reference/actuator/endpoints.html).
47
+
48
+ ## Examples
49
+ ```java
50
+ @SpringBootApplication
51
+ @RestController
52
+ public class DemoApplication {
53
+
54
+ @GetMapping("/")
55
+ public String home() {
56
+ return "Hello World!";
57
+ }
58
+
59
+ public static void main(String[] args) {
60
+ SpringApplication.run(DemoApplication.class, args);
61
+ }
62
+ }
63
+ ```
64
+
65
+ ## Further reading
66
+ - https://docs.spring.io/spring-boot/tutorial/first-application/index.html — first application tutorial
67
+ - https://docs.spring.io/spring-boot/reference/features/external-config.html — configuration reference
68
+
69
+ ## Related skills
70
+ - ../nestjs — comparable DI/module-driven framework in the Node ecosystem
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: symfony
3
+ description: Symfony — the PHP framework and set of reusable components for building web apps, REST APIs, and CLI tools with routing, dependency injection, Doctrine ORM, and Twig. Consult when scaffolding a Symfony project, defining controllers/routes with attributes, configuring services and bundles, building forms, or using the Symfony CLI / composer create-project.
4
+ domain: stack
5
+ category: backend
6
+ tags: [symfony, php, doctrine, twig, mvc, composer, backend]
7
+ official_sources:
8
+ - https://symfony.com/doc/current/index.html
9
+ - https://github.com/symfony/symfony
10
+ - https://symfony.com/doc/current/setup.html
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Symfony
15
+
16
+ ## Overview
17
+ Symfony is a mature PHP framework built from decoupled, reusable components (HttpFoundation, Routing, DependencyInjection, Console). It powers full-stack web apps, APIs, and microservices, and many of its components underpin other PHP projects (including Laravel and Drupal). Read this when scaffolding a Symfony app, wiring services, defining attribute-based routes, or using Doctrine and Twig.
18
+
19
+ ## Official sources
20
+ - Docs: https://symfony.com/doc/current/index.html
21
+ - Repo: https://github.com/symfony/symfony
22
+ - Install: https://symfony.com/doc/current/setup.html
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # Full-featured web app (Symfony CLI):
27
+ symfony new my_project_directory --version="8.1.*" --webapp
28
+ # Or with Composer:
29
+ composer create-project symfony/skeleton:"8.1.*" my_project_directory
30
+ cd my_project_directory && composer require webapp
31
+ ```
32
+ Source: https://symfony.com/doc/current/setup.html
33
+
34
+ ## Core concepts
35
+ - **Front controller & kernel** — all requests route through `public/index.php` into the HTTP kernel.
36
+ - **Routing** — `#[Route]` attributes on controller methods map URLs to actions.
37
+ - **Controllers** — extend `AbstractController`; return a `Response` (or Twig `render()`).
38
+ - **Service container & DI** — autowiring + autoconfiguration wire services; configured in `config/services.yaml`.
39
+ - **Doctrine ORM** — entities, repositories, and migrations for database access.
40
+ - **Twig** — templating engine for views (`templates/`).
41
+ - **Bundles & Flex** — reusable plugins; Symfony Flex installs recipes that auto-configure them.
42
+ - **Console** — `bin/console` runs commands (cache clear, migrations, custom commands).
43
+
44
+ ## Best practices
45
+ - Use attribute-based routing and constructor injection (autowiring) for services (https://symfony.com/doc/current/best_practices.html).
46
+ - Store config in environment variables via `.env`, never commit secrets; use the Secrets vault (https://symfony.com/doc/current/configuration/secrets.html).
47
+ - Keep controllers thin; push logic into services (https://symfony.com/doc/current/controller.html).
48
+ - Use Doctrine migrations rather than auto-updating the schema in production (https://symfony.com/doc/current/doctrine.html).
49
+
50
+ ## Common pitfalls
51
+ - Editing `config/services.yaml` to register every class manually → rely on autowiring/autoconfiguration instead.
52
+ - Forgetting to clear the prod cache after config changes → run `bin/console cache:clear --env=prod`.
53
+ - Running `doctrine:schema:update --force` in prod → generate and run migrations instead.
54
+
55
+ ## Examples
56
+ ```php
57
+ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
58
+ use Symfony\Component\HttpFoundation\JsonResponse;
59
+ use Symfony\Component\Routing\Attribute\Route;
60
+
61
+ class HelloController extends AbstractController
62
+ {
63
+ #[Route('/hello/{name}', name: 'hello')]
64
+ public function index(string $name = 'World'): JsonResponse
65
+ {
66
+ return $this->json(['message' => "Hello $name"]);
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Further reading
72
+ - https://symfony.com/doc/current/best_practices.html — official best practices
73
+ - https://symfony.com/components — the reusable Symfony components
74
+
75
+ ## Related skills
76
+ - ../codeigniter — lighter-weight PHP MVC alternative
77
+ - ../nginx — serve Symfony's public/ front controller behind Nginx + PHP-FPM
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: containerd
3
+ description: Industry-standard, CNCF-graduated container runtime that manages the full container lifecycle — consult for low-level runtime and Kubernetes CRI work.
4
+ domain: stack
5
+ category: container
6
+ tags: [containerd, container-runtime, oci, cri, kubernetes, cncf]
7
+ official_sources:
8
+ - https://containerd.io/docs/
9
+ - https://github.com/containerd/containerd
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # containerd
14
+
15
+ ## Overview
16
+ containerd is an industry-standard container runtime that manages the complete container lifecycle — image transfer and storage, container execution and supervision, low-level storage, and network attachments. It is a CNCF graduated project and the runtime that powers Docker and many Kubernetes installations (via the CRI plugin). Read this when working below the Docker/Podman layer, configuring a Kubernetes node runtime, or embedding container management in your own platform.
17
+
18
+ ## Official sources
19
+ - Docs: https://containerd.io/docs/
20
+ - Repo: https://github.com/containerd/containerd
21
+ - Getting started: https://github.com/containerd/containerd/blob/main/docs/getting-started.md
22
+
23
+ ## Install / setup
24
+ Install from the official release binaries, then enable the systemd service (https://github.com/containerd/containerd/blob/main/docs/getting-started.md). Download `containerd-<VERSION>-<OS>-<ARCH>.tar.gz` from https://github.com/containerd/containerd/releases and extract it:
25
+
26
+ ```bash
27
+ tar Cxzvf /usr/local containerd-<VERSION>-<OS>-<ARCH>.tar.gz
28
+ ```
29
+
30
+ Set up the systemd service unit:
31
+
32
+ ```bash
33
+ # Place containerd.service in /usr/local/lib/systemd/system/
34
+ systemctl daemon-reload
35
+ systemctl enable --now containerd
36
+ ```
37
+
38
+ containerd also requires a low-level OCI runtime (`runc`, from https://github.com/opencontainers/runc/releases) and, for networking, the CNI plugins (from https://github.com/containernetworking/plugins/releases).
39
+
40
+ ## Core concepts
41
+ - **Daemon + clients**: a long-running `containerd` daemon exposes a gRPC API; the `ctr` CLI and higher-level tools (Docker, Kubernetes) are clients.
42
+ - **OCI runtime delegation**: containerd does not run containers itself — it shells out to an OCI runtime such as `runc` to create the process.
43
+ - **Namespaces**: API objects (images, containers, snapshots) are isolated into namespaces so multiple consumers (e.g. Docker and k8s) share one daemon without collisions.
44
+ - **Snapshotters**: pluggable storage backends (overlayfs, etc.) that materialize image layers into a container rootfs.
45
+ - **CRI plugin**: implements the Kubernetes Container Runtime Interface so kubelet can use containerd directly as a node runtime.
46
+ - **Content + image store**: content-addressable storage for image layers and manifests, with image pull/push handled over the distribution API.
47
+
48
+ ## Best practices
49
+ - Use higher-level tooling (Docker, nerdctl, Kubernetes) for everyday work; reserve `ctr` for debugging since it is intentionally low-level (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
50
+ - Match the configured cgroup driver between containerd and kubelet (commonly `systemd`) to avoid node instability (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
51
+ - Generate and customize the daemon config explicitly (`containerd config default > /etc/containerd/config.toml`) rather than relying on implicit defaults (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
52
+ - Keep `runc` and CNI plugins installed and version-compatible, since containerd depends on them for execution and networking (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
53
+
54
+ ## Common pitfalls
55
+ - Expecting a Docker-like UX from `ctr` → it is a debugging tool with no stable UX; use nerdctl or Docker for ergonomic workflows (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
56
+ - Forgetting that containers from different clients live in separate namespaces → an image pulled in one namespace is not visible in another (https://github.com/containerd/containerd/blob/main/docs/namespaces.md).
57
+ - Installing the containerd binary alone → containers fail to start without `runc`, and pods fail to network without CNI plugins (https://github.com/containerd/containerd/blob/main/docs/getting-started.md).
58
+
59
+ ## Examples
60
+ ```bash
61
+ # Pull an image and run a container with the low-level ctr client
62
+ sudo ctr image pull docker.io/library/redis:alpine
63
+ sudo ctr run --rm -t docker.io/library/redis:alpine redis redis-server
64
+
65
+ # Inspect objects within a specific namespace
66
+ sudo ctr -n k8s.io containers list
67
+ ```
68
+
69
+ ## Further reading
70
+ - Getting started guide: https://github.com/containerd/containerd/blob/main/docs/getting-started.md
71
+ - Ops/admin docs: https://github.com/containerd/containerd/blob/main/docs/ops.md
72
+
73
+ ## Related skills
74
+ - ../docker — uses containerd as its underlying runtime
75
+ - ../podman — alternative engine in the same OCI ecosystem
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: docker
3
+ description: Build, ship, and run applications in containers with Docker Engine — consult for Dockerfiles, images, and container runtime workflows.
4
+ domain: stack
5
+ category: container
6
+ tags: [docker, containers, dockerfile, oci, image, container-runtime]
7
+ official_sources:
8
+ - https://docs.docker.com/
9
+ - https://github.com/moby/moby
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Docker
14
+
15
+ ## Overview
16
+ Docker packages an application and its dependencies into a portable, isolated container image that runs the same way across machines. It solves the "works on my machine" problem by standardizing build, ship, and run steps. Read this when authoring Dockerfiles, building images, or running containers locally and in CI. The upstream engine is the open-source Moby project.
17
+
18
+ ## Official sources
19
+ - Docs: https://docs.docker.com/
20
+ - Repo: https://github.com/moby/moby
21
+ - Install / download: https://docs.docker.com/get-started/get-docker/
22
+
23
+ ## Install / setup
24
+ Docker Desktop (macOS, Windows, Linux) and Docker Engine downloads are listed on the official Get Docker page: https://docs.docker.com/get-started/get-docker/
25
+
26
+ Install Docker Engine on Ubuntu via the official apt repository (https://docs.docker.com/engine/install/ubuntu/):
27
+
28
+ ```bash
29
+ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
30
+ ```
31
+
32
+ Convenience script for non-production/development setups (https://docs.docker.com/engine/install/ubuntu/):
33
+
34
+ ```bash
35
+ curl -fsSL https://get.docker.com -o get-docker.sh
36
+ sudo sh get-docker.sh
37
+ ```
38
+
39
+ Verify the installation:
40
+
41
+ ```bash
42
+ sudo docker run hello-world
43
+ ```
44
+
45
+ ## Core concepts
46
+ - **Image**: a read-only, layered template built from a Dockerfile; each instruction adds a cache-able layer.
47
+ - **Container**: a running (or stopped) instance of an image with its own writable layer and isolated process/network/filesystem namespaces.
48
+ - **Dockerfile**: the declarative build recipe (`FROM`, `RUN`, `COPY`, `CMD`, `ENTRYPOINT`, ...) consumed by the builder.
49
+ - **Registry**: a store for distributing images (e.g. Docker Hub); you `pull`/`push` tagged images by `name:tag`.
50
+ - **Volume / bind mount**: mechanisms for persisting or sharing data outside the container's ephemeral writable layer.
51
+ - **Network**: virtual networks (bridge, host, none, user-defined) that connect containers and control reachability.
52
+ - **BuildKit**: the default modern build backend enabling parallelism, build caching, and multi-stage builds.
53
+
54
+ ## Best practices
55
+ - Use multi-stage builds so the final image ships only runtime artifacts, not build tooling (https://docs.docker.com/build/building/multi-stage/).
56
+ - Order Dockerfile instructions from least- to most-frequently changing and copy dependency manifests before source to maximize layer-cache hits (https://docs.docker.com/build/building/best-practices/).
57
+ - Pin base images to specific tags/digests and keep them minimal (slim/alpine/distroless) to shrink attack surface and size (https://docs.docker.com/build/building/best-practices/).
58
+ - Add a `.dockerignore` to exclude `.git`, `node_modules`, and secrets from the build context (https://docs.docker.com/build/concepts/context/#dockerignore-files).
59
+ - Run containers as a non-root user where possible (`USER`) (https://docs.docker.com/build/building/best-practices/).
60
+
61
+ ## Common pitfalls
62
+ - Baking secrets into image layers via `ENV`/`ARG`/`COPY` → use BuildKit build secrets or runtime env/secret injection instead (https://docs.docker.com/build/building/secrets/).
63
+ - Storing important data only in the container's writable layer → it is lost when the container is removed; use a volume (https://docs.docker.com/engine/storage/volumes/).
64
+ - Using the convenience script in production → it is intended for development; follow the platform-specific install for production (https://docs.docker.com/engine/install/ubuntu/).
65
+
66
+ ## Examples
67
+ ```dockerfile
68
+ # Multi-stage build keeps the final image small
69
+ FROM node:22-slim AS build
70
+ WORKDIR /app
71
+ COPY package*.json ./
72
+ RUN npm ci
73
+ COPY . .
74
+ RUN npm run build
75
+
76
+ FROM node:22-slim
77
+ WORKDIR /app
78
+ COPY --from=build /app/dist ./dist
79
+ COPY --from=build /app/node_modules ./node_modules
80
+ USER node
81
+ CMD ["node", "dist/server.js"]
82
+ ```
83
+
84
+ ## Further reading
85
+ - Dockerfile reference: https://docs.docker.com/reference/dockerfile/
86
+ - Building best practices: https://docs.docker.com/build/building/best-practices/
87
+
88
+ ## Related skills
89
+ - ../podman — daemonless, Docker-CLI-compatible alternative
90
+ - ../containerd — the runtime Docker uses under the hood