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,63 @@
1
+ ---
2
+ name: fly-io
3
+ description: Run full-stack apps and databases on a global edge using flyctl and Fly Machines; consult for deploys, regions, and scaling.
4
+ domain: stack
5
+ category: infra
6
+ tags: [hosting, edge, containers, deploy, flyctl, global]
7
+ official_sources:
8
+ - https://fly.io/docs/
9
+ - https://github.com/superfly/flyctl
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Fly.io
14
+
15
+ ## Overview
16
+ Fly.io runs your app as containers (Fly Machines) on hardware in many regions, placing instances close to users worldwide. It deploys apps, databases, and background workers driven by the `flyctl` CLI and a `fly.toml` config. Read this when you need to deploy a containerized full-stack app with low latency across regions.
17
+
18
+ ## Official sources
19
+ - Docs: https://fly.io/docs/
20
+ - Repo (flyctl): https://github.com/superfly/flyctl
21
+ - Install: https://fly.io/docs/flyctl/install/
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ curl -L https://fly.io/install.sh | sh
26
+ ```
27
+
28
+ ## Core concepts
29
+ - Fly Machines: fast-starting micro-VMs running your container image; the unit of compute you deploy and scale.
30
+ - `fly.toml`: per-app configuration declaring services, ports, regions, health checks, and scaling.
31
+ - Regions: apps run in chosen regions; Fly's edge routes each request to a nearby instance.
32
+ - Volumes: persistent local disks attached to a Machine for stateful workloads.
33
+ - Apps & deploys: `fly deploy` builds/pushes an image and rolls Machines to the new release.
34
+ - Private networking: apps in an organization share a private IPv6 (6PN) network for service-to-service traffic.
35
+
36
+ ## Best practices
37
+ - Define health checks in `fly.toml` so rolling deploys only shift traffic to healthy Machines.
38
+ - Co-locate stateful storage (volumes/databases) in the same region as the app instances that use them to avoid cross-region latency.
39
+ - Use secrets (`fly secrets set`) for credentials instead of baking them into the image or committing them.
40
+ - Scale by region to match where your users are rather than over-provisioning a single region.
41
+
42
+ ## Common pitfalls
43
+ - Assuming volumes follow the app across regions → a volume is pinned to one region/Machine; plan placement and replication.
44
+ - Forgetting health checks → a broken release can receive traffic before failing.
45
+ - Treating Machines as long-lived pets → they can be recreated; persist state in volumes or external databases.
46
+
47
+ ## Examples
48
+ ```bash
49
+ # Authenticate, scaffold config, and deploy
50
+ fly auth login
51
+ fly launch
52
+ fly deploy
53
+
54
+ # Store a secret used by the app at runtime
55
+ fly secrets set DATABASE_URL=postgres://...
56
+ ```
57
+
58
+ ## Further reading
59
+ - https://fly.io/docs/reference/configuration/ — fly.toml reference
60
+ - https://fly.io/docs/volumes/ — persistent volumes
61
+
62
+ ## Related skills
63
+ - ../railway — similar deploy-anything platform for apps and databases
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: gcp
3
+ description: Google Cloud Platform and the gcloud CLI; consult for compute, storage, networking, IAM, and scripting GCP resources.
4
+ domain: stack
5
+ category: infra
6
+ tags: [cloud, gcp, gcloud, iam, compute, cli]
7
+ official_sources:
8
+ - https://cloud.google.com/docs
9
+ - https://cloud.google.com/sdk/docs/install
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # GCP (Google Cloud Platform)
14
+
15
+ ## Overview
16
+ Google Cloud Platform offers compute (Compute Engine, Cloud Run, GKE), storage (Cloud Storage), databases, networking, and IAM across Google's global infrastructure. The Google Cloud CLI (`gcloud`, part of the Google Cloud SDK) is the unified tool for managing and scripting these resources. Read this when you need to provision, manage, or automate GCP infrastructure.
17
+
18
+ ## Official sources
19
+ - Docs: https://cloud.google.com/docs
20
+ - CLI install: https://cloud.google.com/sdk/docs/install
21
+ - Note: the gcloud CLI / Google Cloud SDK is a Google-distributed product without a single canonical public source repo; install from the official download above. The GoogleCloudPlatform GitHub org (https://github.com/GoogleCloudPlatform) hosts samples and tooling such as the cloud-sdk-docker image.
22
+
23
+ ## Install / setup
24
+ Linux, copied verbatim from the official install page:
25
+ ```bash
26
+ curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz
27
+ tar -xf google-cloud-cli-linux-x86_64.tar.gz
28
+ ./google-cloud-sdk/install.sh
29
+ ```
30
+
31
+ ## Core concepts
32
+ - Projects: the top-level container for resources, billing, and permissions; nearly everything belongs to a project.
33
+ - IAM: roles and policies binding members (users, service accounts) to permissions on resources.
34
+ - Service accounts: non-human identities used by workloads to call GCP APIs.
35
+ - Regions & zones: resources are deployed to zones within regions for locality and redundancy.
36
+ - Compute options: Compute Engine (VMs), Cloud Run (containers, serverless), and GKE (managed Kubernetes).
37
+ - gcloud config: the active project, account, and region/zone are stored in a CLI configuration.
38
+
39
+ ## Best practices
40
+ - Set the active project/region in your gcloud config (or pass `--project`) so commands target the intended resources.
41
+ - Grant least-privilege IAM roles and use service accounts for workloads instead of personal credentials (per GCP IAM docs).
42
+ - Use Workload Identity / short-lived credentials for CI rather than downloading long-lived service-account key files.
43
+ - Separate environments into distinct projects to isolate billing, quotas, and blast radius.
44
+
45
+ ## Common pitfalls
46
+ - Forgetting to set the active project → commands fail or hit the wrong project.
47
+ - Downloading and committing service-account JSON keys → credential leakage; prefer keyless/short-lived auth.
48
+ - Over-broad primitive roles (Owner/Editor) → use predefined or custom least-privilege roles instead.
49
+
50
+ ## Examples
51
+ ```bash
52
+ # Authenticate and select the active project
53
+ gcloud auth login
54
+ gcloud config set project my-project-id
55
+
56
+ # List compute instances
57
+ gcloud compute instances list
58
+ ```
59
+
60
+ ## Further reading
61
+ - https://cloud.google.com/sdk/gcloud — gcloud command reference
62
+ - https://cloud.google.com/iam/docs — IAM documentation
63
+
64
+ ## Related skills
65
+ - ../aws — comparable hyperscale cloud platform
66
+ - ../kubernetes — container orchestration often run on GCP (GKE)
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: jenkins
3
+ description: Jenkins is an open-source automation server for building, testing, and deploying software via CI/CD pipelines; consult when configuring Jenkinsfile pipelines, declarative vs scripted syntax, agents/nodes, plugins, stages, credentials, or running a Jenkins controller in Docker.
4
+ domain: stack
5
+ category: infra
6
+ tags: [jenkins, ci-cd, automation, pipeline, devops, infrastructure, build]
7
+ official_sources:
8
+ - https://www.jenkins.io/doc/
9
+ - https://github.com/jenkinsci/jenkins
10
+ - https://www.jenkins.io/doc/book/installing/
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Jenkins
15
+
16
+ ## Overview
17
+ Jenkins is a self-hosted, open-source automation server that orchestrates continuous integration and continuous delivery (CI/CD) pipelines. Pipelines are defined as code in a `Jenkinsfile` and executed across a controller and distributed agents, with thousands of plugins extending its capabilities. Read this when you need to author pipelines, configure build agents, manage credentials, or stand up a Jenkins instance.
18
+
19
+ ## Official sources
20
+ - Docs: https://www.jenkins.io/doc/
21
+ - Repo: https://github.com/jenkinsci/jenkins
22
+ - Install: https://www.jenkins.io/doc/book/installing/
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ docker run --name jenkins --restart=on-failure --detach \
27
+ --publish 8080:8080 --publish 50000:50000 \
28
+ --volume jenkins-data:/var/jenkins_home \
29
+ jenkins/jenkins:lts-jdk21
30
+ ```
31
+ Source: https://www.jenkins.io/doc/book/installing/docker/
32
+
33
+ ## Core concepts
34
+ - **Controller** — central Jenkins server that stores config, schedules builds, and dispatches work to agents.
35
+ - **Agent (node)** — worker machine/container that executes build steps; isolates workloads from the controller.
36
+ - **Pipeline** — end-to-end automated process defined in a `Jenkinsfile` (declarative or scripted Groovy).
37
+ - **Stage / step** — `stage` groups related work; `step` is a single task (e.g. `sh 'make'`).
38
+ - **Job/project** — a configured unit of work (freestyle, pipeline, or multibranch).
39
+ - **Plugin** — installable extension adding integrations, tools, and pipeline steps.
40
+ - **Credentials** — securely stored secrets injected into builds via the Credentials plugin.
41
+ - **Executor** — a slot on a node that runs one build at a time.
42
+
43
+ ## Best practices
44
+ - Define pipelines as code in a versioned `Jenkinsfile` rather than configuring jobs in the UI (https://www.jenkins.io/doc/book/pipeline/).
45
+ - Prefer the Declarative Pipeline syntax for readability and built-in validation (https://www.jenkins.io/doc/book/pipeline/syntax/).
46
+ - Run builds on agents, keeping the controller free of heavy workloads (https://www.jenkins.io/doc/book/using/using-agents/).
47
+ - Store secrets in the Credentials store and reference via `credentials()`/`withCredentials` (https://www.jenkins.io/doc/book/using/using-credentials/).
48
+ - Pin the LTS release line and update plugins regularly for stability and security (https://www.jenkins.io/doc/book/managing/plugins/).
49
+
50
+ ## Common pitfalls
51
+ - Running heavy builds on the controller → configure dedicated agents and set controller executors to 0.
52
+ - Hardcoding secrets in the Jenkinsfile → use the Credentials plugin and masked bindings.
53
+ - Losing config on container restart → mount a persistent volume at `/var/jenkins_home`.
54
+
55
+ ## Examples
56
+ ```groovy
57
+ pipeline {
58
+ agent any
59
+ stages {
60
+ stage('Build') { steps { sh 'make' } }
61
+ stage('Test') { steps { sh 'make test' } }
62
+ }
63
+ }
64
+ ```
65
+
66
+ ## Further reading
67
+ - https://www.jenkins.io/doc/book/pipeline/syntax/ — Declarative & Scripted pipeline syntax reference
68
+ - https://plugins.jenkins.io/ — official plugin index
69
+ - https://www.jenkins.io/doc/book/security/ — securing a Jenkins instance
70
+
71
+ ## Related skills
72
+ - ../circleci — managed CI/CD alternative using YAML config
73
+ - ../ansible — provision and configure Jenkins agents
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: kubernetes
3
+ description: Container orchestration for deploying, scaling, and managing containerized apps; consult for Pods, Deployments, Services, and kubectl.
4
+ domain: stack
5
+ category: infra
6
+ tags: [kubernetes, k8s, containers, orchestration, kubectl, cncf]
7
+ official_sources:
8
+ - https://kubernetes.io/docs/
9
+ - https://github.com/kubernetes/kubernetes
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Kubernetes
14
+
15
+ ## Overview
16
+ Kubernetes (K8s) is an open-source system, hosted by the CNCF, for automating the deployment, scaling, and management of containerized applications across a cluster of hosts. It exposes a declarative API where you describe desired state and controllers continuously reconcile actual state toward it. Read this when you need to run, scale, or operate containerized workloads on a cluster.
17
+
18
+ ## Official sources
19
+ - Docs: https://kubernetes.io/docs/
20
+ - Repo: https://github.com/kubernetes/kubernetes
21
+ - Install tools: https://kubernetes.io/docs/tasks/tools/
22
+
23
+ ## Install / setup
24
+ Install `kubectl` on Linux, copied verbatim from the official install page:
25
+ ```bash
26
+ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
27
+ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
28
+ ```
29
+
30
+ ## Core concepts
31
+ - Pod: the smallest deployable unit, wrapping one or more containers that share network and storage.
32
+ - Deployment: declares a desired replica count and manages rolling updates of stateless Pods via ReplicaSets.
33
+ - Service: a stable network endpoint and load balancer for a set of Pods selected by labels.
34
+ - ConfigMap & Secret: inject non-secret config and sensitive data into Pods separately from images.
35
+ - Namespace: a virtual cluster partition for isolating and scoping resources.
36
+ - Controllers & reconciliation: control loops continuously drive actual state toward declared desired state.
37
+ - Ingress: rules for routing external HTTP(S) traffic to Services.
38
+
39
+ ## Best practices
40
+ - Manage resources declaratively with version-controlled manifests applied via `kubectl apply`, not imperative one-off edits.
41
+ - Set resource requests and limits on containers so the scheduler can place Pods and prevent noisy-neighbor exhaustion (per the docs).
42
+ - Define liveness and readiness probes so Kubernetes restarts unhealthy Pods and only routes traffic to ready ones.
43
+ - Store sensitive values in Secrets (and a real secrets manager) rather than baking them into images or ConfigMaps.
44
+
45
+ ## Common pitfalls
46
+ - Omitting resource requests/limits → unschedulable Pods or nodes overcommitted and OOM-killed.
47
+ - Missing readiness probe → traffic is sent to Pods before they can serve, causing errors during rollouts.
48
+ - Treating Secrets as encrypted by default → base64 is encoding, not encryption; enable encryption at rest and restrict RBAC access.
49
+
50
+ ## Examples
51
+ ```bash
52
+ # Apply a manifest and inspect the rollout
53
+ kubectl apply -f deployment.yaml
54
+ kubectl get pods -n my-namespace
55
+ kubectl rollout status deployment/my-app -n my-namespace
56
+ ```
57
+
58
+ ## Further reading
59
+ - https://kubernetes.io/docs/concepts/ — concepts overview
60
+ - https://kubernetes.io/docs/reference/kubectl/ — kubectl reference
61
+
62
+ ## Related skills
63
+ - ../aws — managed Kubernetes via EKS
64
+ - ../gcp — managed Kubernetes via GKE
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: netlify
3
+ description: Managed hosting for web apps with Git deploys, functions, and edge; consult for deploys, redirects, env vars, and the Netlify CLI.
4
+ domain: stack
5
+ category: infra
6
+ tags: [hosting, serverless, frontend, deploy, cli, jamstack]
7
+ official_sources:
8
+ - https://docs.netlify.com/
9
+ - https://github.com/netlify/cli
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Netlify
14
+
15
+ ## Overview
16
+ Netlify is a managed platform for building and hosting web apps, providing Git-connected continuous deployment, serverless and edge functions, and per-deploy preview URLs. It targets static sites and frontend frameworks plus their attached backend functions. Read this when you need to deploy a web app, configure redirects/headers, or drive deploys with the CLI.
17
+
18
+ ## Official sources
19
+ - Docs: https://docs.netlify.com/
20
+ - Repo (CLI): https://github.com/netlify/cli
21
+ - CLI install: https://docs.netlify.com/cli/get-started/
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm install -g netlify-cli
26
+ ```
27
+
28
+ ## Core concepts
29
+ - Continuous deployment: connecting a Git repo triggers a build and deploy on each push.
30
+ - Deploy previews: pull requests/branches get isolated preview URLs before merging to production.
31
+ - Functions: serverless (and edge) functions deployed alongside the site for backend logic.
32
+ - `netlify.toml`: project configuration for build settings, redirects, headers, and function paths.
33
+ - Redirects & rewrites: rule-based routing (including SPA fallback and proxying) defined in config or a `_redirects` file.
34
+ - Environment variables: configured per site/context (production, deploy-preview, branch) and used during build and at runtime.
35
+
36
+ ## Best practices
37
+ - Keep build, publish directory, redirects, and headers in `netlify.toml` so configuration is versioned with the code.
38
+ - For CI environments, install the CLI as a local dev dependency (`npm install netlify-cli --save-dev`) rather than relying on a global install (per the docs).
39
+ - Use an SPA catch-all redirect (`/* /index.html 200`) for client-side routed apps so deep links resolve.
40
+ - Scope environment variables to the correct deploy context to avoid leaking production secrets into previews.
41
+
42
+ ## Common pitfalls
43
+ - Missing SPA redirect → client-side routes 404 on direct navigation.
44
+ - Setting a wrong publish directory → the build succeeds but the deployed site is empty or shows the wrong root.
45
+ - Expecting functions to hold state between invocations → they are stateless and short-lived; use external storage.
46
+
47
+ ## Examples
48
+ ```bash
49
+ # Authenticate, link the repo, and deploy to production
50
+ netlify login
51
+ netlify link
52
+ netlify deploy --prod
53
+ ```
54
+
55
+ ## Further reading
56
+ - https://docs.netlify.com/routing/redirects/ — redirects and rewrites
57
+ - https://docs.netlify.com/functions/overview/ — functions overview
58
+
59
+ ## Related skills
60
+ - ../vercel — comparable managed frontend hosting platform
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: railway
3
+ description: Deploy apps, databases, and services with Git-driven builds; consult for services, variables, environments, and the Railway CLI.
4
+ domain: stack
5
+ category: infra
6
+ tags: [hosting, paas, deploy, database, cli]
7
+ official_sources:
8
+ - https://docs.railway.com/
9
+ - https://github.com/railwayapp/cli
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Railway
14
+
15
+ ## Overview
16
+ Railway is a platform-as-a-service for deploying applications, databases, and supporting services from a Git repo or template, with minimal infrastructure configuration. It groups resources into projects and environments and provisions managed databases (Postgres, Redis, etc.) alongside your app. Read this when you need to stand up an app plus its backing services quickly.
17
+
18
+ ## Official sources
19
+ - Docs: https://docs.railway.com/
20
+ - Repo (CLI): https://github.com/railwayapp/cli
21
+ - CLI install: https://docs.railway.com/guides/cli
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ npm i -g @railway/cli
26
+ ```
27
+
28
+ ## Core concepts
29
+ - Project: the top-level container that groups related services and environments.
30
+ - Service: a deployable unit (your app, a worker, or a managed database) within a project.
31
+ - Environments: isolated copies of a project's services (e.g. production, staging) with their own variables.
32
+ - Variables: environment variables per service/environment, including auto-injected connection strings from linked databases.
33
+ - Deployments: builds triggered from Git pushes or the CLI, producing a running instance with logs.
34
+ - Plugins/databases: managed datastores provisioned into a project and connected via reference variables.
35
+
36
+ ## Best practices
37
+ - Use separate environments for staging and production rather than reusing one environment for both.
38
+ - Reference database connection details via Railway-provided variables instead of hardcoding credentials.
39
+ - Link the local project with the CLI (`railway link`) so commands and `railway run` use the right environment's variables.
40
+ - Keep service config and variables in Railway/version-controlled config rather than ad hoc dashboard edits where possible.
41
+
42
+ ## Common pitfalls
43
+ - Hardcoding a database URL instead of using the injected reference variable → breaks when the database is recreated or rotated.
44
+ - Running commands against the wrong environment → unlink/relink or confirm the active environment before deploying.
45
+ - Forgetting the CLI requires Node.js 16+ for the npm install method (per the docs).
46
+
47
+ ## Examples
48
+ ```bash
49
+ # Authenticate, link a project, and deploy
50
+ railway login
51
+ railway link
52
+ railway up
53
+
54
+ # Run a local command with the project's env vars injected
55
+ railway run npm start
56
+ ```
57
+
58
+ ## Further reading
59
+ - https://docs.railway.com/guides/variables — variables and references
60
+ - https://docs.railway.com/guides/environments — environments
61
+
62
+ ## Related skills
63
+ - ../fly-io — similar deploy platform for apps and databases
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: tailscale
3
+ description: Zero-config WireGuard mesh VPN; consult for private networking, ACLs, subnet routing, and secure device-to-device connectivity.
4
+ domain: stack
5
+ category: infra
6
+ tags: [vpn, wireguard, networking, mesh, zero-trust]
7
+ official_sources:
8
+ - https://tailscale.com/kb/
9
+ - https://github.com/tailscale/tailscale
10
+ verified: 2026-06-16
11
+ ---
12
+
13
+ # Tailscale
14
+
15
+ ## Overview
16
+ Tailscale builds a private mesh network ("tailnet") between your devices using the WireGuard protocol, with automatic NAT traversal and key distribution handled by a coordination server. It removes the need to manually configure WireGuard keys, firewall holes, or a central VPN concentrator. Read this when you need secure, encrypted connectivity between machines, services, or users without exposing public ports.
17
+
18
+ ## Official sources
19
+ - Docs: https://tailscale.com/kb/
20
+ - Repo: https://github.com/tailscale/tailscale
21
+ - Install / download: https://tailscale.com/download
22
+
23
+ ## Install / setup
24
+ ```bash
25
+ curl -fsSL https://tailscale.com/install.sh | sh
26
+ ```
27
+
28
+ ## Core concepts
29
+ - Tailnet: the private network of all devices logged into your Tailscale account/organization; each device gets a stable 100.x.y.z address.
30
+ - WireGuard data plane: traffic is end-to-end encrypted directly between peers; the coordination server only brokers keys and metadata, not user traffic.
31
+ - NAT traversal: Tailscale establishes direct peer connections where possible and falls back to encrypted DERP relays when direct paths are blocked.
32
+ - ACLs: a centrally managed policy file defines which devices and identity groups may reach which others, defaulting to deny.
33
+ - Subnet routers: a node can advertise routes so the tailnet reaches non-Tailscale hosts (e.g. an on-prem subnet or cloud VPC).
34
+ - Exit nodes: a node can route all internet traffic for other devices, acting like a traditional full-tunnel VPN egress.
35
+ - MagicDNS: assigns memorable DNS names to devices so you connect by hostname instead of IP.
36
+
37
+ ## Best practices
38
+ - Define least-privilege ACLs rather than relying on the default "allow all" tailnet policy (see Tailscale KB on access control).
39
+ - Use tagged ACL identities (`tag:server`) for servers and CI nodes instead of personal user logins, so access survives staff changes.
40
+ - Apply key expiry and device approval for sensitive tailnets to limit the blast radius of a leaked node.
41
+ - Prefer ephemeral nodes for short-lived/CI workloads so stale devices do not accumulate in the tailnet.
42
+
43
+ ## Common pitfalls
44
+ - Forgetting to enable IP forwarding and `--advertise-routes` on a subnet router → the advertised subnet is unreachable; routes must also be approved in the admin console.
45
+ - Leaving devices with non-expiring keys → revoking access later is harder; set key expiry per the docs.
46
+ - Assuming all connections are direct → behind strict NATs traffic relays through DERP, adding latency; check `tailscale status` for the relay indicator.
47
+
48
+ ## Examples
49
+ ```bash
50
+ # Bring a node onto the tailnet
51
+ sudo tailscale up
52
+
53
+ # Advertise a local subnet so the tailnet can reach it
54
+ sudo tailscale up --advertise-routes=10.0.0.0/24
55
+
56
+ # Inspect connectivity and peer relay status
57
+ tailscale status
58
+ ```
59
+
60
+ ## Further reading
61
+ - https://tailscale.com/kb/1019/subnets/ — subnet routers
62
+ - https://tailscale.com/kb/1018/acls/ — access control policy
63
+
64
+ ## Related skills
65
+ - ../cloudflare — alternative for tunnels and zero-trust access to private services
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: terraform
3
+ description: Terraform is HashiCorp's declarative infrastructure-as-code tool using HCL to provision cloud and on-prem resources; consult when writing .tf configs, managing state, using providers/modules, planning and applying changes, or working with variables, outputs, and remote backends.
4
+ domain: stack
5
+ category: infra
6
+ tags: [terraform, iac, hashicorp, hcl, devops, infrastructure, provisioning]
7
+ official_sources:
8
+ - https://developer.hashicorp.com/terraform/docs
9
+ - https://github.com/hashicorp/terraform
10
+ - https://developer.hashicorp.com/terraform/install
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Terraform
15
+
16
+ ## Overview
17
+ Terraform is HashiCorp's infrastructure-as-code tool that lets you define cloud and on-prem infrastructure declaratively in HashiCorp Configuration Language (HCL). It computes an execution plan to reach the desired state and applies it through provider plugins, tracking real-world resources in a state file. Read this when authoring `.tf` configuration, managing state, or running the plan/apply lifecycle.
18
+
19
+ ## Official sources
20
+ - Docs: https://developer.hashicorp.com/terraform/docs
21
+ - Repo: https://github.com/hashicorp/terraform
22
+ - Install: https://developer.hashicorp.com/terraform/install
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ brew tap hashicorp/tap
27
+ brew install hashicorp/tap/terraform
28
+ ```
29
+ Source: https://developer.hashicorp.com/terraform/install
30
+
31
+ ## Core concepts
32
+ - **HCL** — declarative configuration language used in `.tf` files to describe resources.
33
+ - **Provider** — plugin (e.g. `aws`, `azurerm`) that maps HCL to a target API.
34
+ - **Resource** — a single infrastructure object (`resource "aws_instance" "web" {}`).
35
+ - **State** — recorded mapping of config to real resources (`terraform.tfstate`); source of truth for diffs.
36
+ - **Plan / apply** — `plan` previews changes; `apply` enacts them to converge to desired state.
37
+ - **Module** — reusable, parameterized grouping of resources for composition.
38
+ - **Variable / output** — inputs (`variable`) and exported values (`output`) for configurability.
39
+ - **Backend** — where state is stored (local, S3, Terraform Cloud) enabling remote/locked state.
40
+
41
+ ## Best practices
42
+ - Store state remotely with locking (e.g. S3 + DynamoDB, Terraform Cloud) for team safety (https://developer.hashicorp.com/terraform/language/backend).
43
+ - Always review `terraform plan` output before `apply` (https://developer.hashicorp.com/terraform/cli/commands/plan).
44
+ - Pin provider and module versions with constraints to ensure reproducible runs (https://developer.hashicorp.com/terraform/language/providers/requirements).
45
+ - Structure reusable infrastructure as modules with explicit inputs/outputs (https://developer.hashicorp.com/terraform/language/modules).
46
+ - Run `terraform fmt` and `terraform validate` in CI before merging (https://developer.hashicorp.com/terraform/cli/commands/fmt).
47
+
48
+ ## Common pitfalls
49
+ - Committing `terraform.tfstate` (often with secrets) to git → use a remote backend and gitignore local state.
50
+ - Manual ("click-ops") changes drift from config → run `terraform plan` to detect drift and reconcile.
51
+ - Unpinned versions cause surprise upgrades → set `required_providers` and `required_version` constraints.
52
+
53
+ ## Examples
54
+ ```hcl
55
+ terraform {
56
+ required_providers {
57
+ aws = { source = "hashicorp/aws", version = "~> 5.0" }
58
+ }
59
+ }
60
+
61
+ provider "aws" { region = "us-east-1" }
62
+
63
+ resource "aws_s3_bucket" "data" {
64
+ bucket = "my-app-data-bucket"
65
+ }
66
+ ```
67
+
68
+ ## Further reading
69
+ - https://developer.hashicorp.com/terraform/language — HCL language reference
70
+ - https://registry.terraform.io/ — providers and modules registry
71
+ - https://developer.hashicorp.com/terraform/cli/commands — full CLI command reference
72
+
73
+ ## Related skills
74
+ - ../ansible — configure resources after Terraform provisions them
75
+ - ../azure — target cloud provisioned with the azurerm provider
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: vagrant
3
+ description: Vagrant is HashiCorp's tool for building and managing reproducible virtual machine development environments via a Vagrantfile; consult when configuring boxes, providers (VirtualBox/libvirt/Hyper-V), provisioners, synced folders, networking, or running vagrant up/ssh/destroy.
4
+ domain: stack
5
+ category: infra
6
+ tags: [vagrant, hashicorp, virtualization, devops, infrastructure, vm, dev-environment]
7
+ official_sources:
8
+ - https://developer.hashicorp.com/vagrant/docs
9
+ - https://github.com/hashicorp/vagrant
10
+ - https://developer.hashicorp.com/vagrant/install
11
+ verified: 2026-06-17
12
+ ---
13
+
14
+ # Vagrant
15
+
16
+ ## Overview
17
+ Vagrant is HashiCorp's command-line tool for building and managing portable, reproducible virtual machine environments. A single `Vagrantfile` describes the box, provider, networking, and provisioning so any team member can run `vagrant up` to get an identical dev environment. Read this when configuring local VMs, defining provisioners, or scripting the VM lifecycle.
18
+
19
+ ## Official sources
20
+ - Docs: https://developer.hashicorp.com/vagrant/docs
21
+ - Repo: https://github.com/hashicorp/vagrant
22
+ - Install: https://developer.hashicorp.com/vagrant/install
23
+
24
+ ## Install / setup
25
+ ```bash
26
+ # macOS via Homebrew
27
+ brew tap hashicorp/tap
28
+ brew install hashicorp/tap/hashicorp-vagrant
29
+ ```
30
+ Source: https://developer.hashicorp.com/vagrant/install
31
+
32
+ ## Core concepts
33
+ - **Vagrantfile** — Ruby-based config (one per project) describing how to build and provision the VM.
34
+ - **Box** — packaged base image (e.g. `hashicorp/bionic64`) used as the VM starting point.
35
+ - **Provider** — virtualization backend that runs the VM (VirtualBox, libvirt, Hyper-V, VMware).
36
+ - **Provisioner** — installs/configures software on `up` (shell, Ansible, Chef, Puppet, Docker).
37
+ - **Synced folder** — host directory mounted into the guest (defaults to project dir at `/vagrant`).
38
+ - **Box lifecycle** — `vagrant up` creates/boots, `ssh` connects, `halt` stops, `destroy` removes.
39
+ - **Networking** — forwarded ports, private (host-only), or public (bridged) networks.
40
+ - **Multi-machine** — define several VMs in one Vagrantfile via `config.vm.define`.
41
+
42
+ ## Best practices
43
+ - Commit the `Vagrantfile` to version control so environments are reproducible (https://developer.hashicorp.com/vagrant/docs/vagrantfile).
44
+ - Use provisioners to bake setup into the box rather than manual SSH steps (https://developer.hashicorp.com/vagrant/docs/provisioning).
45
+ - Pin box versions to avoid unexpected base-image changes (https://developer.hashicorp.com/vagrant/docs/boxes/versioning).
46
+ - Source boxes from the official Vagrant Cloud catalog (https://portal.cloud.hashicorp.com/vagrant/discover).
47
+ - Keep provider-specific tweaks in a `config.vm.provider` block for portability (https://developer.hashicorp.com/vagrant/docs/providers).
48
+
49
+ ## Common pitfalls
50
+ - `vagrant` not on PATH after install on Windows → log out and back in so PATH refreshes.
51
+ - Slow or failing synced folders on VirtualBox → enable NFS or rsync for large codebases.
52
+ - Stale VM state after Vagrantfile edits → run `vagrant reload --provision` to re-apply.
53
+
54
+ ## Examples
55
+ ```ruby
56
+ Vagrant.configure("2") do |config|
57
+ config.vm.box = "hashicorp/bionic64"
58
+ config.vm.network "forwarded_port", guest: 80, host: 8080
59
+ config.vm.provision "shell", inline: "apt-get update && apt-get install -y nginx"
60
+ end
61
+ ```
62
+
63
+ ## Further reading
64
+ - https://developer.hashicorp.com/vagrant/docs/vagrantfile — Vagrantfile reference
65
+ - https://developer.hashicorp.com/vagrant/docs/provisioning — provisioners guide
66
+ - https://portal.cloud.hashicorp.com/vagrant/discover — public box catalog
67
+
68
+ ## Related skills
69
+ - ../ansible — provision Vagrant VMs with playbooks
70
+ - ../terraform — provision real infrastructure beyond local VMs