blockmine 1.23.4 → 1.25.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 (954) hide show
  1. package/CHANGELOG.md +82 -32
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/cli.js +1 -1
  5. package/backend/src/ai/plugin-assistant-system-prompt.md +725 -6
  6. package/backend/src/api/routes/aiAssistant.js +562 -103
  7. package/backend/src/api/routes/botUsers.js +30 -10
  8. package/backend/src/api/routes/bots.js +112 -21
  9. package/backend/src/api/routes/servers.js +14 -2
  10. package/backend/src/core/BotProcess.js +139 -7
  11. package/backend/src/core/GraphExecutionEngine.js +9 -2
  12. package/backend/src/core/PluginHooks.js +221 -0
  13. package/backend/src/core/PluginLoader.js +83 -3
  14. package/backend/src/core/PluginManager.js +85 -5
  15. package/backend/src/core/node-registries/container.js +162 -0
  16. package/backend/src/core/node-registries/furnace.js +143 -0
  17. package/backend/src/core/node-registries/inventory.js +181 -0
  18. package/backend/src/core/node-registries/navigation.js +111 -0
  19. package/backend/src/core/nodes/container/close.js +26 -0
  20. package/backend/src/core/nodes/container/deposit.js +88 -0
  21. package/backend/src/core/nodes/container/deposit_all.js +71 -0
  22. package/backend/src/core/nodes/container/find_item.js +77 -0
  23. package/backend/src/core/nodes/container/get_items.js +51 -0
  24. package/backend/src/core/nodes/container/open.js +111 -0
  25. package/backend/src/core/nodes/container/withdraw.js +91 -0
  26. package/backend/src/core/nodes/furnace/close.js +24 -0
  27. package/backend/src/core/nodes/furnace/get_status.js +74 -0
  28. package/backend/src/core/nodes/furnace/open.js +110 -0
  29. package/backend/src/core/nodes/furnace/put_fuel.js +64 -0
  30. package/backend/src/core/nodes/furnace/put_input.js +64 -0
  31. package/backend/src/core/nodes/furnace/take_output.js +69 -0
  32. package/backend/src/core/nodes/inventory/count_item.js +28 -0
  33. package/backend/src/core/nodes/inventory/drop.js +65 -0
  34. package/backend/src/core/nodes/inventory/equip.js +45 -0
  35. package/backend/src/core/nodes/inventory/find_item.js +55 -0
  36. package/backend/src/core/nodes/inventory/get_all.js +45 -0
  37. package/backend/src/core/nodes/inventory/get_held_item.js +63 -0
  38. package/backend/src/core/nodes/inventory/get_slot.js +46 -0
  39. package/backend/src/core/nodes/inventory/has_item.js +35 -0
  40. package/backend/src/core/nodes/inventory/select_slot.js +46 -0
  41. package/backend/src/core/nodes/navigation/follow.js +51 -0
  42. package/backend/src/core/nodes/navigation/go_to.js +53 -0
  43. package/backend/src/core/nodes/navigation/go_to_entity.js +69 -0
  44. package/backend/src/core/nodes/navigation/go_to_player.js +70 -0
  45. package/backend/src/core/nodes/navigation/stop.js +26 -0
  46. package/backend/src/core/services/BotLifecycleService.js +186 -2
  47. package/backend/src/core/services/MinecraftViewerService.js +2 -0
  48. package/backend/src/server.js +11 -1
  49. package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
  50. package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
  51. package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
  52. package/frontend/dist/flags/en.svg +32 -0
  53. package/frontend/dist/flags/ru.svg +5 -0
  54. package/frontend/dist/index.html +2 -2
  55. package/frontend/dist/locales/en/admin.json +100 -0
  56. package/frontend/dist/locales/en/api-keys.json +58 -0
  57. package/frontend/dist/locales/en/bots.json +110 -0
  58. package/frontend/dist/locales/en/common.json +47 -0
  59. package/frontend/dist/locales/en/configuration.json +22 -0
  60. package/frontend/dist/locales/en/console.json +10 -0
  61. package/frontend/dist/locales/en/dashboard.json +85 -0
  62. package/frontend/dist/locales/en/dialogs.json +70 -0
  63. package/frontend/dist/locales/en/event-graphs.json +50 -0
  64. package/frontend/dist/locales/en/graph-store.json +70 -0
  65. package/frontend/dist/locales/en/login.json +34 -0
  66. package/frontend/dist/locales/en/management.json +114 -0
  67. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  68. package/frontend/dist/locales/en/nodes.json +1077 -0
  69. package/frontend/dist/locales/en/permissions.json +50 -0
  70. package/frontend/dist/locales/en/plugin-detail.json +49 -0
  71. package/frontend/dist/locales/en/plugins.json +110 -0
  72. package/frontend/dist/locales/en/proxies.json +81 -0
  73. package/frontend/dist/locales/en/servers.json +39 -0
  74. package/frontend/dist/locales/en/setup.json +17 -0
  75. package/frontend/dist/locales/en/sidebar.json +27 -0
  76. package/frontend/dist/locales/en/tasks.json +62 -0
  77. package/frontend/dist/locales/en/visual-editor.json +219 -0
  78. package/frontend/dist/locales/en/websocket.json +86 -0
  79. package/frontend/dist/locales/ru/admin.json +100 -0
  80. package/frontend/dist/locales/ru/api-keys.json +58 -0
  81. package/frontend/dist/locales/ru/bots.json +110 -0
  82. package/frontend/dist/locales/ru/common.json +49 -0
  83. package/frontend/dist/locales/ru/configuration.json +22 -0
  84. package/frontend/dist/locales/ru/console.json +10 -0
  85. package/frontend/dist/locales/ru/dashboard.json +85 -0
  86. package/frontend/dist/locales/ru/dialogs.json +70 -0
  87. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  88. package/frontend/dist/locales/ru/graph-store.json +70 -0
  89. package/frontend/dist/locales/ru/login.json +34 -0
  90. package/frontend/dist/locales/ru/management.json +114 -0
  91. package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
  92. package/frontend/dist/locales/ru/nodes.json +1077 -0
  93. package/frontend/dist/locales/ru/permissions.json +50 -0
  94. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  95. package/frontend/dist/locales/ru/plugins.json +110 -0
  96. package/frontend/dist/locales/ru/proxies.json +81 -0
  97. package/frontend/dist/locales/ru/servers.json +39 -0
  98. package/frontend/dist/locales/ru/setup.json +17 -0
  99. package/frontend/dist/locales/ru/sidebar.json +27 -0
  100. package/frontend/dist/locales/ru/tasks.json +62 -0
  101. package/frontend/dist/locales/ru/visual-editor.json +221 -0
  102. package/frontend/dist/locales/ru/websocket.json +86 -0
  103. package/frontend/dist/minecraft-assets/items/acacia_boat.png +0 -0
  104. package/frontend/dist/minecraft-assets/items/acacia_chest_boat.png +0 -0
  105. package/frontend/dist/minecraft-assets/items/acacia_door.png +0 -0
  106. package/frontend/dist/minecraft-assets/items/acacia_hanging_sign.png +0 -0
  107. package/frontend/dist/minecraft-assets/items/acacia_sign.png +0 -0
  108. package/frontend/dist/minecraft-assets/items/amethyst_shard.png +0 -0
  109. package/frontend/dist/minecraft-assets/items/angler_pottery_sherd.png +0 -0
  110. package/frontend/dist/minecraft-assets/items/apple.png +0 -0
  111. package/frontend/dist/minecraft-assets/items/archer_pottery_sherd.png +0 -0
  112. package/frontend/dist/minecraft-assets/items/armor_stand.png +0 -0
  113. package/frontend/dist/minecraft-assets/items/arms_up_pottery_sherd.png +0 -0
  114. package/frontend/dist/minecraft-assets/items/arrow.png +0 -0
  115. package/frontend/dist/minecraft-assets/items/axolotl_bucket.png +0 -0
  116. package/frontend/dist/minecraft-assets/items/baked_potato.png +0 -0
  117. package/frontend/dist/minecraft-assets/items/bamboo.png +0 -0
  118. package/frontend/dist/minecraft-assets/items/bamboo_chest_raft.png +0 -0
  119. package/frontend/dist/minecraft-assets/items/bamboo_door.png +0 -0
  120. package/frontend/dist/minecraft-assets/items/bamboo_hanging_sign.png +0 -0
  121. package/frontend/dist/minecraft-assets/items/bamboo_raft.png +0 -0
  122. package/frontend/dist/minecraft-assets/items/bamboo_sign.png +0 -0
  123. package/frontend/dist/minecraft-assets/items/barrier.png +0 -0
  124. package/frontend/dist/minecraft-assets/items/beef.png +0 -0
  125. package/frontend/dist/minecraft-assets/items/beetroot.png +0 -0
  126. package/frontend/dist/minecraft-assets/items/beetroot_seeds.png +0 -0
  127. package/frontend/dist/minecraft-assets/items/beetroot_soup.png +0 -0
  128. package/frontend/dist/minecraft-assets/items/bell.png +0 -0
  129. package/frontend/dist/minecraft-assets/items/birch_boat.png +0 -0
  130. package/frontend/dist/minecraft-assets/items/birch_chest_boat.png +0 -0
  131. package/frontend/dist/minecraft-assets/items/birch_door.png +0 -0
  132. package/frontend/dist/minecraft-assets/items/birch_hanging_sign.png +0 -0
  133. package/frontend/dist/minecraft-assets/items/birch_sign.png +0 -0
  134. package/frontend/dist/minecraft-assets/items/black_candle.png +0 -0
  135. package/frontend/dist/minecraft-assets/items/black_dye.png +0 -0
  136. package/frontend/dist/minecraft-assets/items/blade_pottery_sherd.png +0 -0
  137. package/frontend/dist/minecraft-assets/items/blaze_powder.png +0 -0
  138. package/frontend/dist/minecraft-assets/items/blaze_rod.png +0 -0
  139. package/frontend/dist/minecraft-assets/items/blue_candle.png +0 -0
  140. package/frontend/dist/minecraft-assets/items/blue_dye.png +0 -0
  141. package/frontend/dist/minecraft-assets/items/bone.png +0 -0
  142. package/frontend/dist/minecraft-assets/items/bone_meal.png +0 -0
  143. package/frontend/dist/minecraft-assets/items/book.png +0 -0
  144. package/frontend/dist/minecraft-assets/items/bow.png +0 -0
  145. package/frontend/dist/minecraft-assets/items/bow_pulling_0.png +0 -0
  146. package/frontend/dist/minecraft-assets/items/bow_pulling_1.png +0 -0
  147. package/frontend/dist/minecraft-assets/items/bow_pulling_2.png +0 -0
  148. package/frontend/dist/minecraft-assets/items/bowl.png +0 -0
  149. package/frontend/dist/minecraft-assets/items/bread.png +0 -0
  150. package/frontend/dist/minecraft-assets/items/brewer_pottery_sherd.png +0 -0
  151. package/frontend/dist/minecraft-assets/items/brewing_stand.png +0 -0
  152. package/frontend/dist/minecraft-assets/items/brick.png +0 -0
  153. package/frontend/dist/minecraft-assets/items/broken_elytra.png +0 -0
  154. package/frontend/dist/minecraft-assets/items/brown_candle.png +0 -0
  155. package/frontend/dist/minecraft-assets/items/brown_dye.png +0 -0
  156. package/frontend/dist/minecraft-assets/items/brush.png +0 -0
  157. package/frontend/dist/minecraft-assets/items/bucket.png +0 -0
  158. package/frontend/dist/minecraft-assets/items/bundle.png +0 -0
  159. package/frontend/dist/minecraft-assets/items/bundle_filled.png +0 -0
  160. package/frontend/dist/minecraft-assets/items/burn_pottery_sherd.png +0 -0
  161. package/frontend/dist/minecraft-assets/items/cake.png +0 -0
  162. package/frontend/dist/minecraft-assets/items/campfire.png +0 -0
  163. package/frontend/dist/minecraft-assets/items/candle.png +0 -0
  164. package/frontend/dist/minecraft-assets/items/carrot.png +0 -0
  165. package/frontend/dist/minecraft-assets/items/carrot_on_a_stick.png +0 -0
  166. package/frontend/dist/minecraft-assets/items/cauldron.png +0 -0
  167. package/frontend/dist/minecraft-assets/items/chain.png +0 -0
  168. package/frontend/dist/minecraft-assets/items/chainmail_boots.png +0 -0
  169. package/frontend/dist/minecraft-assets/items/chainmail_chestplate.png +0 -0
  170. package/frontend/dist/minecraft-assets/items/chainmail_helmet.png +0 -0
  171. package/frontend/dist/minecraft-assets/items/chainmail_leggings.png +0 -0
  172. package/frontend/dist/minecraft-assets/items/charcoal.png +0 -0
  173. package/frontend/dist/minecraft-assets/items/cherry_boat.png +0 -0
  174. package/frontend/dist/minecraft-assets/items/cherry_chest_boat.png +0 -0
  175. package/frontend/dist/minecraft-assets/items/cherry_door.png +0 -0
  176. package/frontend/dist/minecraft-assets/items/cherry_hanging_sign.png +0 -0
  177. package/frontend/dist/minecraft-assets/items/cherry_sign.png +0 -0
  178. package/frontend/dist/minecraft-assets/items/chest_minecart.png +0 -0
  179. package/frontend/dist/minecraft-assets/items/chicken.png +0 -0
  180. package/frontend/dist/minecraft-assets/items/chorus_fruit.png +0 -0
  181. package/frontend/dist/minecraft-assets/items/clay_ball.png +0 -0
  182. package/frontend/dist/minecraft-assets/items/clock_00.png +0 -0
  183. package/frontend/dist/minecraft-assets/items/clock_01.png +0 -0
  184. package/frontend/dist/minecraft-assets/items/clock_02.png +0 -0
  185. package/frontend/dist/minecraft-assets/items/clock_03.png +0 -0
  186. package/frontend/dist/minecraft-assets/items/clock_04.png +0 -0
  187. package/frontend/dist/minecraft-assets/items/clock_05.png +0 -0
  188. package/frontend/dist/minecraft-assets/items/clock_06.png +0 -0
  189. package/frontend/dist/minecraft-assets/items/clock_07.png +0 -0
  190. package/frontend/dist/minecraft-assets/items/clock_08.png +0 -0
  191. package/frontend/dist/minecraft-assets/items/clock_09.png +0 -0
  192. package/frontend/dist/minecraft-assets/items/clock_10.png +0 -0
  193. package/frontend/dist/minecraft-assets/items/clock_11.png +0 -0
  194. package/frontend/dist/minecraft-assets/items/clock_12.png +0 -0
  195. package/frontend/dist/minecraft-assets/items/clock_13.png +0 -0
  196. package/frontend/dist/minecraft-assets/items/clock_14.png +0 -0
  197. package/frontend/dist/minecraft-assets/items/clock_15.png +0 -0
  198. package/frontend/dist/minecraft-assets/items/clock_16.png +0 -0
  199. package/frontend/dist/minecraft-assets/items/clock_17.png +0 -0
  200. package/frontend/dist/minecraft-assets/items/clock_18.png +0 -0
  201. package/frontend/dist/minecraft-assets/items/clock_19.png +0 -0
  202. package/frontend/dist/minecraft-assets/items/clock_20.png +0 -0
  203. package/frontend/dist/minecraft-assets/items/clock_21.png +0 -0
  204. package/frontend/dist/minecraft-assets/items/clock_22.png +0 -0
  205. package/frontend/dist/minecraft-assets/items/clock_23.png +0 -0
  206. package/frontend/dist/minecraft-assets/items/clock_24.png +0 -0
  207. package/frontend/dist/minecraft-assets/items/clock_25.png +0 -0
  208. package/frontend/dist/minecraft-assets/items/clock_26.png +0 -0
  209. package/frontend/dist/minecraft-assets/items/clock_27.png +0 -0
  210. package/frontend/dist/minecraft-assets/items/clock_28.png +0 -0
  211. package/frontend/dist/minecraft-assets/items/clock_29.png +0 -0
  212. package/frontend/dist/minecraft-assets/items/clock_30.png +0 -0
  213. package/frontend/dist/minecraft-assets/items/clock_31.png +0 -0
  214. package/frontend/dist/minecraft-assets/items/clock_32.png +0 -0
  215. package/frontend/dist/minecraft-assets/items/clock_33.png +0 -0
  216. package/frontend/dist/minecraft-assets/items/clock_34.png +0 -0
  217. package/frontend/dist/minecraft-assets/items/clock_35.png +0 -0
  218. package/frontend/dist/minecraft-assets/items/clock_36.png +0 -0
  219. package/frontend/dist/minecraft-assets/items/clock_37.png +0 -0
  220. package/frontend/dist/minecraft-assets/items/clock_38.png +0 -0
  221. package/frontend/dist/minecraft-assets/items/clock_39.png +0 -0
  222. package/frontend/dist/minecraft-assets/items/clock_40.png +0 -0
  223. package/frontend/dist/minecraft-assets/items/clock_41.png +0 -0
  224. package/frontend/dist/minecraft-assets/items/clock_42.png +0 -0
  225. package/frontend/dist/minecraft-assets/items/clock_43.png +0 -0
  226. package/frontend/dist/minecraft-assets/items/clock_44.png +0 -0
  227. package/frontend/dist/minecraft-assets/items/clock_45.png +0 -0
  228. package/frontend/dist/minecraft-assets/items/clock_46.png +0 -0
  229. package/frontend/dist/minecraft-assets/items/clock_47.png +0 -0
  230. package/frontend/dist/minecraft-assets/items/clock_48.png +0 -0
  231. package/frontend/dist/minecraft-assets/items/clock_49.png +0 -0
  232. package/frontend/dist/minecraft-assets/items/clock_50.png +0 -0
  233. package/frontend/dist/minecraft-assets/items/clock_51.png +0 -0
  234. package/frontend/dist/minecraft-assets/items/clock_52.png +0 -0
  235. package/frontend/dist/minecraft-assets/items/clock_53.png +0 -0
  236. package/frontend/dist/minecraft-assets/items/clock_54.png +0 -0
  237. package/frontend/dist/minecraft-assets/items/clock_55.png +0 -0
  238. package/frontend/dist/minecraft-assets/items/clock_56.png +0 -0
  239. package/frontend/dist/minecraft-assets/items/clock_57.png +0 -0
  240. package/frontend/dist/minecraft-assets/items/clock_58.png +0 -0
  241. package/frontend/dist/minecraft-assets/items/clock_59.png +0 -0
  242. package/frontend/dist/minecraft-assets/items/clock_60.png +0 -0
  243. package/frontend/dist/minecraft-assets/items/clock_61.png +0 -0
  244. package/frontend/dist/minecraft-assets/items/clock_62.png +0 -0
  245. package/frontend/dist/minecraft-assets/items/clock_63.png +0 -0
  246. package/frontend/dist/minecraft-assets/items/coal.png +0 -0
  247. package/frontend/dist/minecraft-assets/items/coast_armor_trim_smithing_template.png +0 -0
  248. package/frontend/dist/minecraft-assets/items/cocoa_beans.png +0 -0
  249. package/frontend/dist/minecraft-assets/items/cod.png +0 -0
  250. package/frontend/dist/minecraft-assets/items/cod_bucket.png +0 -0
  251. package/frontend/dist/minecraft-assets/items/command_block_minecart.png +0 -0
  252. package/frontend/dist/minecraft-assets/items/comparator.png +0 -0
  253. package/frontend/dist/minecraft-assets/items/compass_00.png +0 -0
  254. package/frontend/dist/minecraft-assets/items/compass_01.png +0 -0
  255. package/frontend/dist/minecraft-assets/items/compass_02.png +0 -0
  256. package/frontend/dist/minecraft-assets/items/compass_03.png +0 -0
  257. package/frontend/dist/minecraft-assets/items/compass_04.png +0 -0
  258. package/frontend/dist/minecraft-assets/items/compass_05.png +0 -0
  259. package/frontend/dist/minecraft-assets/items/compass_06.png +0 -0
  260. package/frontend/dist/minecraft-assets/items/compass_07.png +0 -0
  261. package/frontend/dist/minecraft-assets/items/compass_08.png +0 -0
  262. package/frontend/dist/minecraft-assets/items/compass_09.png +0 -0
  263. package/frontend/dist/minecraft-assets/items/compass_10.png +0 -0
  264. package/frontend/dist/minecraft-assets/items/compass_11.png +0 -0
  265. package/frontend/dist/minecraft-assets/items/compass_12.png +0 -0
  266. package/frontend/dist/minecraft-assets/items/compass_13.png +0 -0
  267. package/frontend/dist/minecraft-assets/items/compass_14.png +0 -0
  268. package/frontend/dist/minecraft-assets/items/compass_15.png +0 -0
  269. package/frontend/dist/minecraft-assets/items/compass_16.png +0 -0
  270. package/frontend/dist/minecraft-assets/items/compass_17.png +0 -0
  271. package/frontend/dist/minecraft-assets/items/compass_18.png +0 -0
  272. package/frontend/dist/minecraft-assets/items/compass_19.png +0 -0
  273. package/frontend/dist/minecraft-assets/items/compass_20.png +0 -0
  274. package/frontend/dist/minecraft-assets/items/compass_21.png +0 -0
  275. package/frontend/dist/minecraft-assets/items/compass_22.png +0 -0
  276. package/frontend/dist/minecraft-assets/items/compass_23.png +0 -0
  277. package/frontend/dist/minecraft-assets/items/compass_24.png +0 -0
  278. package/frontend/dist/minecraft-assets/items/compass_25.png +0 -0
  279. package/frontend/dist/minecraft-assets/items/compass_26.png +0 -0
  280. package/frontend/dist/minecraft-assets/items/compass_27.png +0 -0
  281. package/frontend/dist/minecraft-assets/items/compass_28.png +0 -0
  282. package/frontend/dist/minecraft-assets/items/compass_29.png +0 -0
  283. package/frontend/dist/minecraft-assets/items/compass_30.png +0 -0
  284. package/frontend/dist/minecraft-assets/items/compass_31.png +0 -0
  285. package/frontend/dist/minecraft-assets/items/cooked_beef.png +0 -0
  286. package/frontend/dist/minecraft-assets/items/cooked_chicken.png +0 -0
  287. package/frontend/dist/minecraft-assets/items/cooked_cod.png +0 -0
  288. package/frontend/dist/minecraft-assets/items/cooked_mutton.png +0 -0
  289. package/frontend/dist/minecraft-assets/items/cooked_porkchop.png +0 -0
  290. package/frontend/dist/minecraft-assets/items/cooked_rabbit.png +0 -0
  291. package/frontend/dist/minecraft-assets/items/cooked_salmon.png +0 -0
  292. package/frontend/dist/minecraft-assets/items/cookie.png +0 -0
  293. package/frontend/dist/minecraft-assets/items/copper_ingot.png +0 -0
  294. package/frontend/dist/minecraft-assets/items/creeper_banner_pattern.png +0 -0
  295. package/frontend/dist/minecraft-assets/items/crimson_door.png +0 -0
  296. package/frontend/dist/minecraft-assets/items/crimson_hanging_sign.png +0 -0
  297. package/frontend/dist/minecraft-assets/items/crimson_sign.png +0 -0
  298. package/frontend/dist/minecraft-assets/items/crossbow_arrow.png +0 -0
  299. package/frontend/dist/minecraft-assets/items/crossbow_firework.png +0 -0
  300. package/frontend/dist/minecraft-assets/items/crossbow_pulling_0.png +0 -0
  301. package/frontend/dist/minecraft-assets/items/crossbow_pulling_1.png +0 -0
  302. package/frontend/dist/minecraft-assets/items/crossbow_pulling_2.png +0 -0
  303. package/frontend/dist/minecraft-assets/items/crossbow_standby.png +0 -0
  304. package/frontend/dist/minecraft-assets/items/cyan_candle.png +0 -0
  305. package/frontend/dist/minecraft-assets/items/cyan_dye.png +0 -0
  306. package/frontend/dist/minecraft-assets/items/danger_pottery_sherd.png +0 -0
  307. package/frontend/dist/minecraft-assets/items/dark_oak_boat.png +0 -0
  308. package/frontend/dist/minecraft-assets/items/dark_oak_chest_boat.png +0 -0
  309. package/frontend/dist/minecraft-assets/items/dark_oak_door.png +0 -0
  310. package/frontend/dist/minecraft-assets/items/dark_oak_hanging_sign.png +0 -0
  311. package/frontend/dist/minecraft-assets/items/dark_oak_sign.png +0 -0
  312. package/frontend/dist/minecraft-assets/items/diamond.png +0 -0
  313. package/frontend/dist/minecraft-assets/items/diamond_axe.png +0 -0
  314. package/frontend/dist/minecraft-assets/items/diamond_boots.png +0 -0
  315. package/frontend/dist/minecraft-assets/items/diamond_chestplate.png +0 -0
  316. package/frontend/dist/minecraft-assets/items/diamond_helmet.png +0 -0
  317. package/frontend/dist/minecraft-assets/items/diamond_hoe.png +0 -0
  318. package/frontend/dist/minecraft-assets/items/diamond_horse_armor.png +0 -0
  319. package/frontend/dist/minecraft-assets/items/diamond_leggings.png +0 -0
  320. package/frontend/dist/minecraft-assets/items/diamond_pickaxe.png +0 -0
  321. package/frontend/dist/minecraft-assets/items/diamond_shovel.png +0 -0
  322. package/frontend/dist/minecraft-assets/items/diamond_sword.png +0 -0
  323. package/frontend/dist/minecraft-assets/items/disc_fragment_5.png +0 -0
  324. package/frontend/dist/minecraft-assets/items/dragon_breath.png +0 -0
  325. package/frontend/dist/minecraft-assets/items/dried_kelp.png +0 -0
  326. package/frontend/dist/minecraft-assets/items/dune_armor_trim_smithing_template.png +0 -0
  327. package/frontend/dist/minecraft-assets/items/echo_shard.png +0 -0
  328. package/frontend/dist/minecraft-assets/items/egg.png +0 -0
  329. package/frontend/dist/minecraft-assets/items/elytra.png +0 -0
  330. package/frontend/dist/minecraft-assets/items/emerald.png +0 -0
  331. package/frontend/dist/minecraft-assets/items/empty_armor_slot_boots.png +0 -0
  332. package/frontend/dist/minecraft-assets/items/empty_armor_slot_chestplate.png +0 -0
  333. package/frontend/dist/minecraft-assets/items/empty_armor_slot_helmet.png +0 -0
  334. package/frontend/dist/minecraft-assets/items/empty_armor_slot_leggings.png +0 -0
  335. package/frontend/dist/minecraft-assets/items/empty_armor_slot_shield.png +0 -0
  336. package/frontend/dist/minecraft-assets/items/empty_slot_amethyst_shard.png +0 -0
  337. package/frontend/dist/minecraft-assets/items/empty_slot_axe.png +0 -0
  338. package/frontend/dist/minecraft-assets/items/empty_slot_diamond.png +0 -0
  339. package/frontend/dist/minecraft-assets/items/empty_slot_emerald.png +0 -0
  340. package/frontend/dist/minecraft-assets/items/empty_slot_hoe.png +0 -0
  341. package/frontend/dist/minecraft-assets/items/empty_slot_ingot.png +0 -0
  342. package/frontend/dist/minecraft-assets/items/empty_slot_lapis_lazuli.png +0 -0
  343. package/frontend/dist/minecraft-assets/items/empty_slot_pickaxe.png +0 -0
  344. package/frontend/dist/minecraft-assets/items/empty_slot_quartz.png +0 -0
  345. package/frontend/dist/minecraft-assets/items/empty_slot_redstone_dust.png +0 -0
  346. package/frontend/dist/minecraft-assets/items/empty_slot_shovel.png +0 -0
  347. package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_armor_trim.png +0 -0
  348. package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_netherite_upgrade.png +0 -0
  349. package/frontend/dist/minecraft-assets/items/empty_slot_sword.png +0 -0
  350. package/frontend/dist/minecraft-assets/items/enchanted_book.png +0 -0
  351. package/frontend/dist/minecraft-assets/items/end_crystal.png +0 -0
  352. package/frontend/dist/minecraft-assets/items/ender_eye.png +0 -0
  353. package/frontend/dist/minecraft-assets/items/ender_pearl.png +0 -0
  354. package/frontend/dist/minecraft-assets/items/experience_bottle.png +0 -0
  355. package/frontend/dist/minecraft-assets/items/explorer_pottery_sherd.png +0 -0
  356. package/frontend/dist/minecraft-assets/items/eye_armor_trim_smithing_template.png +0 -0
  357. package/frontend/dist/minecraft-assets/items/feather.png +0 -0
  358. package/frontend/dist/minecraft-assets/items/fermented_spider_eye.png +0 -0
  359. package/frontend/dist/minecraft-assets/items/filled_map.png +0 -0
  360. package/frontend/dist/minecraft-assets/items/filled_map_markings.png +0 -0
  361. package/frontend/dist/minecraft-assets/items/fire_charge.png +0 -0
  362. package/frontend/dist/minecraft-assets/items/firework_rocket.png +0 -0
  363. package/frontend/dist/minecraft-assets/items/firework_star.png +0 -0
  364. package/frontend/dist/minecraft-assets/items/firework_star_overlay.png +0 -0
  365. package/frontend/dist/minecraft-assets/items/fishing_rod.png +0 -0
  366. package/frontend/dist/minecraft-assets/items/fishing_rod_cast.png +0 -0
  367. package/frontend/dist/minecraft-assets/items/flint.png +0 -0
  368. package/frontend/dist/minecraft-assets/items/flint_and_steel.png +0 -0
  369. package/frontend/dist/minecraft-assets/items/flower_banner_pattern.png +0 -0
  370. package/frontend/dist/minecraft-assets/items/flower_pot.png +0 -0
  371. package/frontend/dist/minecraft-assets/items/friend_pottery_sherd.png +0 -0
  372. package/frontend/dist/minecraft-assets/items/furnace_minecart.png +0 -0
  373. package/frontend/dist/minecraft-assets/items/ghast_tear.png +0 -0
  374. package/frontend/dist/minecraft-assets/items/glass_bottle.png +0 -0
  375. package/frontend/dist/minecraft-assets/items/glistering_melon_slice.png +0 -0
  376. package/frontend/dist/minecraft-assets/items/globe_banner_pattern.png +0 -0
  377. package/frontend/dist/minecraft-assets/items/glow_berries.png +0 -0
  378. package/frontend/dist/minecraft-assets/items/glow_ink_sac.png +0 -0
  379. package/frontend/dist/minecraft-assets/items/glow_item_frame.png +0 -0
  380. package/frontend/dist/minecraft-assets/items/glowstone_dust.png +0 -0
  381. package/frontend/dist/minecraft-assets/items/goat_horn.png +0 -0
  382. package/frontend/dist/minecraft-assets/items/gold_ingot.png +0 -0
  383. package/frontend/dist/minecraft-assets/items/gold_nugget.png +0 -0
  384. package/frontend/dist/minecraft-assets/items/golden_apple.png +0 -0
  385. package/frontend/dist/minecraft-assets/items/golden_axe.png +0 -0
  386. package/frontend/dist/minecraft-assets/items/golden_boots.png +0 -0
  387. package/frontend/dist/minecraft-assets/items/golden_carrot.png +0 -0
  388. package/frontend/dist/minecraft-assets/items/golden_chestplate.png +0 -0
  389. package/frontend/dist/minecraft-assets/items/golden_helmet.png +0 -0
  390. package/frontend/dist/minecraft-assets/items/golden_hoe.png +0 -0
  391. package/frontend/dist/minecraft-assets/items/golden_horse_armor.png +0 -0
  392. package/frontend/dist/minecraft-assets/items/golden_leggings.png +0 -0
  393. package/frontend/dist/minecraft-assets/items/golden_pickaxe.png +0 -0
  394. package/frontend/dist/minecraft-assets/items/golden_shovel.png +0 -0
  395. package/frontend/dist/minecraft-assets/items/golden_sword.png +0 -0
  396. package/frontend/dist/minecraft-assets/items/gray_candle.png +0 -0
  397. package/frontend/dist/minecraft-assets/items/gray_dye.png +0 -0
  398. package/frontend/dist/minecraft-assets/items/green_candle.png +0 -0
  399. package/frontend/dist/minecraft-assets/items/green_dye.png +0 -0
  400. package/frontend/dist/minecraft-assets/items/gunpowder.png +0 -0
  401. package/frontend/dist/minecraft-assets/items/heart_of_the_sea.png +0 -0
  402. package/frontend/dist/minecraft-assets/items/heart_pottery_sherd.png +0 -0
  403. package/frontend/dist/minecraft-assets/items/heartbreak_pottery_sherd.png +0 -0
  404. package/frontend/dist/minecraft-assets/items/honey_bottle.png +0 -0
  405. package/frontend/dist/minecraft-assets/items/honeycomb.png +0 -0
  406. package/frontend/dist/minecraft-assets/items/hopper.png +0 -0
  407. package/frontend/dist/minecraft-assets/items/hopper_minecart.png +0 -0
  408. package/frontend/dist/minecraft-assets/items/host_armor_trim_smithing_template.png +0 -0
  409. package/frontend/dist/minecraft-assets/items/howl_pottery_sherd.png +0 -0
  410. package/frontend/dist/minecraft-assets/items/ink_sac.png +0 -0
  411. package/frontend/dist/minecraft-assets/items/iron_axe.png +0 -0
  412. package/frontend/dist/minecraft-assets/items/iron_boots.png +0 -0
  413. package/frontend/dist/minecraft-assets/items/iron_chestplate.png +0 -0
  414. package/frontend/dist/minecraft-assets/items/iron_door.png +0 -0
  415. package/frontend/dist/minecraft-assets/items/iron_helmet.png +0 -0
  416. package/frontend/dist/minecraft-assets/items/iron_hoe.png +0 -0
  417. package/frontend/dist/minecraft-assets/items/iron_horse_armor.png +0 -0
  418. package/frontend/dist/minecraft-assets/items/iron_ingot.png +0 -0
  419. package/frontend/dist/minecraft-assets/items/iron_leggings.png +0 -0
  420. package/frontend/dist/minecraft-assets/items/iron_nugget.png +0 -0
  421. package/frontend/dist/minecraft-assets/items/iron_pickaxe.png +0 -0
  422. package/frontend/dist/minecraft-assets/items/iron_shovel.png +0 -0
  423. package/frontend/dist/minecraft-assets/items/iron_sword.png +0 -0
  424. package/frontend/dist/minecraft-assets/items/item_frame.png +0 -0
  425. package/frontend/dist/minecraft-assets/items/jungle_boat.png +0 -0
  426. package/frontend/dist/minecraft-assets/items/jungle_chest_boat.png +0 -0
  427. package/frontend/dist/minecraft-assets/items/jungle_door.png +0 -0
  428. package/frontend/dist/minecraft-assets/items/jungle_hanging_sign.png +0 -0
  429. package/frontend/dist/minecraft-assets/items/jungle_sign.png +0 -0
  430. package/frontend/dist/minecraft-assets/items/kelp.png +0 -0
  431. package/frontend/dist/minecraft-assets/items/knowledge_book.png +0 -0
  432. package/frontend/dist/minecraft-assets/items/lantern.png +0 -0
  433. package/frontend/dist/minecraft-assets/items/lapis_lazuli.png +0 -0
  434. package/frontend/dist/minecraft-assets/items/lava_bucket.png +0 -0
  435. package/frontend/dist/minecraft-assets/items/lead.png +0 -0
  436. package/frontend/dist/minecraft-assets/items/leather.png +0 -0
  437. package/frontend/dist/minecraft-assets/items/leather_boots.png +0 -0
  438. package/frontend/dist/minecraft-assets/items/leather_boots_overlay.png +0 -0
  439. package/frontend/dist/minecraft-assets/items/leather_chestplate.png +0 -0
  440. package/frontend/dist/minecraft-assets/items/leather_chestplate_overlay.png +0 -0
  441. package/frontend/dist/minecraft-assets/items/leather_helmet.png +0 -0
  442. package/frontend/dist/minecraft-assets/items/leather_helmet_overlay.png +0 -0
  443. package/frontend/dist/minecraft-assets/items/leather_horse_armor.png +0 -0
  444. package/frontend/dist/minecraft-assets/items/leather_leggings.png +0 -0
  445. package/frontend/dist/minecraft-assets/items/leather_leggings_overlay.png +0 -0
  446. package/frontend/dist/minecraft-assets/items/light.png +0 -0
  447. package/frontend/dist/minecraft-assets/items/light_00.png +0 -0
  448. package/frontend/dist/minecraft-assets/items/light_01.png +0 -0
  449. package/frontend/dist/minecraft-assets/items/light_02.png +0 -0
  450. package/frontend/dist/minecraft-assets/items/light_03.png +0 -0
  451. package/frontend/dist/minecraft-assets/items/light_04.png +0 -0
  452. package/frontend/dist/minecraft-assets/items/light_05.png +0 -0
  453. package/frontend/dist/minecraft-assets/items/light_06.png +0 -0
  454. package/frontend/dist/minecraft-assets/items/light_07.png +0 -0
  455. package/frontend/dist/minecraft-assets/items/light_08.png +0 -0
  456. package/frontend/dist/minecraft-assets/items/light_09.png +0 -0
  457. package/frontend/dist/minecraft-assets/items/light_10.png +0 -0
  458. package/frontend/dist/minecraft-assets/items/light_11.png +0 -0
  459. package/frontend/dist/minecraft-assets/items/light_12.png +0 -0
  460. package/frontend/dist/minecraft-assets/items/light_13.png +0 -0
  461. package/frontend/dist/minecraft-assets/items/light_14.png +0 -0
  462. package/frontend/dist/minecraft-assets/items/light_15.png +0 -0
  463. package/frontend/dist/minecraft-assets/items/light_blue_candle.png +0 -0
  464. package/frontend/dist/minecraft-assets/items/light_blue_dye.png +0 -0
  465. package/frontend/dist/minecraft-assets/items/light_gray_candle.png +0 -0
  466. package/frontend/dist/minecraft-assets/items/light_gray_dye.png +0 -0
  467. package/frontend/dist/minecraft-assets/items/lime_candle.png +0 -0
  468. package/frontend/dist/minecraft-assets/items/lime_dye.png +0 -0
  469. package/frontend/dist/minecraft-assets/items/lingering_potion.png +0 -0
  470. package/frontend/dist/minecraft-assets/items/magenta_candle.png +0 -0
  471. package/frontend/dist/minecraft-assets/items/magenta_dye.png +0 -0
  472. package/frontend/dist/minecraft-assets/items/magma_cream.png +0 -0
  473. package/frontend/dist/minecraft-assets/items/mangrove_boat.png +0 -0
  474. package/frontend/dist/minecraft-assets/items/mangrove_chest_boat.png +0 -0
  475. package/frontend/dist/minecraft-assets/items/mangrove_door.png +0 -0
  476. package/frontend/dist/minecraft-assets/items/mangrove_hanging_sign.png +0 -0
  477. package/frontend/dist/minecraft-assets/items/mangrove_propagule.png +0 -0
  478. package/frontend/dist/minecraft-assets/items/mangrove_sign.png +0 -0
  479. package/frontend/dist/minecraft-assets/items/map.png +0 -0
  480. package/frontend/dist/minecraft-assets/items/melon_seeds.png +0 -0
  481. package/frontend/dist/minecraft-assets/items/melon_slice.png +0 -0
  482. package/frontend/dist/minecraft-assets/items/milk_bucket.png +0 -0
  483. package/frontend/dist/minecraft-assets/items/minecart.png +0 -0
  484. package/frontend/dist/minecraft-assets/items/miner_pottery_sherd.png +0 -0
  485. package/frontend/dist/minecraft-assets/items/mojang_banner_pattern.png +0 -0
  486. package/frontend/dist/minecraft-assets/items/mourner_pottery_sherd.png +0 -0
  487. package/frontend/dist/minecraft-assets/items/mushroom_stew.png +0 -0
  488. package/frontend/dist/minecraft-assets/items/music_disc_11.png +0 -0
  489. package/frontend/dist/minecraft-assets/items/music_disc_13.png +0 -0
  490. package/frontend/dist/minecraft-assets/items/music_disc_5.png +0 -0
  491. package/frontend/dist/minecraft-assets/items/music_disc_blocks.png +0 -0
  492. package/frontend/dist/minecraft-assets/items/music_disc_cat.png +0 -0
  493. package/frontend/dist/minecraft-assets/items/music_disc_chirp.png +0 -0
  494. package/frontend/dist/minecraft-assets/items/music_disc_far.png +0 -0
  495. package/frontend/dist/minecraft-assets/items/music_disc_mall.png +0 -0
  496. package/frontend/dist/minecraft-assets/items/music_disc_mellohi.png +0 -0
  497. package/frontend/dist/minecraft-assets/items/music_disc_otherside.png +0 -0
  498. package/frontend/dist/minecraft-assets/items/music_disc_pigstep.png +0 -0
  499. package/frontend/dist/minecraft-assets/items/music_disc_relic.png +0 -0
  500. package/frontend/dist/minecraft-assets/items/music_disc_stal.png +0 -0
  501. package/frontend/dist/minecraft-assets/items/music_disc_strad.png +0 -0
  502. package/frontend/dist/minecraft-assets/items/music_disc_wait.png +0 -0
  503. package/frontend/dist/minecraft-assets/items/music_disc_ward.png +0 -0
  504. package/frontend/dist/minecraft-assets/items/mutton.png +0 -0
  505. package/frontend/dist/minecraft-assets/items/name_tag.png +0 -0
  506. package/frontend/dist/minecraft-assets/items/nautilus_shell.png +0 -0
  507. package/frontend/dist/minecraft-assets/items/nether_brick.png +0 -0
  508. package/frontend/dist/minecraft-assets/items/nether_sprouts.png +0 -0
  509. package/frontend/dist/minecraft-assets/items/nether_star.png +0 -0
  510. package/frontend/dist/minecraft-assets/items/nether_wart.png +0 -0
  511. package/frontend/dist/minecraft-assets/items/netherite_axe.png +0 -0
  512. package/frontend/dist/minecraft-assets/items/netherite_boots.png +0 -0
  513. package/frontend/dist/minecraft-assets/items/netherite_chestplate.png +0 -0
  514. package/frontend/dist/minecraft-assets/items/netherite_helmet.png +0 -0
  515. package/frontend/dist/minecraft-assets/items/netherite_hoe.png +0 -0
  516. package/frontend/dist/minecraft-assets/items/netherite_ingot.png +0 -0
  517. package/frontend/dist/minecraft-assets/items/netherite_leggings.png +0 -0
  518. package/frontend/dist/minecraft-assets/items/netherite_pickaxe.png +0 -0
  519. package/frontend/dist/minecraft-assets/items/netherite_scrap.png +0 -0
  520. package/frontend/dist/minecraft-assets/items/netherite_shovel.png +0 -0
  521. package/frontend/dist/minecraft-assets/items/netherite_sword.png +0 -0
  522. package/frontend/dist/minecraft-assets/items/netherite_upgrade_smithing_template.png +0 -0
  523. package/frontend/dist/minecraft-assets/items/oak_boat.png +0 -0
  524. package/frontend/dist/minecraft-assets/items/oak_chest_boat.png +0 -0
  525. package/frontend/dist/minecraft-assets/items/oak_door.png +0 -0
  526. package/frontend/dist/minecraft-assets/items/oak_hanging_sign.png +0 -0
  527. package/frontend/dist/minecraft-assets/items/oak_sign.png +0 -0
  528. package/frontend/dist/minecraft-assets/items/orange_candle.png +0 -0
  529. package/frontend/dist/minecraft-assets/items/orange_dye.png +0 -0
  530. package/frontend/dist/minecraft-assets/items/painting.png +0 -0
  531. package/frontend/dist/minecraft-assets/items/paper.png +0 -0
  532. package/frontend/dist/minecraft-assets/items/phantom_membrane.png +0 -0
  533. package/frontend/dist/minecraft-assets/items/piglin_banner_pattern.png +0 -0
  534. package/frontend/dist/minecraft-assets/items/pink_candle.png +0 -0
  535. package/frontend/dist/minecraft-assets/items/pink_dye.png +0 -0
  536. package/frontend/dist/minecraft-assets/items/pink_petals.png +0 -0
  537. package/frontend/dist/minecraft-assets/items/pitcher_plant.png +0 -0
  538. package/frontend/dist/minecraft-assets/items/pitcher_pod.png +0 -0
  539. package/frontend/dist/minecraft-assets/items/plenty_pottery_sherd.png +0 -0
  540. package/frontend/dist/minecraft-assets/items/pointed_dripstone.png +0 -0
  541. package/frontend/dist/minecraft-assets/items/poisonous_potato.png +0 -0
  542. package/frontend/dist/minecraft-assets/items/popped_chorus_fruit.png +0 -0
  543. package/frontend/dist/minecraft-assets/items/porkchop.png +0 -0
  544. package/frontend/dist/minecraft-assets/items/potato.png +0 -0
  545. package/frontend/dist/minecraft-assets/items/potion.png +0 -0
  546. package/frontend/dist/minecraft-assets/items/potion_overlay.png +0 -0
  547. package/frontend/dist/minecraft-assets/items/powder_snow_bucket.png +0 -0
  548. package/frontend/dist/minecraft-assets/items/prismarine_crystals.png +0 -0
  549. package/frontend/dist/minecraft-assets/items/prismarine_shard.png +0 -0
  550. package/frontend/dist/minecraft-assets/items/prize_pottery_sherd.png +0 -0
  551. package/frontend/dist/minecraft-assets/items/pufferfish.png +0 -0
  552. package/frontend/dist/minecraft-assets/items/pufferfish_bucket.png +0 -0
  553. package/frontend/dist/minecraft-assets/items/pumpkin_pie.png +0 -0
  554. package/frontend/dist/minecraft-assets/items/pumpkin_seeds.png +0 -0
  555. package/frontend/dist/minecraft-assets/items/purple_candle.png +0 -0
  556. package/frontend/dist/minecraft-assets/items/purple_dye.png +0 -0
  557. package/frontend/dist/minecraft-assets/items/quartz.png +0 -0
  558. package/frontend/dist/minecraft-assets/items/rabbit.png +0 -0
  559. package/frontend/dist/minecraft-assets/items/rabbit_foot.png +0 -0
  560. package/frontend/dist/minecraft-assets/items/rabbit_hide.png +0 -0
  561. package/frontend/dist/minecraft-assets/items/rabbit_stew.png +0 -0
  562. package/frontend/dist/minecraft-assets/items/raiser_armor_trim_smithing_template.png +0 -0
  563. package/frontend/dist/minecraft-assets/items/raw_copper.png +0 -0
  564. package/frontend/dist/minecraft-assets/items/raw_gold.png +0 -0
  565. package/frontend/dist/minecraft-assets/items/raw_iron.png +0 -0
  566. package/frontend/dist/minecraft-assets/items/recovery_compass_00.png +0 -0
  567. package/frontend/dist/minecraft-assets/items/recovery_compass_01.png +0 -0
  568. package/frontend/dist/minecraft-assets/items/recovery_compass_02.png +0 -0
  569. package/frontend/dist/minecraft-assets/items/recovery_compass_03.png +0 -0
  570. package/frontend/dist/minecraft-assets/items/recovery_compass_04.png +0 -0
  571. package/frontend/dist/minecraft-assets/items/recovery_compass_05.png +0 -0
  572. package/frontend/dist/minecraft-assets/items/recovery_compass_06.png +0 -0
  573. package/frontend/dist/minecraft-assets/items/recovery_compass_07.png +0 -0
  574. package/frontend/dist/minecraft-assets/items/recovery_compass_08.png +0 -0
  575. package/frontend/dist/minecraft-assets/items/recovery_compass_09.png +0 -0
  576. package/frontend/dist/minecraft-assets/items/recovery_compass_10.png +0 -0
  577. package/frontend/dist/minecraft-assets/items/recovery_compass_11.png +0 -0
  578. package/frontend/dist/minecraft-assets/items/recovery_compass_12.png +0 -0
  579. package/frontend/dist/minecraft-assets/items/recovery_compass_13.png +0 -0
  580. package/frontend/dist/minecraft-assets/items/recovery_compass_14.png +0 -0
  581. package/frontend/dist/minecraft-assets/items/recovery_compass_15.png +0 -0
  582. package/frontend/dist/minecraft-assets/items/recovery_compass_16.png +0 -0
  583. package/frontend/dist/minecraft-assets/items/recovery_compass_17.png +0 -0
  584. package/frontend/dist/minecraft-assets/items/recovery_compass_18.png +0 -0
  585. package/frontend/dist/minecraft-assets/items/recovery_compass_19.png +0 -0
  586. package/frontend/dist/minecraft-assets/items/recovery_compass_20.png +0 -0
  587. package/frontend/dist/minecraft-assets/items/recovery_compass_21.png +0 -0
  588. package/frontend/dist/minecraft-assets/items/recovery_compass_22.png +0 -0
  589. package/frontend/dist/minecraft-assets/items/recovery_compass_23.png +0 -0
  590. package/frontend/dist/minecraft-assets/items/recovery_compass_24.png +0 -0
  591. package/frontend/dist/minecraft-assets/items/recovery_compass_25.png +0 -0
  592. package/frontend/dist/minecraft-assets/items/recovery_compass_26.png +0 -0
  593. package/frontend/dist/minecraft-assets/items/recovery_compass_27.png +0 -0
  594. package/frontend/dist/minecraft-assets/items/recovery_compass_28.png +0 -0
  595. package/frontend/dist/minecraft-assets/items/recovery_compass_29.png +0 -0
  596. package/frontend/dist/minecraft-assets/items/recovery_compass_30.png +0 -0
  597. package/frontend/dist/minecraft-assets/items/recovery_compass_31.png +0 -0
  598. package/frontend/dist/minecraft-assets/items/red_candle.png +0 -0
  599. package/frontend/dist/minecraft-assets/items/red_dye.png +0 -0
  600. package/frontend/dist/minecraft-assets/items/redstone.png +0 -0
  601. package/frontend/dist/minecraft-assets/items/repeater.png +0 -0
  602. package/frontend/dist/minecraft-assets/items/rib_armor_trim_smithing_template.png +0 -0
  603. package/frontend/dist/minecraft-assets/items/rotten_flesh.png +0 -0
  604. package/frontend/dist/minecraft-assets/items/saddle.png +0 -0
  605. package/frontend/dist/minecraft-assets/items/salmon.png +0 -0
  606. package/frontend/dist/minecraft-assets/items/salmon_bucket.png +0 -0
  607. package/frontend/dist/minecraft-assets/items/scute.png +0 -0
  608. package/frontend/dist/minecraft-assets/items/sea_pickle.png +0 -0
  609. package/frontend/dist/minecraft-assets/items/seagrass.png +0 -0
  610. package/frontend/dist/minecraft-assets/items/sentry_armor_trim_smithing_template.png +0 -0
  611. package/frontend/dist/minecraft-assets/items/shaper_armor_trim_smithing_template.png +0 -0
  612. package/frontend/dist/minecraft-assets/items/sheaf_pottery_sherd.png +0 -0
  613. package/frontend/dist/minecraft-assets/items/shears.png +0 -0
  614. package/frontend/dist/minecraft-assets/items/shelter_pottery_sherd.png +0 -0
  615. package/frontend/dist/minecraft-assets/items/shulker_shell.png +0 -0
  616. package/frontend/dist/minecraft-assets/items/silence_armor_trim_smithing_template.png +0 -0
  617. package/frontend/dist/minecraft-assets/items/skull_banner_pattern.png +0 -0
  618. package/frontend/dist/minecraft-assets/items/skull_pottery_sherd.png +0 -0
  619. package/frontend/dist/minecraft-assets/items/slime_ball.png +0 -0
  620. package/frontend/dist/minecraft-assets/items/sniffer_egg.png +0 -0
  621. package/frontend/dist/minecraft-assets/items/snort_pottery_sherd.png +0 -0
  622. package/frontend/dist/minecraft-assets/items/snout_armor_trim_smithing_template.png +0 -0
  623. package/frontend/dist/minecraft-assets/items/snowball.png +0 -0
  624. package/frontend/dist/minecraft-assets/items/soul_campfire.png +0 -0
  625. package/frontend/dist/minecraft-assets/items/soul_lantern.png +0 -0
  626. package/frontend/dist/minecraft-assets/items/spawn_egg.png +0 -0
  627. package/frontend/dist/minecraft-assets/items/spawn_egg_overlay.png +0 -0
  628. package/frontend/dist/minecraft-assets/items/spectral_arrow.png +0 -0
  629. package/frontend/dist/minecraft-assets/items/spider_eye.png +0 -0
  630. package/frontend/dist/minecraft-assets/items/spire_armor_trim_smithing_template.png +0 -0
  631. package/frontend/dist/minecraft-assets/items/splash_potion.png +0 -0
  632. package/frontend/dist/minecraft-assets/items/spruce_boat.png +0 -0
  633. package/frontend/dist/minecraft-assets/items/spruce_chest_boat.png +0 -0
  634. package/frontend/dist/minecraft-assets/items/spruce_door.png +0 -0
  635. package/frontend/dist/minecraft-assets/items/spruce_hanging_sign.png +0 -0
  636. package/frontend/dist/minecraft-assets/items/spruce_sign.png +0 -0
  637. package/frontend/dist/minecraft-assets/items/spyglass.png +0 -0
  638. package/frontend/dist/minecraft-assets/items/spyglass_model.png +0 -0
  639. package/frontend/dist/minecraft-assets/items/stick.png +0 -0
  640. package/frontend/dist/minecraft-assets/items/stone_axe.png +0 -0
  641. package/frontend/dist/minecraft-assets/items/stone_hoe.png +0 -0
  642. package/frontend/dist/minecraft-assets/items/stone_pickaxe.png +0 -0
  643. package/frontend/dist/minecraft-assets/items/stone_shovel.png +0 -0
  644. package/frontend/dist/minecraft-assets/items/stone_sword.png +0 -0
  645. package/frontend/dist/minecraft-assets/items/string.png +0 -0
  646. package/frontend/dist/minecraft-assets/items/structure_void.png +0 -0
  647. package/frontend/dist/minecraft-assets/items/sugar.png +0 -0
  648. package/frontend/dist/minecraft-assets/items/sugar_cane.png +0 -0
  649. package/frontend/dist/minecraft-assets/items/suspicious_stew.png +0 -0
  650. package/frontend/dist/minecraft-assets/items/sweet_berries.png +0 -0
  651. package/frontend/dist/minecraft-assets/items/tadpole_bucket.png +0 -0
  652. package/frontend/dist/minecraft-assets/items/tide_armor_trim_smithing_template.png +0 -0
  653. package/frontend/dist/minecraft-assets/items/tipped_arrow_base.png +0 -0
  654. package/frontend/dist/minecraft-assets/items/tipped_arrow_head.png +0 -0
  655. package/frontend/dist/minecraft-assets/items/tnt_minecart.png +0 -0
  656. package/frontend/dist/minecraft-assets/items/torchflower_seeds.png +0 -0
  657. package/frontend/dist/minecraft-assets/items/totem_of_undying.png +0 -0
  658. package/frontend/dist/minecraft-assets/items/trident.png +0 -0
  659. package/frontend/dist/minecraft-assets/items/tropical_fish.png +0 -0
  660. package/frontend/dist/minecraft-assets/items/tropical_fish_bucket.png +0 -0
  661. package/frontend/dist/minecraft-assets/items/turtle_egg.png +0 -0
  662. package/frontend/dist/minecraft-assets/items/turtle_helmet.png +0 -0
  663. package/frontend/dist/minecraft-assets/items/vex_armor_trim_smithing_template.png +0 -0
  664. package/frontend/dist/minecraft-assets/items/ward_armor_trim_smithing_template.png +0 -0
  665. package/frontend/dist/minecraft-assets/items/warped_door.png +0 -0
  666. package/frontend/dist/minecraft-assets/items/warped_fungus_on_a_stick.png +0 -0
  667. package/frontend/dist/minecraft-assets/items/warped_hanging_sign.png +0 -0
  668. package/frontend/dist/minecraft-assets/items/warped_sign.png +0 -0
  669. package/frontend/dist/minecraft-assets/items/water_bucket.png +0 -0
  670. package/frontend/dist/minecraft-assets/items/wayfinder_armor_trim_smithing_template.png +0 -0
  671. package/frontend/dist/minecraft-assets/items/wheat.png +0 -0
  672. package/frontend/dist/minecraft-assets/items/wheat_seeds.png +0 -0
  673. package/frontend/dist/minecraft-assets/items/white_candle.png +0 -0
  674. package/frontend/dist/minecraft-assets/items/white_dye.png +0 -0
  675. package/frontend/dist/minecraft-assets/items/wild_armor_trim_smithing_template.png +0 -0
  676. package/frontend/dist/minecraft-assets/items/wooden_axe.png +0 -0
  677. package/frontend/dist/minecraft-assets/items/wooden_hoe.png +0 -0
  678. package/frontend/dist/minecraft-assets/items/wooden_pickaxe.png +0 -0
  679. package/frontend/dist/minecraft-assets/items/wooden_shovel.png +0 -0
  680. package/frontend/dist/minecraft-assets/items/wooden_sword.png +0 -0
  681. package/frontend/dist/minecraft-assets/items/writable_book.png +0 -0
  682. package/frontend/dist/minecraft-assets/items/written_book.png +0 -0
  683. package/frontend/dist/minecraft-assets/items/yellow_candle.png +0 -0
  684. package/frontend/dist/minecraft-assets/items/yellow_dye.png +0 -0
  685. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  686. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  687. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  688. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  689. package/frontend/package.json +4 -0
  690. package/package.json +1 -1
  691. package/screen/3dviewer.png +0 -0
  692. package/screen/console.png +0 -0
  693. package/screen/language_selector.png +0 -0
  694. package/.claude/agents/README.md +0 -469
  695. package/.claude/agents/auth-route-debugger.md +0 -118
  696. package/.claude/agents/auth-route-tester.md +0 -93
  697. package/.claude/agents/auto-error-resolver.md +0 -97
  698. package/.claude/agents/build-optimizer.md +0 -236
  699. package/.claude/agents/code-architect.md +0 -34
  700. package/.claude/agents/code-architecture-reviewer.md +0 -83
  701. package/.claude/agents/code-explorer.md +0 -51
  702. package/.claude/agents/code-refactor-master.md +0 -94
  703. package/.claude/agents/code-reviewer.md +0 -46
  704. package/.claude/agents/cost-optimizer.md +0 -134
  705. package/.claude/agents/deployment-orchestrator.md +0 -113
  706. package/.claude/agents/documentation-architect.md +0 -82
  707. package/.claude/agents/frontend-error-fixer.md +0 -77
  708. package/.claude/agents/iac-code-generator.md +0 -71
  709. package/.claude/agents/incident-responder.md +0 -346
  710. package/.claude/agents/infrastructure-architect.md +0 -31
  711. package/.claude/agents/kubernetes-specialist.md +0 -56
  712. package/.claude/agents/migration-planner.md +0 -181
  713. package/.claude/agents/network-architect.md +0 -196
  714. package/.claude/agents/plan-reviewer.md +0 -52
  715. package/.claude/agents/refactor-planner.md +0 -63
  716. package/.claude/agents/security-scanner.md +0 -102
  717. package/.claude/agents/web-research-specialist.md +0 -78
  718. package/.claude/commands/cost-analysis.md +0 -315
  719. package/.claude/commands/dev-docs-update.md +0 -55
  720. package/.claude/commands/dev-docs.md +0 -51
  721. package/.claude/commands/feature-dev.md +0 -125
  722. package/.claude/commands/incident-debug.md +0 -247
  723. package/.claude/commands/infra-plan.md +0 -81
  724. package/.claude/commands/migration-plan.md +0 -478
  725. package/.claude/commands/route-research-for-testing.md +0 -37
  726. package/.claude/commands/security-review.md +0 -66
  727. package/.claude/hooks/CONFIG.md +0 -448
  728. package/.claude/hooks/README.md +0 -163
  729. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  730. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  731. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  732. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  733. package/.claude/hooks/error-handling-reminder.sh +0 -12
  734. package/.claude/hooks/error-handling-reminder.ts +0 -222
  735. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  736. package/.claude/hooks/package-lock.json +0 -556
  737. package/.claude/hooks/package.json +0 -16
  738. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  739. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  740. package/.claude/hooks/security-policy-check.sh +0 -247
  741. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  742. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  743. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  744. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  745. package/.claude/hooks/terraform-validator.sh +0 -53
  746. package/.claude/hooks/test-input.json +0 -7
  747. package/.claude/hooks/test-skill-activation.ts +0 -427
  748. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  749. package/.claude/hooks/tsc-check.sh +0 -173
  750. package/.claude/hooks/tsconfig.json +0 -19
  751. package/.claude/settings.json +0 -59
  752. package/.claude/settings.local.json +0 -47
  753. package/.claude/skills/README.md +0 -507
  754. package/.claude/skills/api-engineering/SKILL.md +0 -63
  755. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  756. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  757. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  758. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  759. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  760. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  761. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  762. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  763. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  764. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  765. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  766. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  767. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  768. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  769. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  770. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  771. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  772. package/.claude/skills/build-engineering/SKILL.md +0 -431
  773. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  774. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  775. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  776. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  777. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  778. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  779. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  780. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  781. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  782. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  783. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  784. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  785. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  786. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  787. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  788. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  789. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  790. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  791. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  792. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  793. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  794. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  795. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  796. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  797. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  798. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  799. package/.claude/skills/database-engineering/SKILL.md +0 -61
  800. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  801. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  802. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  803. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  804. package/.claude/skills/devsecops/SKILL.md +0 -374
  805. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  806. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  807. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  808. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  809. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  810. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  811. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  812. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  813. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  814. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  815. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  816. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  817. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  818. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  819. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  820. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  821. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  822. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  823. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  824. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  825. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  826. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  827. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  828. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  829. package/.claude/skills/engineering-management/SKILL.md +0 -356
  830. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  831. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  832. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  833. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  834. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  835. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  836. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  837. package/.claude/skills/error-tracking/SKILL.md +0 -379
  838. package/.claude/skills/frontend-design/SKILL.md +0 -42
  839. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  840. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  841. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  842. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  843. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  844. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  845. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  846. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  847. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  848. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  849. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  850. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  851. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  852. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  853. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  854. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  855. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  856. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  857. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  858. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  859. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  860. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  861. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  862. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  863. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  864. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  865. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  866. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  867. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  868. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  869. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  870. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  871. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  872. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  873. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  874. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  875. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  876. package/.claude/skills/network-engineering/SKILL.md +0 -385
  877. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  878. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  879. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  880. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  881. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  882. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  883. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  884. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  885. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  886. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  887. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  888. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  889. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  890. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  891. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  892. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  893. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  894. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  895. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  896. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  897. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  898. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  899. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  900. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  901. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  902. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  903. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  904. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  905. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  906. package/.claude/skills/release-engineering/SKILL.md +0 -393
  907. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  908. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  909. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  910. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  911. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  912. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  913. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  914. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  915. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  916. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  917. package/.claude/skills/route-tester/SKILL.md +0 -392
  918. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  919. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  920. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  921. package/.claude/skills/skill-developer/SKILL.md +0 -430
  922. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  923. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  924. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  925. package/.claude/skills/skill-rules.json +0 -2940
  926. package/.claude/skills/sre/SKILL.md +0 -464
  927. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  928. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  929. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  930. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  931. package/.claude/skills/sre/resources/incident-management.md +0 -436
  932. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  933. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  934. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  935. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  936. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  937. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  938. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  939. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  940. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  941. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  942. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  943. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  944. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  945. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  946. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  947. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  948. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  949. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  950. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  951. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  952. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  953. package/frontend/dist/assets/index-DqzDkFsP.js +0 -11210
  954. package/frontend/dist/assets/index-t6K1u4OV.css +0 -32
@@ -1,1198 +0,0 @@
1
- # Oracle Cloud Infrastructure (OCI) Patterns
2
-
3
- Comprehensive guide to Oracle Cloud Infrastructure covering core services, architectural patterns, and best practices for building scalable, reliable, and secure cloud infrastructure on OCI.
4
-
5
- ## Table of Contents
6
-
7
- - [OCI Service Overview](#oci-service-overview)
8
- - [Compute Services](#compute-services)
9
- - [Storage Services](#storage-services)
10
- - [Database Services](#database-services)
11
- - [Networking Services](#networking-services)
12
- - [Container and Kubernetes Services](#container-and-kubernetes-services)
13
- - [Serverless Services](#serverless-services)
14
- - [Identity and Security](#identity-and-security)
15
- - [Monitoring and Management](#monitoring-and-management)
16
- - [Common Patterns](#common-patterns)
17
- - [Best Practices](#best-practices)
18
- - [Anti-Patterns](#anti-patterns)
19
-
20
- ## OCI Service Overview
21
-
22
- ### Service Categories
23
-
24
- ```
25
- Compute: Compute Instances, Bare Metal, Container Engine (OKE), Functions
26
- Storage: Object Storage, Block Volumes, File Storage, Archive Storage
27
- Database: Autonomous Database, Base Database, MySQL, PostgreSQL, NoSQL
28
- Networking: VCN, Load Balancer, FastConnect, DNS, VPN, Service Gateway
29
- Security: IAM, Vault, Bastion, WAF, Cloud Guard
30
- Monitoring: Monitoring, Logging, Events, Notifications, APM
31
- DevOps: DevOps Service, Resource Manager (Terraform), API Gateway
32
- Analytics: Data Integration, Data Flow, Analytics Cloud
33
- ```
34
-
35
- ### OCI Regions and Availability Domains
36
-
37
- ```
38
- Region: Geographic area (e.g., us-ashburn-1, uk-london-1)
39
- Availability Domain: Isolated data centers within region (AD-1, AD-2, AD-3)
40
- Fault Domain: Logical grouping within AD for high availability
41
- ```
42
-
43
- ## Compute Services
44
-
45
- ### Compute Instances
46
-
47
- **VM Shapes:**
48
- ```
49
- Standard (VM.Standard): General purpose workloads
50
- DenseIO (VM.DenseIO): High local NVMe storage
51
- GPU (VM.GPU): ML training, graphics rendering
52
- HPC (BM.HPC): High-performance computing
53
- Bare Metal (BM.Standard): No virtualization overhead
54
- Flexible (VM.Standard.E4.Flex): Custom CPU/memory ratio
55
- ```
56
-
57
- **Example: Compute Instance with Terraform:**
58
- ```hcl
59
- # compute_instance.tf
60
- resource "oci_core_instance" "app_server" {
61
- availability_domain = data.oci_identity_availability_domain.ad1.name
62
- compartment_id = var.compartment_id
63
- display_name = "app-server-${var.environment}"
64
- shape = "VM.Standard.E4.Flex"
65
-
66
- # Flexible shape configuration
67
- shape_config {
68
- ocpus = 2
69
- memory_in_gbs = 16
70
- }
71
-
72
- # Boot volume
73
- create_vnic_details {
74
- subnet_id = oci_core_subnet.private.id
75
- assign_public_ip = false
76
- hostname_label = "app-server"
77
- }
78
-
79
- source_details {
80
- source_type = "image"
81
- source_id = data.oci_core_images.oracle_linux.images[0].id
82
- boot_volume_size_in_gbs = 100
83
- }
84
-
85
- # Cloud-init configuration
86
- metadata = {
87
- ssh_authorized_keys = file("~/.ssh/id_rsa.pub")
88
- user_data = base64encode(file("${path.module}/cloud-init.yaml"))
89
- }
90
-
91
- # High availability
92
- fault_domain = "FAULT-DOMAIN-1"
93
-
94
- # Tags
95
- freeform_tags = {
96
- Environment = var.environment
97
- ManagedBy = "terraform"
98
- Application = "web-app"
99
- }
100
- }
101
-
102
- # Instance pool for auto-scaling
103
- resource "oci_core_instance_pool" "app_pool" {
104
- compartment_id = var.compartment_id
105
- display_name = "app-instance-pool"
106
-
107
- instance_configuration_id = oci_core_instance_configuration.app.id
108
-
109
- placement_configurations {
110
- availability_domain = data.oci_identity_availability_domain.ad1.name
111
- primary_subnet_id = oci_core_subnet.private.id
112
-
113
- fault_domains = [
114
- "FAULT-DOMAIN-1",
115
- "FAULT-DOMAIN-2",
116
- "FAULT-DOMAIN-3"
117
- ]
118
- }
119
-
120
- size = 3
121
-
122
- load_balancers {
123
- backend_set_name = oci_load_balancer_backend_set.app.name
124
- load_balancer_id = oci_load_balancer_load_balancer.public.id
125
- port = 8080
126
- vnic_selection = "PrimaryVnic"
127
- }
128
- }
129
-
130
- # Auto-scaling configuration
131
- resource "oci_autoscaling_auto_scaling_configuration" "app" {
132
- compartment_id = var.compartment_id
133
- display_name = "app-autoscaling"
134
- auto_scaling_resources {
135
- id = oci_core_instance_pool.app_pool.id
136
- type = "instancePool"
137
- }
138
-
139
- policies {
140
- display_name = "cpu-based-autoscaling"
141
- policy_type = "threshold"
142
- capacity {
143
- initial = 3
144
- max = 10
145
- min = 2
146
- }
147
-
148
- rules {
149
- display_name = "scale-out-rule"
150
- action {
151
- type = "CHANGE_COUNT_BY"
152
- value = 1
153
- }
154
- metric {
155
- metric_type = "CPU_UTILIZATION"
156
- threshold {
157
- operator = "GT"
158
- value = 75
159
- }
160
- }
161
- }
162
-
163
- rules {
164
- display_name = "scale-in-rule"
165
- action {
166
- type = "CHANGE_COUNT_BY"
167
- value = -1
168
- }
169
- metric {
170
- metric_type = "CPU_UTILIZATION"
171
- threshold {
172
- operator = "LT"
173
- value = 25
174
- }
175
- }
176
- }
177
- }
178
- }
179
- ```
180
-
181
- ### Bare Metal Instances
182
-
183
- **When to Use:**
184
- - No virtualization overhead for maximum performance
185
- - Oracle Database workloads
186
- - Compliance requirements
187
- - Large memory requirements (up to 2TB)
188
-
189
- ```hcl
190
- resource "oci_core_instance" "bare_metal_db" {
191
- availability_domain = data.oci_identity_availability_domain.ad1.name
192
- compartment_id = var.compartment_id
193
- display_name = "oracle-db-server"
194
- shape = "BM.Standard2.52" # 52 OCPUs, 768 GB memory
195
-
196
- create_vnic_details {
197
- subnet_id = oci_core_subnet.database.id
198
- }
199
-
200
- source_details {
201
- source_type = "image"
202
- source_id = data.oci_database_db_system_shapes.db_shapes.db_system_shapes[0].id
203
- }
204
-
205
- # Local NVMe storage
206
- launch_options {
207
- boot_volume_type = "ISCSI"
208
- }
209
- }
210
- ```
211
-
212
- ## Storage Services
213
-
214
- ### Object Storage
215
-
216
- **Storage Tiers:**
217
- ```
218
- Standard: Frequent access, immediate availability
219
- Infrequent: Accessed less than once per month, 90-day retention
220
- Archive: Long-term retention, restore time required
221
- ```
222
-
223
- **Example: Object Storage Bucket:**
224
- ```hcl
225
- # object_storage.tf
226
- resource "oci_objectstorage_bucket" "application_data" {
227
- compartment_id = var.compartment_id
228
- namespace = data.oci_objectstorage_namespace.ns.namespace
229
- name = "application-data-${var.environment}"
230
- access_type = "NoPublicAccess"
231
-
232
- # Versioning for data protection
233
- versioning = "Enabled"
234
-
235
- # Storage tier
236
- storage_tier = "Standard"
237
-
238
- # Object lifecycle policy
239
- retention_rules {
240
- display_name = "retention-policy"
241
- duration {
242
- time_amount = 90
243
- time_unit = "DAYS"
244
- }
245
- }
246
-
247
- # Automatic tiering
248
- auto_tiering = "InfrequentAccess"
249
-
250
- freeform_tags = {
251
- Environment = var.environment
252
- DataClass = "sensitive"
253
- }
254
- }
255
-
256
- # Pre-authenticated request for temporary access
257
- resource "oci_objectstorage_preauthrequest" "temporary_upload" {
258
- namespace = data.oci_objectstorage_namespace.ns.namespace
259
- bucket = oci_objectstorage_bucket.application_data.name
260
- name = "temp-upload-link"
261
- access_type = "ObjectWrite"
262
- time_expires = timeadd(timestamp(), "24h")
263
- object_name = "uploads/"
264
- }
265
- ```
266
-
267
- ### Block Volumes
268
-
269
- **Volume Types:**
270
- ```
271
- Balanced: Baseline performance, cost-effective
272
- Higher Performance: Increased IOPS and throughput
273
- Ultra High: Maximum performance for critical workloads
274
- ```
275
-
276
- **Example: Block Volume with Backup:**
277
- ```hcl
278
- # block_volume.tf
279
- resource "oci_core_volume" "application_data" {
280
- availability_domain = data.oci_identity_availability_domain.ad1.name
281
- compartment_id = var.compartment_id
282
- display_name = "app-data-volume"
283
- size_in_gbs = 500
284
-
285
- # Performance tier
286
- vpus_per_gb = 20 # Higher performance
287
-
288
- # Encryption
289
- is_auto_tune_enabled = true
290
-
291
- # Volume groups for consistent backups
292
- volume_group_id = oci_core_volume_group.app.id
293
- }
294
-
295
- # Attach to instance
296
- resource "oci_core_volume_attachment" "app_data_attachment" {
297
- attachment_type = "paravirtualized"
298
- instance_id = oci_core_instance.app_server.id
299
- volume_id = oci_core_volume.application_data.id
300
- device = "/dev/oracleoci/oraclevdb"
301
- }
302
-
303
- # Backup policy
304
- resource "oci_core_volume_backup_policy_assignment" "app_backup" {
305
- asset_id = oci_core_volume.application_data.id
306
- policy_id = data.oci_core_volume_backup_policies.default_policies.volume_backup_policies[0].id
307
- }
308
- ```
309
-
310
- ### File Storage Service (FSS)
311
-
312
- **Example: NFS File System:**
313
- ```hcl
314
- # file_storage.tf
315
- resource "oci_file_storage_file_system" "shared_storage" {
316
- availability_domain = data.oci_identity_availability_domain.ad1.name
317
- compartment_id = var.compartment_id
318
- display_name = "shared-application-storage"
319
- }
320
-
321
- resource "oci_file_storage_mount_target" "mount_target" {
322
- availability_domain = data.oci_identity_availability_domain.ad1.name
323
- compartment_id = var.compartment_id
324
- subnet_id = oci_core_subnet.private.id
325
- display_name = "mount-target-ad1"
326
-
327
- hostname_label = "fss-mt"
328
- }
329
-
330
- resource "oci_file_storage_export" "export" {
331
- export_set_id = oci_file_storage_mount_target.mount_target.export_set_id
332
- file_system_id = oci_file_storage_file_system.shared_storage.id
333
- path = "/shared"
334
-
335
- export_options {
336
- source = "10.0.0.0/16"
337
- access = "READ_WRITE"
338
- identity_squash = "NONE"
339
- require_privileged_source_port = false
340
- }
341
- }
342
- ```
343
-
344
- ## Database Services
345
-
346
- ### Autonomous Database
347
-
348
- **Database Workload Types:**
349
- ```
350
- ATP (Transaction Processing): OLTP workloads
351
- ADW (Data Warehouse): Analytics and reporting
352
- APEX: Low-code application development
353
- AJD (JSON): JSON document store
354
- ```
355
-
356
- **Example: Autonomous Database:**
357
- ```hcl
358
- # autonomous_database.tf
359
- resource "oci_database_autonomous_database" "app_db" {
360
- compartment_id = var.compartment_id
361
- db_name = "APPDB"
362
- display_name = "application-database-${var.environment}"
363
- admin_password = var.db_admin_password
364
- db_workload = "OLTP" # ATP
365
- cpu_core_count = 2
366
- data_storage_size_in_tbs = 1
367
-
368
- # Auto-scaling
369
- is_auto_scaling_enabled = true
370
- is_auto_scaling_for_storage_enabled = true
371
-
372
- # High availability
373
- is_dedicated = false
374
- is_free_tier = false
375
-
376
- # Network access
377
- subnet_id = oci_core_subnet.database.id
378
- nsg_ids = [oci_core_network_security_group.db.id]
379
- is_mtls_connection_required = true
380
-
381
- # Backup configuration
382
- is_data_guard_enabled = true
383
- db_version = "19c"
384
-
385
- # License
386
- license_model = "LICENSE_INCLUDED"
387
-
388
- freeform_tags = {
389
- Environment = var.environment
390
- DatabaseType = "autonomous"
391
- }
392
- }
393
-
394
- # Autonomous Database backup
395
- resource "oci_database_autonomous_database_backup" "manual_backup" {
396
- autonomous_database_id = oci_database_autonomous_database.app_db.id
397
- display_name = "manual-backup-${formatdate("YYYY-MM-DD", timestamp())}"
398
- }
399
- ```
400
-
401
- ### MySQL Database Service
402
-
403
- **Example: MySQL HeatWave:**
404
- ```hcl
405
- # mysql_database.tf
406
- resource "oci_mysql_mysql_db_system" "app_mysql" {
407
- compartment_id = var.compartment_id
408
- shape_name = "MySQL.VM.Standard.E4.4.64GB"
409
- subnet_id = oci_core_subnet.database.id
410
- availability_domain = data.oci_identity_availability_domain.ad1.name
411
-
412
- admin_password = var.mysql_admin_password
413
- admin_username = "admin"
414
-
415
- # High availability
416
- is_highly_available = true
417
-
418
- # Data storage
419
- data_storage_size_in_gb = 100
420
-
421
- # Backup
422
- backup_policy {
423
- is_enabled = true
424
- retention_in_days = 7
425
- window_start_time = "02:00"
426
- }
427
-
428
- # HeatWave cluster for analytics
429
- is_heat_wave_cluster_attached = true
430
- heat_wave_cluster {
431
- shape_name = "MySQL.HeatWave.VM.Standard.E3"
432
- cluster_size = 2
433
- }
434
-
435
- display_name = "mysql-db-${var.environment}"
436
-
437
- freeform_tags = {
438
- Environment = var.environment
439
- }
440
- }
441
- ```
442
-
443
- ## Networking Services
444
-
445
- ### Virtual Cloud Network (VCN)
446
-
447
- **Example: Production VCN with Multiple Tiers:**
448
- ```hcl
449
- # vcn.tf
450
- resource "oci_core_vcn" "production" {
451
- compartment_id = var.compartment_id
452
- cidr_blocks = ["10.0.0.0/16"]
453
- display_name = "production-vcn"
454
- dns_label = "prodvcn"
455
-
456
- is_ipv6enabled = false
457
-
458
- freeform_tags = {
459
- Environment = "production"
460
- }
461
- }
462
-
463
- # Internet Gateway for public subnets
464
- resource "oci_core_internet_gateway" "public" {
465
- compartment_id = var.compartment_id
466
- vcn_id = oci_core_vcn.production.id
467
- display_name = "internet-gateway"
468
- enabled = true
469
- }
470
-
471
- # NAT Gateway for private subnets
472
- resource "oci_core_nat_gateway" "private" {
473
- compartment_id = var.compartment_id
474
- vcn_id = oci_core_vcn.production.id
475
- display_name = "nat-gateway"
476
- block_traffic = false
477
- }
478
-
479
- # Service Gateway for OCI services
480
- resource "oci_core_service_gateway" "oci_services" {
481
- compartment_id = var.compartment_id
482
- vcn_id = oci_core_vcn.production.id
483
- display_name = "service-gateway"
484
-
485
- services {
486
- service_id = data.oci_core_services.all_services.services[0].id
487
- }
488
- }
489
-
490
- # Public subnet
491
- resource "oci_core_subnet" "public" {
492
- compartment_id = var.compartment_id
493
- vcn_id = oci_core_vcn.production.id
494
- cidr_block = "10.0.1.0/24"
495
- display_name = "public-subnet"
496
- dns_label = "public"
497
- route_table_id = oci_core_route_table.public.id
498
- security_list_ids = [oci_core_security_list.public.id]
499
- prohibit_public_ip_on_vnic = false
500
- }
501
-
502
- # Private subnet (application tier)
503
- resource "oci_core_subnet" "private_app" {
504
- compartment_id = var.compartment_id
505
- vcn_id = oci_core_vcn.production.id
506
- cidr_block = "10.0.10.0/24"
507
- display_name = "private-app-subnet"
508
- dns_label = "app"
509
- route_table_id = oci_core_route_table.private.id
510
- security_list_ids = [oci_core_security_list.private_app.id]
511
- prohibit_public_ip_on_vnic = true
512
- }
513
-
514
- # Private subnet (database tier)
515
- resource "oci_core_subnet" "private_db" {
516
- compartment_id = var.compartment_id
517
- vcn_id = oci_core_vcn.production.id
518
- cidr_block = "10.0.20.0/24"
519
- display_name = "private-db-subnet"
520
- dns_label = "db"
521
- route_table_id = oci_core_route_table.private.id
522
- security_list_ids = [oci_core_security_list.private_db.id]
523
- prohibit_public_ip_on_vnic = true
524
- }
525
-
526
- # Route tables
527
- resource "oci_core_route_table" "public" {
528
- compartment_id = var.compartment_id
529
- vcn_id = oci_core_vcn.production.id
530
- display_name = "public-route-table"
531
-
532
- route_rules {
533
- network_entity_id = oci_core_internet_gateway.public.id
534
- destination = "0.0.0.0/0"
535
- destination_type = "CIDR_BLOCK"
536
- }
537
- }
538
-
539
- resource "oci_core_route_table" "private" {
540
- compartment_id = var.compartment_id
541
- vcn_id = oci_core_vcn.production.id
542
- display_name = "private-route-table"
543
-
544
- route_rules {
545
- network_entity_id = oci_core_nat_gateway.private.id
546
- destination = "0.0.0.0/0"
547
- destination_type = "CIDR_BLOCK"
548
- }
549
-
550
- route_rules {
551
- network_entity_id = oci_core_service_gateway.oci_services.id
552
- destination = data.oci_core_services.all_services.services[0].cidr_block
553
- destination_type = "SERVICE_CIDR_BLOCK"
554
- }
555
- }
556
- ```
557
-
558
- ### Load Balancer
559
-
560
- **Example: Public Load Balancer with Health Checks:**
561
- ```hcl
562
- # load_balancer.tf
563
- resource "oci_load_balancer_load_balancer" "public" {
564
- compartment_id = var.compartment_id
565
- display_name = "public-load-balancer"
566
- shape = "flexible"
567
-
568
- shape_details {
569
- minimum_bandwidth_in_mbps = 10
570
- maximum_bandwidth_in_mbps = 100
571
- }
572
-
573
- subnet_ids = [
574
- oci_core_subnet.public.id
575
- ]
576
-
577
- is_private = false
578
-
579
- freeform_tags = {
580
- Environment = var.environment
581
- }
582
- }
583
-
584
- # Backend set
585
- resource "oci_load_balancer_backend_set" "app" {
586
- load_balancer_id = oci_load_balancer_load_balancer.public.id
587
- name = "app-backend-set"
588
- policy = "ROUND_ROBIN"
589
-
590
- health_checker {
591
- protocol = "HTTP"
592
- port = 8080
593
- url_path = "/health"
594
- return_code = 200
595
- interval_ms = 10000
596
- timeout_in_millis = 3000
597
- retries = 3
598
- }
599
-
600
- session_persistence_configuration {
601
- cookie_name = "APP_SESSION"
602
- }
603
- }
604
-
605
- # SSL certificate
606
- resource "oci_load_balancer_certificate" "ssl_cert" {
607
- load_balancer_id = oci_load_balancer_load_balancer.public.id
608
- certificate_name = "ssl-certificate"
609
-
610
- ca_certificate = file("${path.module}/certs/ca.crt")
611
- private_key = file("${path.module}/certs/server.key")
612
- public_certificate = file("${path.module}/certs/server.crt")
613
- }
614
-
615
- # HTTPS listener
616
- resource "oci_load_balancer_listener" "https" {
617
- load_balancer_id = oci_load_balancer_load_balancer.public.id
618
- name = "https-listener"
619
- default_backend_set_name = oci_load_balancer_backend_set.app.name
620
- port = 443
621
- protocol = "HTTP"
622
-
623
- ssl_configuration {
624
- certificate_name = oci_load_balancer_certificate.ssl_cert.certificate_name
625
- verify_peer_certificate = false
626
- protocols = ["TLSv1.2", "TLSv1.3"]
627
- }
628
-
629
- connection_configuration {
630
- idle_timeout_in_seconds = 300
631
- }
632
- }
633
- ```
634
-
635
- ## Container and Kubernetes Services
636
-
637
- ### Container Engine for Kubernetes (OKE)
638
-
639
- **Example: Production OKE Cluster:**
640
- ```hcl
641
- # oke_cluster.tf
642
- resource "oci_containerengine_cluster" "app_cluster" {
643
- compartment_id = var.compartment_id
644
- kubernetes_version = "v1.27.2"
645
- name = "app-cluster-${var.environment}"
646
- vcn_id = oci_core_vcn.production.id
647
-
648
- # Cluster endpoint configuration
649
- endpoint_config {
650
- is_public_ip_enabled = false
651
- subnet_id = oci_core_subnet.kubernetes_api.id
652
- nsg_ids = [oci_core_network_security_group.k8s_api.id]
653
- }
654
-
655
- # Options
656
- options {
657
- service_lb_subnet_ids = [oci_core_subnet.public.id]
658
-
659
- # Add-ons
660
- add_ons {
661
- is_kubernetes_dashboard_enabled = false
662
- is_tiller_enabled = false
663
- }
664
-
665
- # Admission controllers
666
- admission_controller_options {
667
- is_pod_security_policy_enabled = true
668
- }
669
-
670
- # Kubernetes network config
671
- kubernetes_network_config {
672
- pods_cidr = "10.244.0.0/16"
673
- services_cidr = "10.96.0.0/16"
674
- }
675
-
676
- # Persistent volume config
677
- persistent_volume_config {
678
- freeform_tags = {
679
- Environment = var.environment
680
- }
681
- }
682
- }
683
-
684
- freeform_tags = {
685
- Environment = var.environment
686
- }
687
- }
688
-
689
- # Node pool
690
- resource "oci_containerengine_node_pool" "app_node_pool" {
691
- cluster_id = oci_containerengine_cluster.app_cluster.id
692
- compartment_id = var.compartment_id
693
- kubernetes_version = "v1.27.2"
694
- name = "app-node-pool"
695
- node_shape = "VM.Standard.E4.Flex"
696
-
697
- node_shape_config {
698
- ocpus = 2
699
- memory_in_gbs = 16
700
- }
701
-
702
- # Multi-AD placement
703
- node_config_details {
704
- placement_configs {
705
- availability_domain = data.oci_identity_availability_domain.ad1.name
706
- subnet_id = oci_core_subnet.kubernetes_workers.id
707
-
708
- fault_domains = [
709
- "FAULT-DOMAIN-1",
710
- "FAULT-DOMAIN-2",
711
- "FAULT-DOMAIN-3"
712
- ]
713
- }
714
-
715
- size = 3
716
-
717
- # Node pool options
718
- is_pv_encryption_in_transit_enabled = true
719
-
720
- # Freeform tags for nodes
721
- freeform_tags = {
722
- Environment = var.environment
723
- NodePool = "app"
724
- }
725
-
726
- node_pool_pod_network_option_details {
727
- cni_type = "FLANNEL_OVERLAY"
728
- }
729
- }
730
-
731
- # Image
732
- node_source_details {
733
- image_id = data.oci_containerengine_node_pool_option.oke_node_pool_option.sources[0].image_id
734
- source_type = "IMAGE"
735
- }
736
-
737
- # SSH access
738
- ssh_public_key = file("~/.ssh/id_rsa.pub")
739
-
740
- # Initial node labels
741
- initial_node_labels {
742
- key = "environment"
743
- value = var.environment
744
- }
745
- }
746
- ```
747
-
748
- ## Serverless Services
749
-
750
- ### Functions
751
-
752
- **Example: OCI Function:**
753
- ```yaml
754
- # func.yaml
755
- schema_version: 20180708
756
- name: process-image
757
- version: 0.0.1
758
- runtime: python
759
- entrypoint: /python/bin/fdk /function/func.py handler
760
- memory: 256
761
- timeout: 120
762
- ```
763
-
764
- ```python
765
- # func.py
766
- import io
767
- import json
768
- import oci
769
- from fdk import response
770
-
771
- def handler(ctx, data: io.BytesIO = None):
772
- signer = oci.auth.signers.get_resource_principals_signer()
773
- object_storage = oci.object_storage.ObjectStorageClient(config={}, signer=signer)
774
-
775
- try:
776
- body = json.loads(data.getvalue())
777
- bucket_name = body.get("bucketName")
778
- object_name = body.get("objectName")
779
-
780
- # Process object
781
- namespace = object_storage.get_namespace().data
782
- obj = object_storage.get_object(namespace, bucket_name, object_name)
783
-
784
- # Your processing logic here
785
- result = process_data(obj.data.content)
786
-
787
- return response.Response(
788
- ctx,
789
- response_data=json.dumps({"status": "success", "result": result}),
790
- headers={"Content-Type": "application/json"}
791
- )
792
- except Exception as e:
793
- return response.Response(
794
- ctx,
795
- response_data=json.dumps({"status": "error", "message": str(e)}),
796
- headers={"Content-Type": "application/json"},
797
- status_code=500
798
- )
799
-
800
- def process_data(content):
801
- # Your data processing logic
802
- return {"processed": True}
803
- ```
804
-
805
- **Terraform Configuration:**
806
- ```hcl
807
- # functions.tf
808
- resource "oci_functions_application" "app" {
809
- compartment_id = var.compartment_id
810
- display_name = "image-processing-app"
811
- subnet_ids = [oci_core_subnet.private_app.id]
812
-
813
- config = {
814
- STORAGE_NAMESPACE = data.oci_objectstorage_namespace.ns.namespace
815
- }
816
-
817
- freeform_tags = {
818
- Environment = var.environment
819
- }
820
- }
821
-
822
- resource "oci_functions_function" "process_image" {
823
- application_id = oci_functions_application.app.id
824
- display_name = "process-image"
825
- image = "${var.ocir_region}.ocir.io/${data.oci_objectstorage_namespace.ns.namespace}/process-image:0.0.1"
826
- memory_in_mbs = 256
827
- timeout_in_seconds = 120
828
-
829
- config = {
830
- BUCKET_NAME = oci_objectstorage_bucket.images.name
831
- }
832
- }
833
- ```
834
-
835
- ## Identity and Security
836
-
837
- ### Identity and Access Management (IAM)
838
-
839
- **Example: Compartment Structure and Policies:**
840
- ```hcl
841
- # iam.tf
842
- # Root compartment structure
843
- resource "oci_identity_compartment" "production" {
844
- compartment_id = var.tenancy_ocid
845
- description = "Production environment"
846
- name = "production"
847
- }
848
-
849
- resource "oci_identity_compartment" "network" {
850
- compartment_id = oci_identity_compartment.production.id
851
- description = "Network resources"
852
- name = "network"
853
- }
854
-
855
- resource "oci_identity_compartment" "compute" {
856
- compartment_id = oci_identity_compartment.production.id
857
- description = "Compute resources"
858
- name = "compute"
859
- }
860
-
861
- # Dynamic group for instance principals
862
- resource "oci_identity_dynamic_group" "app_instances" {
863
- compartment_id = var.tenancy_ocid
864
- description = "Application instances"
865
- name = "app-instances"
866
- matching_rule = "ALL {instance.compartment.id = '${oci_identity_compartment.compute.id}'}"
867
- }
868
-
869
- # Policy for instance principals
870
- resource "oci_identity_policy" "app_instances_policy" {
871
- compartment_id = oci_identity_compartment.production.id
872
- description = "Policy for application instances"
873
- name = "app-instances-policy"
874
-
875
- statements = [
876
- "Allow dynamic-group app-instances to manage objects in compartment production",
877
- "Allow dynamic-group app-instances to read secret-bundles in compartment production",
878
- "Allow dynamic-group app-instances to use metrics in compartment production"
879
- ]
880
- }
881
-
882
- # User group
883
- resource "oci_identity_group" "developers" {
884
- compartment_id = var.tenancy_ocid
885
- description = "Developer group"
886
- name = "developers"
887
- }
888
-
889
- # Policy for developers
890
- resource "oci_identity_policy" "developers_policy" {
891
- compartment_id = oci_identity_compartment.production.id
892
- description = "Developer permissions"
893
- name = "developers-policy"
894
-
895
- statements = [
896
- "Allow group developers to manage all-resources in compartment production where request.permission != 'COMPARTMENT_DELETE'",
897
- "Allow group developers to read audit-events in compartment production",
898
- "Allow group developers to use cloud-shell in tenancy"
899
- ]
900
- }
901
- ```
902
-
903
- ### Vault and Key Management
904
-
905
- **Example: Vault with Encryption Keys:**
906
- ```hcl
907
- # vault.tf
908
- resource "oci_kms_vault" "production_vault" {
909
- compartment_id = var.compartment_id
910
- display_name = "production-vault"
911
- vault_type = "DEFAULT"
912
-
913
- freeform_tags = {
914
- Environment = "production"
915
- }
916
- }
917
-
918
- # Master encryption key
919
- resource "oci_kms_key" "database_encryption_key" {
920
- compartment_id = var.compartment_id
921
- display_name = "database-encryption-key"
922
-
923
- key_shape {
924
- algorithm = "AES"
925
- length = 32
926
- }
927
-
928
- management_endpoint = oci_kms_vault.production_vault.management_endpoint
929
-
930
- protection_mode = "HSM" # Hardware Security Module
931
- }
932
-
933
- # Secret for database password
934
- resource "oci_vault_secret" "db_password" {
935
- compartment_id = var.compartment_id
936
- secret_name = "database-admin-password"
937
- vault_id = oci_kms_vault.production_vault.id
938
- key_id = oci_kms_key.database_encryption_key.id
939
-
940
- secret_content {
941
- content_type = "BASE64"
942
- content = base64encode(var.db_admin_password)
943
- }
944
- }
945
- ```
946
-
947
- ## Monitoring and Management
948
-
949
- ### Monitoring and Alarms
950
-
951
- **Example: Monitoring and Alerting:**
952
- ```hcl
953
- # monitoring.tf
954
- # Alarm for high CPU
955
- resource "oci_monitoring_alarm" "high_cpu" {
956
- compartment_id = var.compartment_id
957
- display_name = "high-cpu-alarm"
958
- is_enabled = true
959
- metric_compartment_id = var.compartment_id
960
- namespace = "oci_computeagent"
961
- query = "CpuUtilization[1m].mean() > 80"
962
- severity = "CRITICAL"
963
-
964
- destinations = [oci_ons_notification_topic.alerts.id]
965
-
966
- repeat_notification_duration = "PT2H"
967
-
968
- body = "CPU utilization is above 80% for instances in production"
969
-
970
- freeform_tags = {
971
- Environment = "production"
972
- }
973
- }
974
-
975
- # Notification topic
976
- resource "oci_ons_notification_topic" "alerts" {
977
- compartment_id = var.compartment_id
978
- name = "production-alerts"
979
- }
980
-
981
- # Email subscription
982
- resource "oci_ons_subscription" "email_alerts" {
983
- compartment_id = var.compartment_id
984
- endpoint = "ops-team@example.com"
985
- protocol = "EMAIL"
986
- topic_id = oci_ons_notification_topic.alerts.id
987
- }
988
-
989
- # Slack webhook subscription
990
- resource "oci_ons_subscription" "slack_alerts" {
991
- compartment_id = var.compartment_id
992
- endpoint = var.slack_webhook_url
993
- protocol = "HTTPS_CUSTOM"
994
- topic_id = oci_ons_notification_topic.alerts.id
995
- }
996
- ```
997
-
998
- ### Logging
999
-
1000
- **Example: Log Groups and Logs:**
1001
- ```hcl
1002
- # logging.tf
1003
- resource "oci_logging_log_group" "application_logs" {
1004
- compartment_id = var.compartment_id
1005
- display_name = "application-log-group"
1006
- }
1007
-
1008
- # VCN flow logs
1009
- resource "oci_logging_log" "vcn_flow_logs" {
1010
- display_name = "vcn-flow-logs"
1011
- log_group_id = oci_logging_log_group.application_logs.id
1012
- log_type = "SERVICE"
1013
-
1014
- configuration {
1015
- source {
1016
- category = "all"
1017
- resource = oci_core_vcn.production.id
1018
- service = "flowlogs"
1019
- source_type = "OCISERVICE"
1020
- }
1021
-
1022
- compartment_id = var.compartment_id
1023
- }
1024
-
1025
- is_enabled = true
1026
- retention_duration = 30
1027
- }
1028
-
1029
- # Load balancer access logs
1030
- resource "oci_logging_log" "lb_access_logs" {
1031
- display_name = "lb-access-logs"
1032
- log_group_id = oci_logging_log_group.application_logs.id
1033
- log_type = "SERVICE"
1034
-
1035
- configuration {
1036
- source {
1037
- category = "access"
1038
- resource = oci_load_balancer_load_balancer.public.id
1039
- service = "loadbalancer"
1040
- source_type = "OCISERVICE"
1041
- }
1042
-
1043
- compartment_id = var.compartment_id
1044
- }
1045
-
1046
- is_enabled = true
1047
- retention_duration = 30
1048
- }
1049
- ```
1050
-
1051
- ## Common Patterns
1052
-
1053
- ### Pattern 1: Multi-Tier Web Application
1054
-
1055
- ```
1056
- ┌─────────────────────────────────────────────────┐
1057
- │ Internet Gateway │
1058
- └────────────────┬────────────────────────────────┘
1059
-
1060
- ┌────────────────▼────────────────────────────────┐
1061
- │ Public Subnet (Load Balancer) │
1062
- │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
1063
- │ │ LB-1 │ │ LB-2 │ │ Bastion │ │
1064
- │ └──────────┘ └──────────┘ └──────────┘ │
1065
- └────────────────┬────────────────────────────────┘
1066
-
1067
- ┌────────────────▼────────────────────────────────┐
1068
- │ Private Subnet (Application Tier) │
1069
- │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
1070
- │ │ App-1 │ │ App-2 │ │ App-3 │ │
1071
- │ └──────────┘ └──────────┘ └──────────┘ │
1072
- └────────────────┬────────────────────────────────┘
1073
-
1074
- ┌────────────────▼────────────────────────────────┐
1075
- │ Private Subnet (Database Tier) │
1076
- │ ┌───────────────────┐ │
1077
- │ │ Autonomous DB │ │
1078
- │ │ (Multi-AD) │ │
1079
- │ └───────────────────┘ │
1080
- └─────────────────────────────────────────────────┘
1081
- ```
1082
-
1083
- ### Pattern 2: Disaster Recovery with Cross-Region Replication
1084
-
1085
- ```hcl
1086
- # Primary region (Phoenix)
1087
- provider "oci" {
1088
- alias = "phoenix"
1089
- region = "us-phoenix-1"
1090
- }
1091
-
1092
- # DR region (Ashburn)
1093
- provider "oci" {
1094
- alias = "ashburn"
1095
- region = "us-ashburn-1"
1096
- }
1097
-
1098
- # Primary Autonomous Database
1099
- resource "oci_database_autonomous_database" "primary" {
1100
- provider = oci.phoenix
1101
- # ... configuration
1102
-
1103
- is_data_guard_enabled = true
1104
- }
1105
-
1106
- # Object Storage replication
1107
- resource "oci_objectstorage_replication_policy" "cross_region" {
1108
- bucket = oci_objectstorage_bucket.primary.name
1109
- namespace = data.oci_objectstorage_namespace.ns.namespace
1110
- name = "cross-region-replication"
1111
- destination_bucket_name = oci_objectstorage_bucket.dr.name
1112
- destination_region_name = "us-ashburn-1"
1113
- }
1114
- ```
1115
-
1116
- ## Best Practices
1117
-
1118
- ### Compartment Design
1119
-
1120
- 1. **Hierarchical Structure:**
1121
- - Root: Tenancy
1122
- - Level 1: Environment (prod, staging, dev)
1123
- - Level 2: Workload type (network, compute, database)
1124
- - Level 3: Application or service
1125
-
1126
- 2. **Least Privilege:**
1127
- - Use dynamic groups for instance principals
1128
- - Separate compartments for different security zones
1129
- - Regular policy reviews and audits
1130
-
1131
- ### High Availability
1132
-
1133
- 1. **Multi-AD Deployment:**
1134
- - Distribute resources across all availability domains
1135
- - Use fault domains within ADs
1136
- - Regional subnets for automatic failover
1137
-
1138
- 2. **Backup and Recovery:**
1139
- - Enable automatic backups for databases
1140
- - Use volume groups for consistent snapshots
1141
- - Test recovery procedures regularly
1142
-
1143
- ### Cost Optimization
1144
-
1145
- 1. **Right-Sizing:**
1146
- - Use flexible shapes for variable workloads
1147
- - Leverage auto-scaling
1148
- - Monitor resource utilization
1149
-
1150
- 2. **Reserved Capacity:**
1151
- - Purchase capacity reservations for steady workloads
1152
- - Use burstable instances for development
1153
-
1154
- 3. **Storage Tiering:**
1155
- - Move infrequently accessed data to lower tiers
1156
- - Enable auto-tiering for Object Storage
1157
- - Archive old backups
1158
-
1159
- ### Security
1160
-
1161
- 1. **Network Security:**
1162
- - Use Network Security Groups (NSGs) instead of Security Lists
1163
- - Implement micro-segmentation
1164
- - Enable VCN flow logs
1165
-
1166
- 2. **Encryption:**
1167
- - Enable encryption at rest for all data
1168
- - Use customer-managed keys in Vault
1169
- - Encrypt data in transit with TLS
1170
-
1171
- 3. **Identity Management:**
1172
- - Enable MFA for all users
1173
- - Use federation for SSO
1174
- - Regular access reviews
1175
-
1176
- ## Anti-Patterns
1177
-
1178
- ❌ **Single AD deployment** - No fault tolerance
1179
- ❌ **Overprovisioning** - Wasting capacity and cost
1180
- ❌ **Using Security Lists only** - Less granular than NSGs
1181
- ❌ **No tagging strategy** - Can't track costs or resources
1182
- ❌ **Manual infrastructure** - Use Resource Manager (Terraform)
1183
- ❌ **Ignoring backup policies** - Risk of data loss
1184
- ❌ **Exposing databases publicly** - Security risk
1185
- ❌ **No monitoring** - Can't detect issues proactively
1186
- ❌ **Weak IAM policies** - Too permissive access
1187
- ❌ **Ignoring service limits** - Plan for growth
1188
-
1189
- ## Related Resources
1190
-
1191
- - [OCI Documentation](https://docs.oracle.com/en-us/iaas/Content/home.htm)
1192
- - [OCI Terraform Provider](https://registry.terraform.io/providers/oracle/oci/latest/docs)
1193
- - [OCI Architecture Center](https://docs.oracle.com/solutions/)
1194
- - [OCI CLI Reference](https://docs.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/)
1195
-
1196
- ---
1197
-
1198
- **Note:** This guide covers Oracle Cloud Infrastructure patterns and best practices. For multi-cloud strategies including OCI, see [multi-cloud-strategies.md](multi-cloud-strategies.md).