diff --git a/keyboards/gboards/ergotaco/info.json b/keyboards/gboards/ergotaco/info.json
index 80558ad692..1d13c2458a 100644
--- a/keyboards/gboards/ergotaco/info.json
+++ b/keyboards/gboards/ergotaco/info.json
@@ -10,6 +10,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": false,
+        "mousekey": false,
+        "extrakey": true,
+        "console": true,
+        "command": true
+    },
     "tapping": {
         "toggle": 1
     },
diff --git a/keyboards/gboards/ergotaco/rules.mk b/keyboards/gboards/ergotaco/rules.mk
index 6fbefbd22d..5d025b31ef 100644
--- a/keyboards/gboards/ergotaco/rules.mk
+++ b/keyboards/gboards/ergotaco/rules.mk
@@ -1,7 +1,4 @@
 CUSTOM_MATRIX 		= yes
-EXTRAKEY_ENABLE		= yes
-CONSOLE_ENABLE  	= yes
-COMMAND_ENABLE		= yes
 
 # A bunch of stuff that you shouldn't touch unless you
 # know what you're doing.
diff --git a/keyboards/gboards/georgi/info.json b/keyboards/gboards/georgi/info.json
index 51737f75af..066797a241 100644
--- a/keyboards/gboards/georgi/info.json
+++ b/keyboards/gboards/georgi/info.json
@@ -11,6 +11,17 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": false,
+        "mousekey": false,
+        "extrakey": true,
+        "console": true,
+        "nkro": true,
+        "steno": true
+    },
+    "build": {
+        "lto": true
+    },
     "tapping": {
         "toggle": 2
     },
diff --git a/keyboards/gboards/georgi/rules.mk b/keyboards/gboards/georgi/rules.mk
index 5b63e269fa..42be966784 100644
--- a/keyboards/gboards/georgi/rules.mk
+++ b/keyboards/gboards/georgi/rules.mk
@@ -1,18 +1,4 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
 CUSTOM_MATRIX = yes
-STENO_ENABLE = yes
-LTO_ENABLE = yes
 
 SRC += matrix.c
-I2C_DRIVER_REQUIRED = yes
\ No newline at end of file
+I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/gboards/gergo/info.json b/keyboards/gboards/gergo/info.json
index bc53f2db5f..e576ac8012 100644
--- a/keyboards/gboards/gergo/info.json
+++ b/keyboards/gboards/gergo/info.json
@@ -16,6 +16,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": true,
+        "mousekey": false,
+        "extrakey": true,
+        "console": true,
+        "command": true
+    },
     "tapping": {
         "toggle": 1
     },
diff --git a/keyboards/gboards/gergo/rules.mk b/keyboards/gboards/gergo/rules.mk
index d789b349da..77c632bc1c 100644
--- a/keyboards/gboards/gergo/rules.mk
+++ b/keyboards/gboards/gergo/rules.mk
@@ -2,10 +2,6 @@
 #   change yes to no to disable
 #
 CUSTOM_MATRIX 		= yes
-EXTRAKEY_ENABLE		= yes
-CONSOLE_ENABLE  	= yes
-COMMAND_ENABLE		= yes
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 
 SRC += matrix.c
 I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/gboards/gergoplex/info.json b/keyboards/gboards/gergoplex/info.json
index c5f6be4750..cf1e451392 100644
--- a/keyboards/gboards/gergoplex/info.json
+++ b/keyboards/gboards/gergoplex/info.json
@@ -13,6 +13,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true,
+        "command": true,
+        "nkro": true
+    },
     "community_layouts": ["split_3x5_3"],
     "layouts": {
         "LAYOUT_split_3x5_3": {
diff --git a/keyboards/gboards/gergoplex/rules.mk b/keyboards/gboards/gergoplex/rules.mk
index 9846c64771..6ae3f1122b 100644
--- a/keyboards/gboards/gergoplex/rules.mk
+++ b/keyboards/gboards/gergoplex/rules.mk
@@ -1,15 +1,6 @@
 # Build Options
 #   change yes to no to disable
 #
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
 CUSTOM_MATRIX = yes
 
 SRC += matrix.c
diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/keyboard.json
similarity index 98%
rename from keyboards/giabalanai/info.json
rename to keyboards/giabalanai/keyboard.json
index 953e0bebc3..ae5787cec6 100644
--- a/keyboards/giabalanai/info.json
+++ b/keyboards/giabalanai/keyboard.json
@@ -36,7 +36,13 @@
         "bootmagic": false,
         "console": false,
         "mousekey": false,
-        "nkro": false
+        "nkro": false,
+        "command": false,
+        "backlight": false,
+        "rgb_matrix": false
+    },
+    "build": {
+        "lto": true
     },
     "encoder": {
         "rotary": []
diff --git a/keyboards/giabalanai/rules.mk b/keyboards/giabalanai/rules.mk
deleted file mode 100644
index 90ba252d26..0000000000
--- a/keyboards/giabalanai/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-COMMAND_ENABLE = no         # Commands for debug and configuration
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-# RGB_MATRIX_ENABLE is not suitable for giabalanai keyboard on the right side (there are dulpicate keys).
-RGB_MATRIX_ENABLE = no      # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
-
-LTO_ENABLE = yes
diff --git a/keyboards/gl516/a52gl/info.json b/keyboards/gl516/a52gl/info.json
index bc9b1cacfa..54fbce6bda 100644
--- a/keyboards/gl516/a52gl/info.json
+++ b/keyboards/gl516/a52gl/info.json
@@ -10,6 +10,11 @@
     },
     "processor": "atmega32u4",
     "bootloader": "caterina",
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gl516/a52gl/rules.mk b/keyboards/gl516/a52gl/rules.mk
index 109f8bc976..179d02c3c6 100644
--- a/keyboards/gl516/a52gl/rules.mk
+++ b/keyboards/gl516/a52gl/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
 CUSTOM_MATRIX = lite
 
-SRC += matrix.c
\ No newline at end of file
+SRC += matrix.c
diff --git a/keyboards/gl516/j73gl/info.json b/keyboards/gl516/j73gl/info.json
index fa78788e66..b252363f70 100644
--- a/keyboards/gl516/j73gl/info.json
+++ b/keyboards/gl516/j73gl/info.json
@@ -28,6 +28,12 @@
     },
     "processor": "atmega32u4",
     "bootloader": "caterina",
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true,
+        "rgblight": true
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gl516/j73gl/rules.mk b/keyboards/gl516/j73gl/rules.mk
index 3ea771b670..179d02c3c6 100644
--- a/keyboards/gl516/j73gl/rules.mk
+++ b/keyboards/gl516/j73gl/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
 CUSTOM_MATRIX = lite
 
-SRC += matrix.c
\ No newline at end of file
+SRC += matrix.c
diff --git a/keyboards/gl516/n51gl/info.json b/keyboards/gl516/n51gl/info.json
index c5abdd4542..0e54ee52a4 100644
--- a/keyboards/gl516/n51gl/info.json
+++ b/keyboards/gl516/n51gl/info.json
@@ -33,6 +33,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "caterina",
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true,
+        "rgblight": true,
+        "encoder": true
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/gl516/n51gl/rules.mk b/keyboards/gl516/n51gl/rules.mk
index c5b4f3e376..179d02c3c6 100644
--- a/keyboards/gl516/n51gl/rules.mk
+++ b/keyboards/gl516/n51gl/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
 CUSTOM_MATRIX = lite
 
-SRC += matrix.c
\ No newline at end of file
+SRC += matrix.c
diff --git a/keyboards/glenpickle/chimera_ergo/info.json b/keyboards/glenpickle/chimera_ergo/info.json
index ea49dabbca..038498fd10 100644
--- a/keyboards/glenpickle/chimera_ergo/info.json
+++ b/keyboards/glenpickle/chimera_ergo/info.json
@@ -10,6 +10,14 @@
   },
   "processor": "atmega32u4",
   "bootloader": "caterina",
+  "features": {
+    "bootmagic": false,
+    "mousekey": true,
+    "extrakey": true,
+    "console": true,
+    "command": true,
+    "nkro": true
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/glenpickle/chimera_ergo/rules.mk b/keyboards/glenpickle/chimera_ergo/rules.mk
index f543b5fd9a..18d234d62a 100644
--- a/keyboards/glenpickle/chimera_ergo/rules.mk
+++ b/keyboards/glenpickle/chimera_ergo/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
 CUSTOM_MATRIX = lite
 
 # project specific files
diff --git a/keyboards/glenpickle/chimera_ls/info.json b/keyboards/glenpickle/chimera_ls/info.json
index 300b6be928..b0d6a52912 100644
--- a/keyboards/glenpickle/chimera_ls/info.json
+++ b/keyboards/glenpickle/chimera_ls/info.json
@@ -10,6 +10,14 @@
   },
   "processor": "atmega32u4",
   "bootloader": "caterina",
+  "features": {
+    "bootmagic": false,
+    "mousekey": true,
+    "extrakey": true,
+    "console": true,
+    "command": true,
+    "nkro": true
+  },
   "community_layouts": ["ortho_4x12"],
   "layouts": {
     "LAYOUT_ortho_4x12": {
diff --git a/keyboards/glenpickle/chimera_ls/rules.mk b/keyboards/glenpickle/chimera_ls/rules.mk
index 706d610653..812e3cef92 100644
--- a/keyboards/glenpickle/chimera_ls/rules.mk
+++ b/keyboards/glenpickle/chimera_ls/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
 CUSTOM_MATRIX = lite
 
 # project specific files
diff --git a/keyboards/glenpickle/chimera_ortho/info.json b/keyboards/glenpickle/chimera_ortho/info.json
index 4932d2f5a5..b62616ce68 100644
--- a/keyboards/glenpickle/chimera_ortho/info.json
+++ b/keyboards/glenpickle/chimera_ortho/info.json
@@ -9,6 +9,14 @@
   },
   "processor": "atmega32u4",
   "bootloader": "caterina",
+  "features": {
+    "bootmagic": false,
+    "mousekey": true,
+    "extrakey": true,
+    "console": true,
+    "command": true,
+    "nkro": true
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/glenpickle/chimera_ortho/rules.mk b/keyboards/glenpickle/chimera_ortho/rules.mk
index f543b5fd9a..18d234d62a 100644
--- a/keyboards/glenpickle/chimera_ortho/rules.mk
+++ b/keyboards/glenpickle/chimera_ortho/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
 CUSTOM_MATRIX = lite
 
 # project specific files
diff --git a/keyboards/glenpickle/chimera_ortho_plus/info.json b/keyboards/glenpickle/chimera_ortho_plus/info.json
index 39d6c11eb2..bf0ae44548 100644
--- a/keyboards/glenpickle/chimera_ortho_plus/info.json
+++ b/keyboards/glenpickle/chimera_ortho_plus/info.json
@@ -9,6 +9,15 @@
   },
   "processor": "atmega32u4",
   "bootloader": "caterina",
+  "features": {
+    "bootmagic": false,
+    "mousekey": true,
+    "extrakey": true,
+    "console": true,
+    "command": true,
+    "nkro": true,
+    "unicode": true
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/glenpickle/chimera_ortho_plus/rules.mk b/keyboards/glenpickle/chimera_ortho_plus/rules.mk
index 539a2d1004..18d234d62a 100644
--- a/keyboards/glenpickle/chimera_ortho_plus/rules.mk
+++ b/keyboards/glenpickle/chimera_ortho_plus/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = yes        # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-UNICODE_ENABLE = yes
 CUSTOM_MATRIX = lite
 
 # project specific files
diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json
index 63ae544ad3..70e2d3e679 100644
--- a/keyboards/gmmk/numpad/info.json
+++ b/keyboards/gmmk/numpad/info.json
@@ -6,7 +6,10 @@
     "usb": {
         "vid": "0x320F",
         "pid": "0x5088",
-        "device_version": "0.0.1"
+        "device_version": "0.0.1",
+        "shared_endpoint": {
+            "keyboard": true
+        }
     },
     "eeprom": {
         "driver": "wear_leveling",
@@ -70,6 +73,18 @@
     },
     "processor": "WB32F3G71",
     "bootloader": "wb32-dfu",
+    "features": {
+        "bootmagic": true,
+        "mousekey": true,
+        "extrakey": true,
+        "nkro": true,
+        "rgb_matrix": true,
+        "encoder": true,
+        "midi": true
+    },
+    "build": {
+        "lto": true
+    },
     "diode_direction": "ROW2COL",
     "matrix_pins": {
         "rows": ["A3", "A4", "A5", "A6", "A7"],
diff --git a/keyboards/gmmk/numpad/rules.mk b/keyboards/gmmk/numpad/rules.mk
index d289eb81a4..752b0ce9d0 100644
--- a/keyboards/gmmk/numpad/rules.mk
+++ b/keyboards/gmmk/numpad/rules.mk
@@ -1,23 +1,3 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
-KEYBOARD_SHARED_EP = yes
-MIDI_ENABLE = yes
-
-RGB_MATRIX_ENABLE = yes
-
-LTO_ENABLE = yes
-
 ANALOG_DRIVER_REQUIRED = yes
 
 SRC += matrix.c
diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json
index 38152a32e6..33ad716b4f 100644
--- a/keyboards/gon/nerd60/info.json
+++ b/keyboards/gon/nerd60/info.json
@@ -21,6 +21,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": false,
+        "mousekey": true,
+        "extrakey": true,
+        "command": true,
+        "nkro": true
+    },
     "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift"],
     "layouts": {
         "LAYOUT_all": {
diff --git a/keyboards/gon/nerd60/rules.mk b/keyboards/gon/nerd60/rules.mk
index e0782ddcb5..3437a35bdf 100644
--- a/keyboards/gon/nerd60/rules.mk
+++ b/keyboards/gon/nerd60/rules.mk
@@ -1,15 +1,2 @@
 # Processor frequency
 F_CPU = 8000000
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/gon/nerdtkl/info.json b/keyboards/gon/nerdtkl/info.json
index 103c856bf0..301cbaf19f 100644
--- a/keyboards/gon/nerdtkl/info.json
+++ b/keyboards/gon/nerdtkl/info.json
@@ -21,6 +21,13 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": false,
+        "mousekey": true,
+        "extrakey": true,
+        "command": true,
+        "nkro": true
+    },
     "layouts": {
         "LAYOUT_tkl": {
             "layout": [
diff --git a/keyboards/gon/nerdtkl/rules.mk b/keyboards/gon/nerdtkl/rules.mk
index e0782ddcb5..3437a35bdf 100644
--- a/keyboards/gon/nerdtkl/rules.mk
+++ b/keyboards/gon/nerdtkl/rules.mk
@@ -1,15 +1,2 @@
 # Processor frequency
 F_CPU = 8000000
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json
index 13669a8542..b704582aa6 100644
--- a/keyboards/gopolar/gg86/info.json
+++ b/keyboards/gopolar/gg86/info.json
@@ -7,7 +7,8 @@
         "vid": "0x0007",
         "pid": "0x0007",
         "device_version": "0.0.1",
-        "force_nkro": true
+        "force_nkro": true,
+        "no_startup_check": true
     },
     "ws2812": {
         "pin": "E2"
@@ -64,6 +65,17 @@
     "diode_direction": "COL2ROW",
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": true,
+        "mousekey": false,
+        "extrakey": true,
+        "nkro": true,
+        "rgb_matrix": true,
+        "oled": true
+    },
+    "build": {
+        "lto": true
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/gopolar/gg86/rules.mk b/keyboards/gopolar/gg86/rules.mk
index acdf49b47d..7b380ccdfb 100644
--- a/keyboards/gopolar/gg86/rules.mk
+++ b/keyboards/gopolar/gg86/rules.mk
@@ -1,24 +1 @@
 SRC += lib/logo.c
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-# Additional thing to reduce compiled size
-LTO_ENABLE = yes
-NO_USB_STARTUP_CHECK = yes
-
-# RGB Matrix enabled
-RGB_MATRIX_ENABLE = yes
-
-# OLED enabled
-OLED_ENABLE = yes
diff --git a/keyboards/gray_studio/cod67/info.json b/keyboards/gray_studio/cod67/info.json
index 653885f963..e3687ce959 100644
--- a/keyboards/gray_studio/cod67/info.json
+++ b/keyboards/gray_studio/cod67/info.json
@@ -41,6 +41,14 @@
   },
   "processor": "atmega32u4",
   "bootloader": "lufa-ms",
+  "features": {
+    "bootmagic": false,
+    "mousekey": true,
+    "extrakey": true,
+    "command": true,
+    "backlight": true,
+    "rgblight": true
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/gray_studio/cod67/rules.mk b/keyboards/gray_studio/cod67/rules.mk
index c8d3337cb3..e22d524889 100644
--- a/keyboards/gray_studio/cod67/rules.mk
+++ b/keyboards/gray_studio/cod67/rules.mk
@@ -1,15 +1,2 @@
 # This board uses the older unsafe 6k version of lufa-ms
 BOOTLOADER_SIZE = 6144
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes       # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable RGB underglow
-AUDIO_ENABLE = no           # Audio output