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.
- package/CHANGELOG.md +82 -32
- package/README.en.md +427 -0
- package/README.md +40 -0
- package/backend/cli.js +1 -1
- package/backend/src/ai/plugin-assistant-system-prompt.md +725 -6
- package/backend/src/api/routes/aiAssistant.js +562 -103
- package/backend/src/api/routes/botUsers.js +30 -10
- package/backend/src/api/routes/bots.js +112 -21
- package/backend/src/api/routes/servers.js +14 -2
- package/backend/src/core/BotProcess.js +139 -7
- package/backend/src/core/GraphExecutionEngine.js +9 -2
- package/backend/src/core/PluginHooks.js +221 -0
- package/backend/src/core/PluginLoader.js +83 -3
- package/backend/src/core/PluginManager.js +85 -5
- package/backend/src/core/node-registries/container.js +162 -0
- package/backend/src/core/node-registries/furnace.js +143 -0
- package/backend/src/core/node-registries/inventory.js +181 -0
- package/backend/src/core/node-registries/navigation.js +111 -0
- package/backend/src/core/nodes/container/close.js +26 -0
- package/backend/src/core/nodes/container/deposit.js +88 -0
- package/backend/src/core/nodes/container/deposit_all.js +71 -0
- package/backend/src/core/nodes/container/find_item.js +77 -0
- package/backend/src/core/nodes/container/get_items.js +51 -0
- package/backend/src/core/nodes/container/open.js +111 -0
- package/backend/src/core/nodes/container/withdraw.js +91 -0
- package/backend/src/core/nodes/furnace/close.js +24 -0
- package/backend/src/core/nodes/furnace/get_status.js +74 -0
- package/backend/src/core/nodes/furnace/open.js +110 -0
- package/backend/src/core/nodes/furnace/put_fuel.js +64 -0
- package/backend/src/core/nodes/furnace/put_input.js +64 -0
- package/backend/src/core/nodes/furnace/take_output.js +69 -0
- package/backend/src/core/nodes/inventory/count_item.js +28 -0
- package/backend/src/core/nodes/inventory/drop.js +65 -0
- package/backend/src/core/nodes/inventory/equip.js +45 -0
- package/backend/src/core/nodes/inventory/find_item.js +55 -0
- package/backend/src/core/nodes/inventory/get_all.js +45 -0
- package/backend/src/core/nodes/inventory/get_held_item.js +63 -0
- package/backend/src/core/nodes/inventory/get_slot.js +46 -0
- package/backend/src/core/nodes/inventory/has_item.js +35 -0
- package/backend/src/core/nodes/inventory/select_slot.js +46 -0
- package/backend/src/core/nodes/navigation/follow.js +51 -0
- package/backend/src/core/nodes/navigation/go_to.js +53 -0
- package/backend/src/core/nodes/navigation/go_to_entity.js +69 -0
- package/backend/src/core/nodes/navigation/go_to_player.js +70 -0
- package/backend/src/core/nodes/navigation/stop.js +26 -0
- package/backend/src/core/services/BotLifecycleService.js +186 -2
- package/backend/src/core/services/MinecraftViewerService.js +2 -0
- package/backend/src/server.js +11 -1
- package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
- package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
- package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
- package/frontend/dist/flags/en.svg +32 -0
- package/frontend/dist/flags/ru.svg +5 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/locales/en/admin.json +100 -0
- package/frontend/dist/locales/en/api-keys.json +58 -0
- package/frontend/dist/locales/en/bots.json +110 -0
- package/frontend/dist/locales/en/common.json +47 -0
- package/frontend/dist/locales/en/configuration.json +22 -0
- package/frontend/dist/locales/en/console.json +10 -0
- package/frontend/dist/locales/en/dashboard.json +85 -0
- package/frontend/dist/locales/en/dialogs.json +70 -0
- package/frontend/dist/locales/en/event-graphs.json +50 -0
- package/frontend/dist/locales/en/graph-store.json +70 -0
- package/frontend/dist/locales/en/login.json +34 -0
- package/frontend/dist/locales/en/management.json +114 -0
- package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/en/nodes.json +1077 -0
- package/frontend/dist/locales/en/permissions.json +50 -0
- package/frontend/dist/locales/en/plugin-detail.json +49 -0
- package/frontend/dist/locales/en/plugins.json +110 -0
- package/frontend/dist/locales/en/proxies.json +81 -0
- package/frontend/dist/locales/en/servers.json +39 -0
- package/frontend/dist/locales/en/setup.json +17 -0
- package/frontend/dist/locales/en/sidebar.json +27 -0
- package/frontend/dist/locales/en/tasks.json +62 -0
- package/frontend/dist/locales/en/visual-editor.json +219 -0
- package/frontend/dist/locales/en/websocket.json +86 -0
- package/frontend/dist/locales/ru/admin.json +100 -0
- package/frontend/dist/locales/ru/api-keys.json +58 -0
- package/frontend/dist/locales/ru/bots.json +110 -0
- package/frontend/dist/locales/ru/common.json +49 -0
- package/frontend/dist/locales/ru/configuration.json +22 -0
- package/frontend/dist/locales/ru/console.json +10 -0
- package/frontend/dist/locales/ru/dashboard.json +85 -0
- package/frontend/dist/locales/ru/dialogs.json +70 -0
- package/frontend/dist/locales/ru/event-graphs.json +50 -0
- package/frontend/dist/locales/ru/graph-store.json +70 -0
- package/frontend/dist/locales/ru/login.json +34 -0
- package/frontend/dist/locales/ru/management.json +114 -0
- package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/ru/nodes.json +1077 -0
- package/frontend/dist/locales/ru/permissions.json +50 -0
- package/frontend/dist/locales/ru/plugin-detail.json +49 -0
- package/frontend/dist/locales/ru/plugins.json +110 -0
- package/frontend/dist/locales/ru/proxies.json +81 -0
- package/frontend/dist/locales/ru/servers.json +39 -0
- package/frontend/dist/locales/ru/setup.json +17 -0
- package/frontend/dist/locales/ru/sidebar.json +27 -0
- package/frontend/dist/locales/ru/tasks.json +62 -0
- package/frontend/dist/locales/ru/visual-editor.json +221 -0
- package/frontend/dist/locales/ru/websocket.json +86 -0
- package/frontend/dist/minecraft-assets/items/acacia_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/acacia_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/acacia_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/acacia_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/acacia_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/amethyst_shard.png +0 -0
- package/frontend/dist/minecraft-assets/items/angler_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/apple.png +0 -0
- package/frontend/dist/minecraft-assets/items/archer_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/armor_stand.png +0 -0
- package/frontend/dist/minecraft-assets/items/arms_up_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/arrow.png +0 -0
- package/frontend/dist/minecraft-assets/items/axolotl_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/baked_potato.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo_chest_raft.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo_raft.png +0 -0
- package/frontend/dist/minecraft-assets/items/bamboo_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/barrier.png +0 -0
- package/frontend/dist/minecraft-assets/items/beef.png +0 -0
- package/frontend/dist/minecraft-assets/items/beetroot.png +0 -0
- package/frontend/dist/minecraft-assets/items/beetroot_seeds.png +0 -0
- package/frontend/dist/minecraft-assets/items/beetroot_soup.png +0 -0
- package/frontend/dist/minecraft-assets/items/bell.png +0 -0
- package/frontend/dist/minecraft-assets/items/birch_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/birch_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/birch_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/birch_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/birch_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/black_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/black_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/blade_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/blaze_powder.png +0 -0
- package/frontend/dist/minecraft-assets/items/blaze_rod.png +0 -0
- package/frontend/dist/minecraft-assets/items/blue_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/blue_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/bone.png +0 -0
- package/frontend/dist/minecraft-assets/items/bone_meal.png +0 -0
- package/frontend/dist/minecraft-assets/items/book.png +0 -0
- package/frontend/dist/minecraft-assets/items/bow.png +0 -0
- package/frontend/dist/minecraft-assets/items/bow_pulling_0.png +0 -0
- package/frontend/dist/minecraft-assets/items/bow_pulling_1.png +0 -0
- package/frontend/dist/minecraft-assets/items/bow_pulling_2.png +0 -0
- package/frontend/dist/minecraft-assets/items/bowl.png +0 -0
- package/frontend/dist/minecraft-assets/items/bread.png +0 -0
- package/frontend/dist/minecraft-assets/items/brewer_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/brewing_stand.png +0 -0
- package/frontend/dist/minecraft-assets/items/brick.png +0 -0
- package/frontend/dist/minecraft-assets/items/broken_elytra.png +0 -0
- package/frontend/dist/minecraft-assets/items/brown_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/brown_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/brush.png +0 -0
- package/frontend/dist/minecraft-assets/items/bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/bundle.png +0 -0
- package/frontend/dist/minecraft-assets/items/bundle_filled.png +0 -0
- package/frontend/dist/minecraft-assets/items/burn_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/cake.png +0 -0
- package/frontend/dist/minecraft-assets/items/campfire.png +0 -0
- package/frontend/dist/minecraft-assets/items/candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/carrot.png +0 -0
- package/frontend/dist/minecraft-assets/items/carrot_on_a_stick.png +0 -0
- package/frontend/dist/minecraft-assets/items/cauldron.png +0 -0
- package/frontend/dist/minecraft-assets/items/chain.png +0 -0
- package/frontend/dist/minecraft-assets/items/chainmail_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/chainmail_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/chainmail_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/chainmail_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/charcoal.png +0 -0
- package/frontend/dist/minecraft-assets/items/cherry_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/cherry_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/cherry_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/cherry_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/cherry_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/chest_minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/chicken.png +0 -0
- package/frontend/dist/minecraft-assets/items/chorus_fruit.png +0 -0
- package/frontend/dist/minecraft-assets/items/clay_ball.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_00.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_01.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_02.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_03.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_04.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_05.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_06.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_07.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_08.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_09.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_10.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_11.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_12.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_13.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_14.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_15.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_16.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_17.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_18.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_19.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_20.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_21.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_22.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_23.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_24.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_25.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_26.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_27.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_28.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_29.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_30.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_31.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_32.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_33.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_34.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_35.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_36.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_37.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_38.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_39.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_40.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_41.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_42.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_43.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_44.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_45.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_46.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_47.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_48.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_49.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_50.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_51.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_52.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_53.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_54.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_55.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_56.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_57.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_58.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_59.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_60.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_61.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_62.png +0 -0
- package/frontend/dist/minecraft-assets/items/clock_63.png +0 -0
- package/frontend/dist/minecraft-assets/items/coal.png +0 -0
- package/frontend/dist/minecraft-assets/items/coast_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/cocoa_beans.png +0 -0
- package/frontend/dist/minecraft-assets/items/cod.png +0 -0
- package/frontend/dist/minecraft-assets/items/cod_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/command_block_minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/comparator.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_00.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_01.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_02.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_03.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_04.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_05.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_06.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_07.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_08.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_09.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_10.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_11.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_12.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_13.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_14.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_15.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_16.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_17.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_18.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_19.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_20.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_21.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_22.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_23.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_24.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_25.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_26.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_27.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_28.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_29.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_30.png +0 -0
- package/frontend/dist/minecraft-assets/items/compass_31.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_beef.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_chicken.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_cod.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_mutton.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_porkchop.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_rabbit.png +0 -0
- package/frontend/dist/minecraft-assets/items/cooked_salmon.png +0 -0
- package/frontend/dist/minecraft-assets/items/cookie.png +0 -0
- package/frontend/dist/minecraft-assets/items/copper_ingot.png +0 -0
- package/frontend/dist/minecraft-assets/items/creeper_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/crimson_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/crimson_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/crimson_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_arrow.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_firework.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_pulling_0.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_pulling_1.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_pulling_2.png +0 -0
- package/frontend/dist/minecraft-assets/items/crossbow_standby.png +0 -0
- package/frontend/dist/minecraft-assets/items/cyan_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/cyan_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/danger_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/dark_oak_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/dark_oak_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/dark_oak_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/dark_oak_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/dark_oak_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_horse_armor.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/diamond_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/disc_fragment_5.png +0 -0
- package/frontend/dist/minecraft-assets/items/dragon_breath.png +0 -0
- package/frontend/dist/minecraft-assets/items/dried_kelp.png +0 -0
- package/frontend/dist/minecraft-assets/items/dune_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/echo_shard.png +0 -0
- package/frontend/dist/minecraft-assets/items/egg.png +0 -0
- package/frontend/dist/minecraft-assets/items/elytra.png +0 -0
- package/frontend/dist/minecraft-assets/items/emerald.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_armor_slot_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_armor_slot_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_armor_slot_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_armor_slot_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_armor_slot_shield.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_amethyst_shard.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_diamond.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_emerald.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_ingot.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_lapis_lazuli.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_quartz.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_redstone_dust.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_armor_trim.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_smithing_template_netherite_upgrade.png +0 -0
- package/frontend/dist/minecraft-assets/items/empty_slot_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/enchanted_book.png +0 -0
- package/frontend/dist/minecraft-assets/items/end_crystal.png +0 -0
- package/frontend/dist/minecraft-assets/items/ender_eye.png +0 -0
- package/frontend/dist/minecraft-assets/items/ender_pearl.png +0 -0
- package/frontend/dist/minecraft-assets/items/experience_bottle.png +0 -0
- package/frontend/dist/minecraft-assets/items/explorer_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/eye_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/feather.png +0 -0
- package/frontend/dist/minecraft-assets/items/fermented_spider_eye.png +0 -0
- package/frontend/dist/minecraft-assets/items/filled_map.png +0 -0
- package/frontend/dist/minecraft-assets/items/filled_map_markings.png +0 -0
- package/frontend/dist/minecraft-assets/items/fire_charge.png +0 -0
- package/frontend/dist/minecraft-assets/items/firework_rocket.png +0 -0
- package/frontend/dist/minecraft-assets/items/firework_star.png +0 -0
- package/frontend/dist/minecraft-assets/items/firework_star_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/fishing_rod.png +0 -0
- package/frontend/dist/minecraft-assets/items/fishing_rod_cast.png +0 -0
- package/frontend/dist/minecraft-assets/items/flint.png +0 -0
- package/frontend/dist/minecraft-assets/items/flint_and_steel.png +0 -0
- package/frontend/dist/minecraft-assets/items/flower_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/flower_pot.png +0 -0
- package/frontend/dist/minecraft-assets/items/friend_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/furnace_minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/ghast_tear.png +0 -0
- package/frontend/dist/minecraft-assets/items/glass_bottle.png +0 -0
- package/frontend/dist/minecraft-assets/items/glistering_melon_slice.png +0 -0
- package/frontend/dist/minecraft-assets/items/globe_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/glow_berries.png +0 -0
- package/frontend/dist/minecraft-assets/items/glow_ink_sac.png +0 -0
- package/frontend/dist/minecraft-assets/items/glow_item_frame.png +0 -0
- package/frontend/dist/minecraft-assets/items/glowstone_dust.png +0 -0
- package/frontend/dist/minecraft-assets/items/goat_horn.png +0 -0
- package/frontend/dist/minecraft-assets/items/gold_ingot.png +0 -0
- package/frontend/dist/minecraft-assets/items/gold_nugget.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_apple.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_carrot.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_horse_armor.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/golden_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/gray_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/gray_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/green_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/green_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/gunpowder.png +0 -0
- package/frontend/dist/minecraft-assets/items/heart_of_the_sea.png +0 -0
- package/frontend/dist/minecraft-assets/items/heart_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/heartbreak_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/honey_bottle.png +0 -0
- package/frontend/dist/minecraft-assets/items/honeycomb.png +0 -0
- package/frontend/dist/minecraft-assets/items/hopper.png +0 -0
- package/frontend/dist/minecraft-assets/items/hopper_minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/host_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/howl_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/ink_sac.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_horse_armor.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_ingot.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_nugget.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/iron_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/item_frame.png +0 -0
- package/frontend/dist/minecraft-assets/items/jungle_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/jungle_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/jungle_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/jungle_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/jungle_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/kelp.png +0 -0
- package/frontend/dist/minecraft-assets/items/knowledge_book.png +0 -0
- package/frontend/dist/minecraft-assets/items/lantern.png +0 -0
- package/frontend/dist/minecraft-assets/items/lapis_lazuli.png +0 -0
- package/frontend/dist/minecraft-assets/items/lava_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/lead.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_boots_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_chestplate_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_helmet_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_horse_armor.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/leather_leggings_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/light.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_00.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_01.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_02.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_03.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_04.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_05.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_06.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_07.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_08.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_09.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_10.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_11.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_12.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_13.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_14.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_15.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_blue_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_blue_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_gray_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/light_gray_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/lime_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/lime_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/lingering_potion.png +0 -0
- package/frontend/dist/minecraft-assets/items/magenta_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/magenta_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/magma_cream.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_propagule.png +0 -0
- package/frontend/dist/minecraft-assets/items/mangrove_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/map.png +0 -0
- package/frontend/dist/minecraft-assets/items/melon_seeds.png +0 -0
- package/frontend/dist/minecraft-assets/items/melon_slice.png +0 -0
- package/frontend/dist/minecraft-assets/items/milk_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/miner_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/mojang_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/mourner_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/mushroom_stew.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_11.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_13.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_5.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_blocks.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_cat.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_chirp.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_far.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_mall.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_mellohi.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_otherside.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_pigstep.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_relic.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_stal.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_strad.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_wait.png +0 -0
- package/frontend/dist/minecraft-assets/items/music_disc_ward.png +0 -0
- package/frontend/dist/minecraft-assets/items/mutton.png +0 -0
- package/frontend/dist/minecraft-assets/items/name_tag.png +0 -0
- package/frontend/dist/minecraft-assets/items/nautilus_shell.png +0 -0
- package/frontend/dist/minecraft-assets/items/nether_brick.png +0 -0
- package/frontend/dist/minecraft-assets/items/nether_sprouts.png +0 -0
- package/frontend/dist/minecraft-assets/items/nether_star.png +0 -0
- package/frontend/dist/minecraft-assets/items/nether_wart.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_boots.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_chestplate.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_ingot.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_leggings.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_scrap.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/netherite_upgrade_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/oak_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/oak_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/oak_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/oak_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/oak_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/orange_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/orange_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/painting.png +0 -0
- package/frontend/dist/minecraft-assets/items/paper.png +0 -0
- package/frontend/dist/minecraft-assets/items/phantom_membrane.png +0 -0
- package/frontend/dist/minecraft-assets/items/piglin_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/pink_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/pink_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/pink_petals.png +0 -0
- package/frontend/dist/minecraft-assets/items/pitcher_plant.png +0 -0
- package/frontend/dist/minecraft-assets/items/pitcher_pod.png +0 -0
- package/frontend/dist/minecraft-assets/items/plenty_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/pointed_dripstone.png +0 -0
- package/frontend/dist/minecraft-assets/items/poisonous_potato.png +0 -0
- package/frontend/dist/minecraft-assets/items/popped_chorus_fruit.png +0 -0
- package/frontend/dist/minecraft-assets/items/porkchop.png +0 -0
- package/frontend/dist/minecraft-assets/items/potato.png +0 -0
- package/frontend/dist/minecraft-assets/items/potion.png +0 -0
- package/frontend/dist/minecraft-assets/items/potion_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/powder_snow_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/prismarine_crystals.png +0 -0
- package/frontend/dist/minecraft-assets/items/prismarine_shard.png +0 -0
- package/frontend/dist/minecraft-assets/items/prize_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/pufferfish.png +0 -0
- package/frontend/dist/minecraft-assets/items/pufferfish_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/pumpkin_pie.png +0 -0
- package/frontend/dist/minecraft-assets/items/pumpkin_seeds.png +0 -0
- package/frontend/dist/minecraft-assets/items/purple_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/purple_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/quartz.png +0 -0
- package/frontend/dist/minecraft-assets/items/rabbit.png +0 -0
- package/frontend/dist/minecraft-assets/items/rabbit_foot.png +0 -0
- package/frontend/dist/minecraft-assets/items/rabbit_hide.png +0 -0
- package/frontend/dist/minecraft-assets/items/rabbit_stew.png +0 -0
- package/frontend/dist/minecraft-assets/items/raiser_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/raw_copper.png +0 -0
- package/frontend/dist/minecraft-assets/items/raw_gold.png +0 -0
- package/frontend/dist/minecraft-assets/items/raw_iron.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_00.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_01.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_02.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_03.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_04.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_05.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_06.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_07.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_08.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_09.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_10.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_11.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_12.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_13.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_14.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_15.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_16.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_17.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_18.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_19.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_20.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_21.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_22.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_23.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_24.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_25.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_26.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_27.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_28.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_29.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_30.png +0 -0
- package/frontend/dist/minecraft-assets/items/recovery_compass_31.png +0 -0
- package/frontend/dist/minecraft-assets/items/red_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/red_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/redstone.png +0 -0
- package/frontend/dist/minecraft-assets/items/repeater.png +0 -0
- package/frontend/dist/minecraft-assets/items/rib_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/rotten_flesh.png +0 -0
- package/frontend/dist/minecraft-assets/items/saddle.png +0 -0
- package/frontend/dist/minecraft-assets/items/salmon.png +0 -0
- package/frontend/dist/minecraft-assets/items/salmon_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/scute.png +0 -0
- package/frontend/dist/minecraft-assets/items/sea_pickle.png +0 -0
- package/frontend/dist/minecraft-assets/items/seagrass.png +0 -0
- package/frontend/dist/minecraft-assets/items/sentry_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/shaper_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/sheaf_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/shears.png +0 -0
- package/frontend/dist/minecraft-assets/items/shelter_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/shulker_shell.png +0 -0
- package/frontend/dist/minecraft-assets/items/silence_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/skull_banner_pattern.png +0 -0
- package/frontend/dist/minecraft-assets/items/skull_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/slime_ball.png +0 -0
- package/frontend/dist/minecraft-assets/items/sniffer_egg.png +0 -0
- package/frontend/dist/minecraft-assets/items/snort_pottery_sherd.png +0 -0
- package/frontend/dist/minecraft-assets/items/snout_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/snowball.png +0 -0
- package/frontend/dist/minecraft-assets/items/soul_campfire.png +0 -0
- package/frontend/dist/minecraft-assets/items/soul_lantern.png +0 -0
- package/frontend/dist/minecraft-assets/items/spawn_egg.png +0 -0
- package/frontend/dist/minecraft-assets/items/spawn_egg_overlay.png +0 -0
- package/frontend/dist/minecraft-assets/items/spectral_arrow.png +0 -0
- package/frontend/dist/minecraft-assets/items/spider_eye.png +0 -0
- package/frontend/dist/minecraft-assets/items/spire_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/splash_potion.png +0 -0
- package/frontend/dist/minecraft-assets/items/spruce_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/spruce_chest_boat.png +0 -0
- package/frontend/dist/minecraft-assets/items/spruce_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/spruce_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/spruce_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/spyglass.png +0 -0
- package/frontend/dist/minecraft-assets/items/spyglass_model.png +0 -0
- package/frontend/dist/minecraft-assets/items/stick.png +0 -0
- package/frontend/dist/minecraft-assets/items/stone_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/stone_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/stone_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/stone_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/stone_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/string.png +0 -0
- package/frontend/dist/minecraft-assets/items/structure_void.png +0 -0
- package/frontend/dist/minecraft-assets/items/sugar.png +0 -0
- package/frontend/dist/minecraft-assets/items/sugar_cane.png +0 -0
- package/frontend/dist/minecraft-assets/items/suspicious_stew.png +0 -0
- package/frontend/dist/minecraft-assets/items/sweet_berries.png +0 -0
- package/frontend/dist/minecraft-assets/items/tadpole_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/tide_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/tipped_arrow_base.png +0 -0
- package/frontend/dist/minecraft-assets/items/tipped_arrow_head.png +0 -0
- package/frontend/dist/minecraft-assets/items/tnt_minecart.png +0 -0
- package/frontend/dist/minecraft-assets/items/torchflower_seeds.png +0 -0
- package/frontend/dist/minecraft-assets/items/totem_of_undying.png +0 -0
- package/frontend/dist/minecraft-assets/items/trident.png +0 -0
- package/frontend/dist/minecraft-assets/items/tropical_fish.png +0 -0
- package/frontend/dist/minecraft-assets/items/tropical_fish_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/turtle_egg.png +0 -0
- package/frontend/dist/minecraft-assets/items/turtle_helmet.png +0 -0
- package/frontend/dist/minecraft-assets/items/vex_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/ward_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/warped_door.png +0 -0
- package/frontend/dist/minecraft-assets/items/warped_fungus_on_a_stick.png +0 -0
- package/frontend/dist/minecraft-assets/items/warped_hanging_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/warped_sign.png +0 -0
- package/frontend/dist/minecraft-assets/items/water_bucket.png +0 -0
- package/frontend/dist/minecraft-assets/items/wayfinder_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/wheat.png +0 -0
- package/frontend/dist/minecraft-assets/items/wheat_seeds.png +0 -0
- package/frontend/dist/minecraft-assets/items/white_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/white_dye.png +0 -0
- package/frontend/dist/minecraft-assets/items/wild_armor_trim_smithing_template.png +0 -0
- package/frontend/dist/minecraft-assets/items/wooden_axe.png +0 -0
- package/frontend/dist/minecraft-assets/items/wooden_hoe.png +0 -0
- package/frontend/dist/minecraft-assets/items/wooden_pickaxe.png +0 -0
- package/frontend/dist/minecraft-assets/items/wooden_shovel.png +0 -0
- package/frontend/dist/minecraft-assets/items/wooden_sword.png +0 -0
- package/frontend/dist/minecraft-assets/items/writable_book.png +0 -0
- package/frontend/dist/minecraft-assets/items/written_book.png +0 -0
- package/frontend/dist/minecraft-assets/items/yellow_candle.png +0 -0
- package/frontend/dist/minecraft-assets/items/yellow_dye.png +0 -0
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
- package/frontend/package.json +4 -0
- package/package.json +1 -1
- package/screen/3dviewer.png +0 -0
- package/screen/console.png +0 -0
- package/screen/language_selector.png +0 -0
- package/.claude/agents/README.md +0 -469
- package/.claude/agents/auth-route-debugger.md +0 -118
- package/.claude/agents/auth-route-tester.md +0 -93
- package/.claude/agents/auto-error-resolver.md +0 -97
- package/.claude/agents/build-optimizer.md +0 -236
- package/.claude/agents/code-architect.md +0 -34
- package/.claude/agents/code-architecture-reviewer.md +0 -83
- package/.claude/agents/code-explorer.md +0 -51
- package/.claude/agents/code-refactor-master.md +0 -94
- package/.claude/agents/code-reviewer.md +0 -46
- package/.claude/agents/cost-optimizer.md +0 -134
- package/.claude/agents/deployment-orchestrator.md +0 -113
- package/.claude/agents/documentation-architect.md +0 -82
- package/.claude/agents/frontend-error-fixer.md +0 -77
- package/.claude/agents/iac-code-generator.md +0 -71
- package/.claude/agents/incident-responder.md +0 -346
- package/.claude/agents/infrastructure-architect.md +0 -31
- package/.claude/agents/kubernetes-specialist.md +0 -56
- package/.claude/agents/migration-planner.md +0 -181
- package/.claude/agents/network-architect.md +0 -196
- package/.claude/agents/plan-reviewer.md +0 -52
- package/.claude/agents/refactor-planner.md +0 -63
- package/.claude/agents/security-scanner.md +0 -102
- package/.claude/agents/web-research-specialist.md +0 -78
- package/.claude/commands/cost-analysis.md +0 -315
- package/.claude/commands/dev-docs-update.md +0 -55
- package/.claude/commands/dev-docs.md +0 -51
- package/.claude/commands/feature-dev.md +0 -125
- package/.claude/commands/incident-debug.md +0 -247
- package/.claude/commands/infra-plan.md +0 -81
- package/.claude/commands/migration-plan.md +0 -478
- package/.claude/commands/route-research-for-testing.md +0 -37
- package/.claude/commands/security-review.md +0 -66
- package/.claude/hooks/CONFIG.md +0 -448
- package/.claude/hooks/README.md +0 -163
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
- package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
- package/.claude/hooks/add-skill-activation-banners.ts +0 -132
- package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -222
- package/.claude/hooks/k8s-manifest-validator.sh +0 -56
- package/.claude/hooks/package-lock.json +0 -556
- package/.claude/hooks/package.json +0 -16
- package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
- package/.claude/hooks/post-tool-use-tracker.sh +0 -183
- package/.claude/hooks/security-policy-check.sh +0 -247
- package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
- package/.claude/hooks/skill-activation-prompt.sh +0 -10
- package/.claude/hooks/skill-activation-prompt.ts +0 -141
- package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
- package/.claude/hooks/terraform-validator.sh +0 -53
- package/.claude/hooks/test-input.json +0 -7
- package/.claude/hooks/test-skill-activation.ts +0 -427
- package/.claude/hooks/trigger-build-resolver.sh +0 -79
- package/.claude/hooks/tsc-check.sh +0 -173
- package/.claude/hooks/tsconfig.json +0 -19
- package/.claude/settings.json +0 -59
- package/.claude/settings.local.json +0 -47
- package/.claude/skills/README.md +0 -507
- package/.claude/skills/api-engineering/SKILL.md +0 -63
- package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
- package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
- package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
- package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
- package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
- package/.claude/skills/build-engineering/SKILL.md +0 -431
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
- package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
- package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
- package/.claude/skills/build-engineering/resources/build-security.md +0 -95
- package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
- package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
- package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
- package/.claude/skills/cloud-engineering/SKILL.md +0 -675
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
- package/.claude/skills/cybersecurity/SKILL.md +0 -409
- package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
- package/.claude/skills/database-engineering/SKILL.md +0 -61
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
- package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
- package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
- package/.claude/skills/devsecops/SKILL.md +0 -374
- package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
- package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
- package/.claude/skills/devsecops/resources/container-security.md +0 -915
- package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
- package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
- package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
- package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
- package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
- package/.claude/skills/devsecops/resources/security-testing.md +0 -203
- package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
- package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
- package/.claude/skills/documentation-as-code/SKILL.md +0 -323
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
- package/.claude/skills/engineering-management/SKILL.md +0 -356
- package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
- package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
- package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
- package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
- package/.claude/skills/error-tracking/SKILL.md +0 -379
- package/.claude/skills/frontend-design/SKILL.md +0 -42
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
- package/.claude/skills/general-it-engineering/SKILL.md +0 -393
- package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
- package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
- package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
- package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
- package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
- package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
- package/.claude/skills/network-engineering/SKILL.md +0 -385
- package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
- package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
- package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
- package/.claude/skills/network-engineering/resources/network-security.md +0 -921
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
- package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
- package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
- package/.claude/skills/observability-engineering/SKILL.md +0 -101
- package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
- package/.claude/skills/platform-engineering/SKILL.md +0 -555
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
- package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
- package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
- package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
- package/.claude/skills/release-engineering/SKILL.md +0 -393
- package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
- package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
- package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
- package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
- package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
- package/.claude/skills/route-tester/SKILL.md +0 -392
- package/.claude/skills/skill-developer/ADVANCED.md +0 -197
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
- package/.claude/skills/skill-developer/SKILL.md +0 -430
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
- package/.claude/skills/skill-rules.json +0 -2940
- package/.claude/skills/sre/SKILL.md +0 -464
- package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
- package/.claude/skills/sre/resources/capacity-planning.md +0 -226
- package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
- package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
- package/.claude/skills/sre/resources/incident-management.md +0 -436
- package/.claude/skills/sre/resources/observability-stack.md +0 -240
- package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
- package/.claude/skills/sre/resources/performance-optimization.md +0 -108
- package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
- package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
- package/.claude/skills/sre/resources/toil-reduction.md +0 -145
- package/.claude/skills/systems-engineering/SKILL.md +0 -648
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
- package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
- package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
- package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
- package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
- package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
- package/.claude/skills/technical-leadership/SKILL.md +0 -728
- package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
- package/frontend/dist/assets/index-DqzDkFsP.js +0 -11210
- package/frontend/dist/assets/index-t6K1u4OV.css +0 -32
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Database Engineering
|
|
2
|
-
|
|
3
|
-
Guide to PostgreSQL/MySQL administration, query optimization, indexing, replication, and database best practices.
|
|
4
|
-
|
|
5
|
-
**Note:** This is a foundational version. Community contributions welcome to expand coverage!
|
|
6
|
-
|
|
7
|
-
## Purpose
|
|
8
|
-
|
|
9
|
-
Enable teams to effectively manage, optimize, and scale relational databases.
|
|
10
|
-
|
|
11
|
-
## When to Use This Skill
|
|
12
|
-
|
|
13
|
-
Automatically activates when working on:
|
|
14
|
-
- Database administration
|
|
15
|
-
- Query optimization and EXPLAIN plans
|
|
16
|
-
- Index design and tuning
|
|
17
|
-
- Database replication setup
|
|
18
|
-
- Backup and restore procedures
|
|
19
|
-
- Database migrations
|
|
20
|
-
- PostgreSQL or MySQL configuration
|
|
21
|
-
|
|
22
|
-
## Quick Start Checklist
|
|
23
|
-
|
|
24
|
-
- [ ] Set up database monitoring
|
|
25
|
-
- [ ] Configure automated backups
|
|
26
|
-
- [ ] Create indexes for slow queries
|
|
27
|
-
- [ ] Set up replication (if needed)
|
|
28
|
-
- [ ] Configure connection pooling
|
|
29
|
-
- [ ] Review query performance regularly
|
|
30
|
-
- [ ] Plan migration strategy
|
|
31
|
-
|
|
32
|
-
## Resource Files
|
|
33
|
-
|
|
34
|
-
- **[postgresql-fundamentals.md](resources/postgresql-fundamentals.md)** - PostgreSQL basics, configuration, extensions
|
|
35
|
-
- **[query-optimization.md](resources/query-optimization.md)** - EXPLAIN, indexing strategies, query tuning
|
|
36
|
-
- **[database-replication.md](resources/database-replication.md)** - Streaming, logical replication, conflict resolution
|
|
37
|
-
- **[backup-and-recovery.md](resources/backup-and-recovery.md)** - pg_dump, point-in-time recovery, backup strategies
|
|
38
|
-
|
|
39
|
-
## Best Practices
|
|
40
|
-
|
|
41
|
-
✅ Monitor slow queries
|
|
42
|
-
✅ Index strategically
|
|
43
|
-
✅ Use connection pooling
|
|
44
|
-
✅ Regular backups with testing
|
|
45
|
-
✅ Replication for high availability
|
|
46
|
-
✅ Optimize for read vs write patterns
|
|
47
|
-
|
|
48
|
-
## Integration Points
|
|
49
|
-
|
|
50
|
-
- **backend-dev-guidelines**: ORM usage (Prisma)
|
|
51
|
-
- **sre**: Database monitoring
|
|
52
|
-
- **cloud-engineering**: Managed databases (RDS, Aurora)
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
56
|
-
🎯 SKILL ACTIVATED: database-engineering
|
|
57
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
**Total Resources:** 4 foundational guides (community can expand!)
|
|
61
|
-
**Status:** Basic coverage - contributions welcome
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Backup and Recovery
|
|
2
|
-
|
|
3
|
-
Guide to PostgreSQL backup strategies and disaster recovery procedures.
|
|
4
|
-
|
|
5
|
-
## pg_dump (Logical Backup)
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Full database backup
|
|
9
|
-
pg_dump -h localhost -U postgres myapp > backup.sql
|
|
10
|
-
|
|
11
|
-
# Compressed backup
|
|
12
|
-
pg_dump -h localhost -U postgres myapp | gzip > backup.sql.gz
|
|
13
|
-
|
|
14
|
-
# Restore
|
|
15
|
-
psql -h localhost -U postgres myapp < backup.sql
|
|
16
|
-
|
|
17
|
-
# Backup specific tables
|
|
18
|
-
pg_dump -h localhost -U postgres -t users -t orders myapp > tables_backup.sql
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Automated Backups
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
#!/bin/bash
|
|
25
|
-
# daily-backup.sh
|
|
26
|
-
|
|
27
|
-
DATE=$(date +%Y-%m-%d)
|
|
28
|
-
BACKUP_DIR="/backups"
|
|
29
|
-
DATABASE="myapp"
|
|
30
|
-
|
|
31
|
-
# Create backup
|
|
32
|
-
pg_dump -h localhost -U postgres $DATABASE | gzip > "$BACKUP_DIR/backup-$DATE.sql.gz"
|
|
33
|
-
|
|
34
|
-
# Delete backups older than 30 days
|
|
35
|
-
find $BACKUP_DIR -name "backup-*.sql.gz" -mtime +30 -delete
|
|
36
|
-
|
|
37
|
-
# Upload to S3
|
|
38
|
-
aws s3 cp "$BACKUP_DIR/backup-$DATE.sql.gz" s3://my-backups/
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Point-in-Time Recovery
|
|
42
|
-
|
|
43
|
-
```ini
|
|
44
|
-
# postgresql.conf
|
|
45
|
-
wal_level = replica
|
|
46
|
-
archive_mode = on
|
|
47
|
-
archive_command = 'cp %p /archive/%f'
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Restore to specific point in time
|
|
52
|
-
pg_basebackup -D /var/lib/postgresql/data
|
|
53
|
-
|
|
54
|
-
# recovery.conf
|
|
55
|
-
restore_command = 'cp /archive/%f %p'
|
|
56
|
-
recovery_target_time = '2024-01-15 14:30:00'
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Best Practices
|
|
60
|
-
|
|
61
|
-
✅ Automated daily backups
|
|
62
|
-
✅ Test restore procedure regularly
|
|
63
|
-
✅ Store backups off-site (S3, etc.)
|
|
64
|
-
✅ Retain backups for 30+ days
|
|
65
|
-
✅ Monitor backup success
|
|
66
|
-
✅ Document recovery procedures
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
**Related Resources:**
|
|
71
|
-
- postgresql-fundamentals.md - PostgreSQL basics
|
|
72
|
-
- database-replication.md - Replication for HA
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Database Replication
|
|
2
|
-
|
|
3
|
-
Guide to setting up PostgreSQL replication for high availability and read scaling.
|
|
4
|
-
|
|
5
|
-
## Streaming Replication
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Primary server
|
|
9
|
-
# postgresql.conf
|
|
10
|
-
wal_level = replica
|
|
11
|
-
max_wal_senders = 3
|
|
12
|
-
|
|
13
|
-
# Replica server
|
|
14
|
-
# Create replication slot on primary
|
|
15
|
-
SELECT * FROM pg_create_physical_replication_slot('replica_1');
|
|
16
|
-
|
|
17
|
-
# Start replica
|
|
18
|
-
pg_basebackup -h primary -D /var/lib/postgresql/data -U replicator -v -P
|
|
19
|
-
|
|
20
|
-
# standby.signal file indicates replica mode
|
|
21
|
-
touch /var/lib/postgresql/data/standby.signal
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Read Replicas
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
// Application code
|
|
28
|
-
import { PrismaClient } from '@prisma/client';
|
|
29
|
-
|
|
30
|
-
const primary = new PrismaClient({
|
|
31
|
-
datasources: { db: { url: process.env.DATABASE_PRIMARY_URL } }
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const replica = new PrismaClient({
|
|
35
|
-
datasources: { db: { url: process.env.DATABASE_REPLICA_URL } }
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
// Writes go to primary
|
|
39
|
-
await primary.users.create({ data: { email: 'user@example.com' } });
|
|
40
|
-
|
|
41
|
-
// Reads can use replica
|
|
42
|
-
const users = await replica.users.findMany();
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Monitoring Replication
|
|
46
|
-
|
|
47
|
-
```sql
|
|
48
|
-
-- Check replication lag
|
|
49
|
-
SELECT
|
|
50
|
-
client_addr,
|
|
51
|
-
state,
|
|
52
|
-
sent_lsn,
|
|
53
|
-
write_lsn,
|
|
54
|
-
replay_lsn,
|
|
55
|
-
sync_state
|
|
56
|
-
FROM pg_stat_replication;
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
**Related Resources:**
|
|
62
|
-
- postgresql-fundamentals.md - PostgreSQL basics
|
|
63
|
-
- backup-and-recovery.md - Backup strategies
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# PostgreSQL Fundamentals
|
|
2
|
-
|
|
3
|
-
Basic PostgreSQL administration, configuration, and common operations.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Docker
|
|
9
|
-
docker run --name postgres \
|
|
10
|
-
-e POSTGRES_PASSWORD=mysecretpassword \
|
|
11
|
-
-p 5432:5432 \
|
|
12
|
-
-d postgres:15
|
|
13
|
-
|
|
14
|
-
# Connect
|
|
15
|
-
psql -h localhost -U postgres
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Common Operations
|
|
19
|
-
|
|
20
|
-
```sql
|
|
21
|
-
-- Create database
|
|
22
|
-
CREATE DATABASE myapp;
|
|
23
|
-
|
|
24
|
-
-- Create user
|
|
25
|
-
CREATE USER myapp_user WITH PASSWORD 'secure_password';
|
|
26
|
-
GRANT ALL PRIVILEGES ON DATABASE myapp TO myapp_user;
|
|
27
|
-
|
|
28
|
-
-- Create table
|
|
29
|
-
CREATE TABLE users (
|
|
30
|
-
id SERIAL PRIMARY KEY,
|
|
31
|
-
email VARCHAR(255) UNIQUE NOT NULL,
|
|
32
|
-
created_at TIMESTAMP DEFAULT NOW()
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
-- Create index
|
|
36
|
-
CREATE INDEX idx_users_email ON users(email);
|
|
37
|
-
|
|
38
|
-
-- Vacuum (cleanup)
|
|
39
|
-
VACUUM ANALYZE users;
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Configuration
|
|
43
|
-
|
|
44
|
-
```ini
|
|
45
|
-
# postgresql.conf
|
|
46
|
-
max_connections = 100
|
|
47
|
-
shared_buffers = 256MB
|
|
48
|
-
effective_cache_size = 1GB
|
|
49
|
-
maintenance_work_mem = 64MB
|
|
50
|
-
work_mem = 4MB
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Extensions
|
|
54
|
-
|
|
55
|
-
```sql
|
|
56
|
-
-- Enable UUID
|
|
57
|
-
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
58
|
-
|
|
59
|
-
-- Full-text search
|
|
60
|
-
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
|
61
|
-
|
|
62
|
-
-- PostGIS (geospatial)
|
|
63
|
-
CREATE EXTENSION IF NOT EXISTS postgis;
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
**Related Resources:**
|
|
69
|
-
- query-optimization.md - Performance tuning
|
|
70
|
-
- backup-and-recovery.md - Data protection
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Query Optimization
|
|
2
|
-
|
|
3
|
-
Guide to optimizing database queries with EXPLAIN, indexing, and query tuning.
|
|
4
|
-
|
|
5
|
-
## EXPLAIN ANALYZE
|
|
6
|
-
|
|
7
|
-
```sql
|
|
8
|
-
-- See query plan
|
|
9
|
-
EXPLAIN ANALYZE
|
|
10
|
-
SELECT * FROM users
|
|
11
|
-
WHERE email = 'user@example.com';
|
|
12
|
-
|
|
13
|
-
-- Output shows:
|
|
14
|
-
-- Seq Scan on users (cost=0.00..1.25 rows=1) (actual time=0.025..0.026 rows=1)
|
|
15
|
-
-- Filter: (email = 'user@example.com')
|
|
16
|
-
|
|
17
|
-
-- After adding index:
|
|
18
|
-
-- Index Scan using idx_users_email (cost=0.15..8.17 rows=1) (actual time=0.010..0.011 rows=1)
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Index Strategies
|
|
22
|
-
|
|
23
|
-
```sql
|
|
24
|
-
-- Single column index
|
|
25
|
-
CREATE INDEX idx_users_email ON users(email);
|
|
26
|
-
|
|
27
|
-
-- Composite index
|
|
28
|
-
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at);
|
|
29
|
-
|
|
30
|
-
-- Partial index
|
|
31
|
-
CREATE INDEX idx_active_users ON users(email)
|
|
32
|
-
WHERE is_active = true;
|
|
33
|
-
|
|
34
|
-
-- GIN index for JSON
|
|
35
|
-
CREATE INDEX idx_metadata ON users USING GIN (metadata);
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Query Tuning
|
|
39
|
-
|
|
40
|
-
```sql
|
|
41
|
-
-- ❌ Bad: SELECT *
|
|
42
|
-
SELECT * FROM orders WHERE user_id = 123;
|
|
43
|
-
|
|
44
|
-
-- ✅ Good: Select only needed columns
|
|
45
|
-
SELECT id, total, created_at FROM orders WHERE user_id = 123;
|
|
46
|
-
|
|
47
|
-
-- ❌ Bad: N+1 queries
|
|
48
|
-
SELECT * FROM users;
|
|
49
|
-
-- Then for each user: SELECT * FROM orders WHERE user_id = ?
|
|
50
|
-
|
|
51
|
-
-- ✅ Good: JOIN
|
|
52
|
-
SELECT u.*, o.* FROM users u
|
|
53
|
-
LEFT JOIN orders o ON o.user_id = u.id;
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Best Practices
|
|
57
|
-
|
|
58
|
-
✅ Use EXPLAIN ANALYZE for slow queries
|
|
59
|
-
✅ Index foreign keys
|
|
60
|
-
✅ Avoid SELECT *
|
|
61
|
-
✅ Use LIMIT for large result sets
|
|
62
|
-
✅ Consider query caching
|
|
63
|
-
✅ Monitor slow query logs
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
**Related Resources:**
|
|
68
|
-
- postgresql-fundamentals.md - Database basics
|
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
# DevSecOps - Security Integration in Development
|
|
2
|
-
|
|
3
|
-
Comprehensive guide for integrating security throughout the software development lifecycle. Covers security scanning (SAST, DAST, SCA), container security, secrets management, compliance as code, policy enforcement, vulnerability management, and shift-left security practices.
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
Enable teams to build secure applications by integrating security practices into every phase of development, from code commit to production deployment.
|
|
8
|
-
|
|
9
|
-
## When to Use This Skill
|
|
10
|
-
|
|
11
|
-
Automatically activates when working on:
|
|
12
|
-
- Security scanning and vulnerability assessment
|
|
13
|
-
- Container and image security
|
|
14
|
-
- Secrets management and encryption
|
|
15
|
-
- Policy enforcement and compliance
|
|
16
|
-
- Security automation in CI/CD
|
|
17
|
-
- Threat modeling and security architecture
|
|
18
|
-
- Incident response and security monitoring
|
|
19
|
-
|
|
20
|
-
## Quick Start Checklist
|
|
21
|
-
|
|
22
|
-
When implementing DevSecOps practices:
|
|
23
|
-
|
|
24
|
-
- [ ] Integrate SAST/DAST scanning in CI/CD pipeline
|
|
25
|
-
- [ ] Implement container image scanning
|
|
26
|
-
- [ ] Set up secrets management (never commit secrets)
|
|
27
|
-
- [ ] Define security policies as code (OPA, Kyverno)
|
|
28
|
-
- [ ] Enable dependency scanning (SCA)
|
|
29
|
-
- [ ] Implement runtime security monitoring
|
|
30
|
-
- [ ] Configure security gates in deployment pipeline
|
|
31
|
-
- [ ] Document security requirements and controls
|
|
32
|
-
- [ ] Set up security alerting and incident response
|
|
33
|
-
- [ ] Conduct regular security reviews
|
|
34
|
-
|
|
35
|
-
## Core Concepts
|
|
36
|
-
|
|
37
|
-
### Shift-Left Security
|
|
38
|
-
|
|
39
|
-
**Traditional (Security at End):**
|
|
40
|
-
```
|
|
41
|
-
Develop → Build → Test → Security Review → Deploy
|
|
42
|
-
↑
|
|
43
|
-
Found Issues Late!
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**DevSecOps (Security Throughout):**
|
|
47
|
-
```
|
|
48
|
-
Develop (IDE security) →
|
|
49
|
-
Build (SAST, secrets scan) →
|
|
50
|
-
Test (DAST, dependency scan) →
|
|
51
|
-
Deploy (policy enforcement, runtime protection)
|
|
52
|
-
↓
|
|
53
|
-
Continuous Security Monitoring
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Security as Code
|
|
57
|
-
|
|
58
|
-
```yaml
|
|
59
|
-
# Security policies defined as code
|
|
60
|
-
apiVersion: kyverno.io/v1
|
|
61
|
-
kind: ClusterPolicy
|
|
62
|
-
metadata:
|
|
63
|
-
name: security-baseline
|
|
64
|
-
spec:
|
|
65
|
-
validationFailureAction: enforce
|
|
66
|
-
rules:
|
|
67
|
-
- name: no-privileged-containers
|
|
68
|
-
match:
|
|
69
|
-
resources:
|
|
70
|
-
kinds:
|
|
71
|
-
- Pod
|
|
72
|
-
validate:
|
|
73
|
-
message: "Privileged containers not allowed"
|
|
74
|
-
pattern:
|
|
75
|
-
spec:
|
|
76
|
-
containers:
|
|
77
|
-
- securityContext:
|
|
78
|
-
privileged: false
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Security Scanning Types
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
SAST (Static Application Security Testing):
|
|
85
|
-
- Analyzes source code
|
|
86
|
-
- Finds coding vulnerabilities
|
|
87
|
-
- Tools: SonarQube, Semgrep, CodeQL
|
|
88
|
-
|
|
89
|
-
DAST (Dynamic Application Security Testing):
|
|
90
|
-
- Tests running application
|
|
91
|
-
- Finds runtime vulnerabilities
|
|
92
|
-
- Tools: OWASP ZAP, Burp Suite
|
|
93
|
-
|
|
94
|
-
SCA (Software Composition Analysis):
|
|
95
|
-
- Scans dependencies
|
|
96
|
-
- Finds known vulnerabilities
|
|
97
|
-
- Tools: Snyk, Dependabot, Trivy
|
|
98
|
-
|
|
99
|
-
Container Security:
|
|
100
|
-
- Scans container images
|
|
101
|
-
- Base image vulnerabilities
|
|
102
|
-
- Tools: Trivy, Grype, Clair
|
|
103
|
-
|
|
104
|
-
Secrets Scanning:
|
|
105
|
-
- Detects hardcoded secrets
|
|
106
|
-
- Prevents secret leaks
|
|
107
|
-
- Tools: GitGuardian, TruffleHog
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Common Patterns
|
|
111
|
-
|
|
112
|
-
### Pattern 1: CI/CD Security Pipeline
|
|
113
|
-
|
|
114
|
-
```yaml
|
|
115
|
-
# .github/workflows/security.yaml
|
|
116
|
-
name: Security Scan
|
|
117
|
-
|
|
118
|
-
on: [push, pull_request]
|
|
119
|
-
|
|
120
|
-
jobs:
|
|
121
|
-
secret-scan:
|
|
122
|
-
runs-on: ubuntu-latest
|
|
123
|
-
steps:
|
|
124
|
-
- uses: actions/checkout@v3
|
|
125
|
-
with:
|
|
126
|
-
fetch-depth: 0
|
|
127
|
-
|
|
128
|
-
- name: TruffleHog Secret Scan
|
|
129
|
-
uses: trufflesecurity/trufflehog@main
|
|
130
|
-
with:
|
|
131
|
-
path: ./
|
|
132
|
-
base: main
|
|
133
|
-
head: HEAD
|
|
134
|
-
|
|
135
|
-
sast:
|
|
136
|
-
runs-on: ubuntu-latest
|
|
137
|
-
steps:
|
|
138
|
-
- uses: actions/checkout@v3
|
|
139
|
-
|
|
140
|
-
- name: Run Semgrep
|
|
141
|
-
uses: returntocorp/semgrep-action@v1
|
|
142
|
-
with:
|
|
143
|
-
config: >-
|
|
144
|
-
p/security-audit
|
|
145
|
-
p/secrets
|
|
146
|
-
p/owasp-top-ten
|
|
147
|
-
|
|
148
|
-
dependency-scan:
|
|
149
|
-
runs-on: ubuntu-latest
|
|
150
|
-
steps:
|
|
151
|
-
- uses: actions/checkout@v3
|
|
152
|
-
|
|
153
|
-
- name: Run Snyk
|
|
154
|
-
uses: snyk/actions/node@master
|
|
155
|
-
env:
|
|
156
|
-
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
|
157
|
-
with:
|
|
158
|
-
args: --severity-threshold=high
|
|
159
|
-
|
|
160
|
-
container-scan:
|
|
161
|
-
runs-on: ubuntu-latest
|
|
162
|
-
steps:
|
|
163
|
-
- uses: actions/checkout@v3
|
|
164
|
-
|
|
165
|
-
- name: Build image
|
|
166
|
-
run: docker build -t ${{ github.repository }}:${{ github.sha }} .
|
|
167
|
-
|
|
168
|
-
- name: Run Trivy
|
|
169
|
-
uses: aquasecurity/trivy-action@master
|
|
170
|
-
with:
|
|
171
|
-
image-ref: ${{ github.repository }}:${{ github.sha }}
|
|
172
|
-
format: 'sarif'
|
|
173
|
-
severity: 'CRITICAL,HIGH'
|
|
174
|
-
exit-code: '1'
|
|
175
|
-
|
|
176
|
-
security-gate:
|
|
177
|
-
needs: [secret-scan, sast, dependency-scan, container-scan]
|
|
178
|
-
runs-on: ubuntu-latest
|
|
179
|
-
steps:
|
|
180
|
-
- name: Security gate passed
|
|
181
|
-
run: echo "All security checks passed"
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### Pattern 2: Policy as Code
|
|
185
|
-
|
|
186
|
-
```yaml
|
|
187
|
-
# OPA/Gatekeeper policy
|
|
188
|
-
apiVersion: templates.gatekeeper.sh/v1
|
|
189
|
-
kind: ConstraintTemplate
|
|
190
|
-
metadata:
|
|
191
|
-
name: k8sblockprivileged
|
|
192
|
-
spec:
|
|
193
|
-
crd:
|
|
194
|
-
spec:
|
|
195
|
-
names:
|
|
196
|
-
kind: K8sBlockPrivileged
|
|
197
|
-
targets:
|
|
198
|
-
- target: admission.k8s.gatekeeper.sh
|
|
199
|
-
rego: |
|
|
200
|
-
package k8sblockprivileged
|
|
201
|
-
|
|
202
|
-
violation[{"msg": msg}] {
|
|
203
|
-
container := input.review.object.spec.containers[_]
|
|
204
|
-
container.securityContext.privileged
|
|
205
|
-
msg := sprintf("Privileged container not allowed: %v", [container.name])
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Pattern 3: Secrets Management
|
|
210
|
-
|
|
211
|
-
```yaml
|
|
212
|
-
# External Secrets Operator
|
|
213
|
-
apiVersion: external-secrets.io/v1beta1
|
|
214
|
-
kind: ExternalSecret
|
|
215
|
-
metadata:
|
|
216
|
-
name: app-secrets
|
|
217
|
-
spec:
|
|
218
|
-
refreshInterval: 1h
|
|
219
|
-
secretStoreRef:
|
|
220
|
-
name: vault-backend
|
|
221
|
-
kind: SecretStore
|
|
222
|
-
target:
|
|
223
|
-
name: app-secrets
|
|
224
|
-
data:
|
|
225
|
-
- secretKey: api-key
|
|
226
|
-
remoteRef:
|
|
227
|
-
key: secret/data/app
|
|
228
|
-
property: api-key
|
|
229
|
-
- secretKey: db-password
|
|
230
|
-
remoteRef:
|
|
231
|
-
key: secret/data/database
|
|
232
|
-
property: password
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Resource Files
|
|
236
|
-
|
|
237
|
-
For detailed guidance on specific topics, see:
|
|
238
|
-
|
|
239
|
-
### Security Scanning & Testing
|
|
240
|
-
- **[security-scanning.md](resources/security-scanning.md)** - SAST, DAST, SCA implementation, tool comparisons, CI/CD integration
|
|
241
|
-
- **[container-security.md](resources/container-security.md)** - Image scanning, base image selection, vulnerability remediation, registry security
|
|
242
|
-
- **[supply-chain-security.md](resources/supply-chain-security.md)** - SCA tools, SBOM, dependency security, software supply chain attacks
|
|
243
|
-
- **[vulnerability-management.md](resources/vulnerability-management.md)** - Vulnerability scanning, tracking, prioritization, remediation workflows
|
|
244
|
-
- **[security-testing.md](resources/security-testing.md)** - Security testing in CI/CD, penetration testing, security test automation
|
|
245
|
-
|
|
246
|
-
### Access Control & Secrets
|
|
247
|
-
- **[secrets-management.md](resources/secrets-management.md)** - Vault, AWS Secrets Manager, External Secrets Operator, rotation strategies, encryption
|
|
248
|
-
- **[zero-trust-architecture.md](resources/zero-trust-architecture.md)** - Zero trust principles, identity-based security, service mesh, mTLS
|
|
249
|
-
|
|
250
|
-
### Policy & Compliance
|
|
251
|
-
- **[policy-enforcement.md](resources/policy-enforcement.md)** - OPA, Gatekeeper, Kyverno, admission controllers, policy testing
|
|
252
|
-
- **[compliance-automation.md](resources/compliance-automation.md)** - Compliance frameworks (SOC2, PCI-DSS, HIPAA), automated audits
|
|
253
|
-
- **[compliance-frameworks.md](resources/compliance-frameworks.md)** - FedRAMP, CMMC, NIST 800-53/800-171, ITAR, CJIS, PCI-DSS, HIPAA, SOC 2, implementation checklists, audit preparation
|
|
254
|
-
- **[cspm-integration.md](resources/cspm-integration.md)** - CSPM tool integration (Prisma Cloud, Wiz, Aqua, Trend Micro), CI/CD pipeline security scanning, policy as code, shift-left security
|
|
255
|
-
|
|
256
|
-
### CI/CD & Monitoring
|
|
257
|
-
- **[ci-cd-security.md](resources/ci-cd-security.md)** - Secure pipeline design, build security, deployment security, supply chain protection
|
|
258
|
-
- **[security-monitoring.md](resources/security-monitoring.md)** - SIEM, security analytics, threat detection, incident response
|
|
259
|
-
|
|
260
|
-
## Best Practices
|
|
261
|
-
|
|
262
|
-
### 1. Never Commit Secrets
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
# Use pre-commit hooks
|
|
266
|
-
# .pre-commit-config.yaml
|
|
267
|
-
repos:
|
|
268
|
-
- repo: https://github.com/trufflesecurity/trufflehog
|
|
269
|
-
rev: v3.63.0
|
|
270
|
-
hooks:
|
|
271
|
-
- id: trufflehog
|
|
272
|
-
name: TruffleHog
|
|
273
|
-
entry: bash -c 'trufflehog git file://. --since-commit HEAD --only-verified --fail'
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### 2. Scan Everything
|
|
277
|
-
|
|
278
|
-
- Source code (SAST)
|
|
279
|
-
- Dependencies (SCA)
|
|
280
|
-
- Container images
|
|
281
|
-
- Infrastructure as code
|
|
282
|
-
- Runtime behavior
|
|
283
|
-
|
|
284
|
-
### 3. Automate Security Testing
|
|
285
|
-
|
|
286
|
-
Integrate into CI/CD, fail fast on critical issues.
|
|
287
|
-
|
|
288
|
-
### 4. Least Privilege Access
|
|
289
|
-
|
|
290
|
-
Grant minimum necessary permissions.
|
|
291
|
-
|
|
292
|
-
### 5. Defense in Depth
|
|
293
|
-
|
|
294
|
-
Multiple layers of security controls.
|
|
295
|
-
|
|
296
|
-
### 6. Regular Updates
|
|
297
|
-
|
|
298
|
-
Keep dependencies and base images updated.
|
|
299
|
-
|
|
300
|
-
### 7. Security Monitoring
|
|
301
|
-
|
|
302
|
-
Continuous monitoring and alerting.
|
|
303
|
-
|
|
304
|
-
### 8. Incident Response Plan
|
|
305
|
-
|
|
306
|
-
Documented procedures for security incidents.
|
|
307
|
-
|
|
308
|
-
## Anti-Patterns to Avoid
|
|
309
|
-
|
|
310
|
-
❌ Security only at the end (too late, too expensive)
|
|
311
|
-
❌ Committing secrets to Git
|
|
312
|
-
❌ Ignoring vulnerability scan results
|
|
313
|
-
❌ Using outdated dependencies
|
|
314
|
-
❌ No runtime security monitoring
|
|
315
|
-
❌ Manual security processes
|
|
316
|
-
❌ Privileged containers in production
|
|
317
|
-
❌ Disabled security policies for convenience
|
|
318
|
-
❌ No security training for developers
|
|
319
|
-
❌ Security as blocker instead of enabler
|
|
320
|
-
|
|
321
|
-
## Common Tasks
|
|
322
|
-
|
|
323
|
-
### Task: Add Security Scanning to CI/CD
|
|
324
|
-
|
|
325
|
-
1. Choose scanning tools (SAST, SCA, container)
|
|
326
|
-
2. Add security jobs to CI/CD pipeline
|
|
327
|
-
3. Set severity thresholds
|
|
328
|
-
4. Configure notifications
|
|
329
|
-
5. Document remediation process
|
|
330
|
-
|
|
331
|
-
### Task: Implement Secrets Management
|
|
332
|
-
|
|
333
|
-
1. Choose secrets backend (Vault, AWS SM, etc.)
|
|
334
|
-
2. Migrate existing secrets
|
|
335
|
-
3. Implement External Secrets Operator
|
|
336
|
-
4. Set up rotation policies
|
|
337
|
-
5. Remove hardcoded secrets
|
|
338
|
-
|
|
339
|
-
### Task: Enforce Security Policies
|
|
340
|
-
|
|
341
|
-
1. Define security requirements
|
|
342
|
-
2. Write policies as code (OPA/Kyverno)
|
|
343
|
-
3. Test policies in non-production
|
|
344
|
-
4. Deploy to production clusters
|
|
345
|
-
5. Monitor policy violations
|
|
346
|
-
|
|
347
|
-
## Integration Points
|
|
348
|
-
|
|
349
|
-
This skill integrates with:
|
|
350
|
-
- **platform-engineering**: Infrastructure security, Kubernetes security
|
|
351
|
-
- **sre**: Incident response, monitoring, reliability
|
|
352
|
-
- **release-engineering**: Secure CI/CD pipelines, deployment gates
|
|
353
|
-
- **cloud-engineering**: Cloud security, IAM, encryption
|
|
354
|
-
- **systems-engineering**: OS hardening, network security
|
|
355
|
-
|
|
356
|
-
## Triggers and Activation
|
|
357
|
-
|
|
358
|
-
This skill activates when you:
|
|
359
|
-
- Work with security scanning tools
|
|
360
|
-
- Implement secrets management
|
|
361
|
-
- Define security policies
|
|
362
|
-
- Configure compliance frameworks
|
|
363
|
-
- Investigate security vulnerabilities
|
|
364
|
-
- Set up security monitoring
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
368
|
-
🎯 SKILL ACTIVATED: devsecops
|
|
369
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
**Total Resources:** 11 detailed guides covering all aspects of DevSecOps
|
|
373
|
-
**Focus:** Shift-left security, automation, continuous improvement
|
|
374
|
-
**Maintained by:** Security team based on industry best practices and real-world implementations
|