From 1f3d709fcb22dd922369fa434813531fed3748ab Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Fri, 5 Apr 2024 15:44:06 +0100
Subject: [PATCH] Migrate build target markers to keyboard.json - YZ (#23421)

---
 keyboards/yampad/{info.json => keyboard.json}  |  7 +++++++
 keyboards/yampad/rules.mk                      | 14 --------------
 .../buff67v3/{info.json => keyboard.json}      |  7 +++++++
 keyboards/yandrstudio/buff67v3/rules.mk        | 13 -------------
 .../eau87/{info.json => keyboard.json}         |  6 ++++++
 keyboards/yandrstudio/eau87/rules.mk           | 13 -------------
 .../eau_r2/{info.json => keyboard.json}        |  7 +++++++
 keyboards/yandrstudio/eau_r2/rules.mk          | 13 -------------
 .../nightstar75/{info.json => keyboard.json}   |  7 +++++++
 keyboards/yandrstudio/nightstar75/rules.mk     | 13 -------------
 .../nz67v2/{info.json => keyboard.json}        |  8 ++++++++
 keyboards/yandrstudio/nz67v2/rules.mk          | 15 ---------------
 .../tg67/{info.json => keyboard.json}          |  7 +++++++
 keyboards/yandrstudio/tg67/rules.mk            | 14 --------------
 .../wave75/{info.json => keyboard.json}        |  6 ++++++
 keyboards/yandrstudio/wave75/rules.mk          | 13 -------------
 .../yr6095/{info.json => keyboard.json}        |  7 +++++++
 keyboards/yandrstudio/yr6095/rules.mk          | 13 -------------
 .../yr80/{info.json => keyboard.json}          |  7 +++++++
 keyboards/yandrstudio/yr80/rules.mk            | 13 -------------
 .../ydkb/grape/{info.json => keyboard.json}    |  7 +++++++
 keyboards/ydkb/grape/rules.mk                  | 13 -------------
 .../ydkb/just60/{info.json => keyboard.json}   |  3 +++
 keyboards/ydkb/just60/rules.mk                 | 13 -------------
 .../barleycorn/{info.json => keyboard.json}    |  5 +++++
 keyboards/yiancardesigns/barleycorn/rules.mk   | 13 -------------
 .../gingham/{info.json => keyboard.json}       |  5 +++++
 keyboards/yiancardesigns/gingham/rules.mk      | 17 ++---------------
 .../seigaiha/{info.json => keyboard.json}      |  5 +++++
 keyboards/yiancardesigns/seigaiha/rules.mk     | 13 -------------
 .../ymdk/id75/{info.json => keyboard.json}     |  0
 keyboards/ymdk/id75/rules.mk                   |  1 -
 .../soldered/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/ymdk/melody96/soldered/rules.mk      | 12 ------------
 .../ymdk/sp64/{info.json => keyboard.json}     |  6 ++++++
 keyboards/ymdk/sp64/rules.mk                   | 13 +------------
 .../ymd40/air40/{info.json => keyboard.json}   |  7 +++++++
 keyboards/ymdk/ymd40/air40/rules.mk            | 16 ----------------
 .../ymdk/ymd40/v2/{info.json => keyboard.json} |  7 +++++++
 keyboards/ymdk/ymd40/v2/rules.mk               | 15 ---------------
 .../lunakey_mini/{info.json => keyboard.json}  |  5 +++++
 keyboards/yoichiro/lunakey_mini/rules.mk       | 13 -------------
 .../lunakey_pico/{info.json => keyboard.json}  |  0
 .../yosino58/rev1/{info.json => keyboard.json} |  1 +
 keyboards/yosino58/rev1/rules.mk               | 13 -------------
 .../yynmt/acperience12/rev1/keyboard.json      |  5 +++++
 keyboards/yynmt/acperience12/rules.mk          | 13 -------------
 .../zigotica/z34/{info.json => keyboard.json}  |  7 +++++++
 keyboards/zigotica/z34/rules.mk                | 16 ----------------
 .../lets_split_v3/{info.json => keyboard.json} |  0
 keyboards/zlant/{info.json => keyboard.json}   |  7 +++++++
 keyboards/zlant/rules.mk                       | 13 -------------
 .../moonlander/{info.json => keyboard.json}    | 16 +++++++++++++++-
 keyboards/zsa/moonlander/rules.mk              | 18 +-----------------
 54 files changed, 166 insertions(+), 343 deletions(-)
 rename keyboards/yampad/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/yampad/rules.mk
 rename keyboards/yandrstudio/buff67v3/{info.json => keyboard.json} (96%)
 rename keyboards/yandrstudio/eau87/{info.json => keyboard.json} (97%)
 rename keyboards/yandrstudio/eau_r2/{info.json => keyboard.json} (97%)
 rename keyboards/yandrstudio/nightstar75/{info.json => keyboard.json} (97%)
 rename keyboards/yandrstudio/nz67v2/{info.json => keyboard.json} (98%)
 rename keyboards/yandrstudio/tg67/{info.json => keyboard.json} (97%)
 rename keyboards/yandrstudio/wave75/{info.json => keyboard.json} (97%)
 rename keyboards/yandrstudio/yr6095/{info.json => keyboard.json} (98%)
 rename keyboards/yandrstudio/yr80/{info.json => keyboard.json} (97%)
 rename keyboards/ydkb/grape/{info.json => keyboard.json} (99%)
 rename keyboards/ydkb/just60/{info.json => keyboard.json} (98%)
 rename keyboards/yiancardesigns/barleycorn/{info.json => keyboard.json} (99%)
 rename keyboards/yiancardesigns/gingham/{info.json => keyboard.json} (98%)
 rename keyboards/yiancardesigns/seigaiha/{info.json => keyboard.json} (99%)
 rename keyboards/ymdk/id75/{info.json => keyboard.json} (100%)
 rename keyboards/ymdk/melody96/soldered/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/ymdk/melody96/soldered/rules.mk
 rename keyboards/ymdk/sp64/{info.json => keyboard.json} (97%)
 rename keyboards/ymdk/ymd40/air40/{info.json => keyboard.json} (98%)
 rename keyboards/ymdk/ymd40/v2/{info.json => keyboard.json} (98%)
 rename keyboards/yoichiro/lunakey_mini/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/yoichiro/lunakey_mini/rules.mk
 rename keyboards/yoichiro/lunakey_pico/{info.json => keyboard.json} (100%)
 rename keyboards/yosino58/rev1/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/yosino58/rev1/rules.mk
 rename keyboards/zigotica/z34/{info.json => keyboard.json} (96%)
 rename keyboards/ziptyze/lets_split_v3/{info.json => keyboard.json} (100%)
 rename keyboards/zlant/{info.json => keyboard.json} (97%)
 rename keyboards/zsa/moonlander/{info.json => keyboard.json} (94%)

diff --git a/keyboards/yampad/info.json b/keyboards/yampad/keyboard.json
similarity index 93%
rename from keyboards/yampad/info.json
rename to keyboards/yampad/keyboard.json
index bf9841492d..76efef72ad 100644
--- a/keyboards/yampad/info.json
+++ b/keyboards/yampad/keyboard.json
@@ -8,6 +8,12 @@
         "pid": "0x8369",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "nkro": true,
+        "oled": true,
+        "rgblight": true
+    },
     "rgblight": {
         "led_count": 9,
         "animations": {
@@ -27,6 +33,7 @@
         "pin": "F4"
     },
     "build": {
+        "lto": true,
         "debounce_type": "sym_eager_pk"
     },
     "matrix_pins": {
diff --git a/keyboards/yampad/rules.mk b/keyboards/yampad/rules.mk
deleted file mode 100644
index 498bf77b97..0000000000
--- a/keyboards/yampad/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-AUDIO_ENABLE = no           # Audio output
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-COMMAND_ENABLE = no         # Commands for debug and configuration
-CONSOLE_ENABLE = no         # Console for debug
-EXTRAKEY_ENABLE = no        # Audio control and System control
-LTO_ENABLE = yes            # Link time optimise, reduce firmware size
-MOUSEKEY_ENABLE = no        # Mouse keys
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-OLED_ENABLE = yes
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
diff --git a/keyboards/yandrstudio/buff67v3/info.json b/keyboards/yandrstudio/buff67v3/keyboard.json
similarity index 96%
rename from keyboards/yandrstudio/buff67v3/info.json
rename to keyboards/yandrstudio/buff67v3/keyboard.json
index 9fe09cd95b..918bc7b0e7 100644
--- a/keyboards/yandrstudio/buff67v3/info.json
+++ b/keyboards/yandrstudio/buff67v3/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAA88",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "rgblight": {
         "led_count": 1,
         "animations": {
diff --git a/keyboards/yandrstudio/buff67v3/rules.mk b/keyboards/yandrstudio/buff67v3/rules.mk
index 421ae9fce1..04fe1eba2a 100644
--- a/keyboards/yandrstudio/buff67v3/rules.mk
+++ b/keyboards/yandrstudio/buff67v3/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/yandrstudio/eau87/info.json b/keyboards/yandrstudio/eau87/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/eau87/info.json
rename to keyboards/yandrstudio/eau87/keyboard.json
index 39eeac8564..ec91989d0f 100644
--- a/keyboards/yandrstudio/eau87/info.json
+++ b/keyboards/yandrstudio/eau87/keyboard.json
@@ -6,6 +6,12 @@
         "pid": "0xAAEB",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A3", "A15", "B3"],
         "rows": ["B12", "B5", "B4", "A4", "B7", "B6"]
diff --git a/keyboards/yandrstudio/eau87/rules.mk b/keyboards/yandrstudio/eau87/rules.mk
index 4a92d0f891..04fe1eba2a 100644
--- a/keyboards/yandrstudio/eau87/rules.mk
+++ b/keyboards/yandrstudio/eau87/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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
diff --git a/keyboards/yandrstudio/eau_r2/info.json b/keyboards/yandrstudio/eau_r2/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/eau_r2/info.json
rename to keyboards/yandrstudio/eau_r2/keyboard.json
index c3aaf39e2d..78f7dc108c 100644
--- a/keyboards/yandrstudio/eau_r2/info.json
+++ b/keyboards/yandrstudio/eau_r2/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAACD",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B7", "A6", "B6", "B5", "B4", "B3", "A5", "A10", "B1", "B0", "A7", "A9", "B11", "B10", "B2", "A15", "B15"],
         "rows": ["A3", "B9", "B8", "A4", "C14", "C13"]
diff --git a/keyboards/yandrstudio/eau_r2/rules.mk b/keyboards/yandrstudio/eau_r2/rules.mk
index 421ae9fce1..04fe1eba2a 100644
--- a/keyboards/yandrstudio/eau_r2/rules.mk
+++ b/keyboards/yandrstudio/eau_r2/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/yandrstudio/nightstar75/info.json b/keyboards/yandrstudio/nightstar75/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/nightstar75/info.json
rename to keyboards/yandrstudio/nightstar75/keyboard.json
index 956016a7e6..d356b81fd5 100644
--- a/keyboards/yandrstudio/nightstar75/info.json
+++ b/keyboards/yandrstudio/nightstar75/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAA87",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "ws2812": {
         "pin": "A7",
         "driver": "pwm"
diff --git a/keyboards/yandrstudio/nightstar75/rules.mk b/keyboards/yandrstudio/nightstar75/rules.mk
index 421ae9fce1..04fe1eba2a 100644
--- a/keyboards/yandrstudio/nightstar75/rules.mk
+++ b/keyboards/yandrstudio/nightstar75/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/keyboard.json
similarity index 98%
rename from keyboards/yandrstudio/nz67v2/info.json
rename to keyboards/yandrstudio/nz67v2/keyboard.json
index 372330eb68..fc931f3427 100644
--- a/keyboards/yandrstudio/nz67v2/info.json
+++ b/keyboards/yandrstudio/nz67v2/keyboard.json
@@ -6,6 +6,14 @@
         "pid": "0xAA83",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "ws2812": {
         "pin": "B5",
         "driver": "pwm"
diff --git a/keyboards/yandrstudio/nz67v2/rules.mk b/keyboards/yandrstudio/nz67v2/rules.mk
index ba2d7ccbc3..04fe1eba2a 100644
--- a/keyboards/yandrstudio/nz67v2/rules.mk
+++ b/keyboards/yandrstudio/nz67v2/rules.mk
@@ -1,17 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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
-RGB_MATRIX_ENABLE = yes     # Enable keyboard RGB matrix functionality
-ENCODER_ENABLE = yes        # Rotary encoder support
diff --git a/keyboards/yandrstudio/tg67/info.json b/keyboards/yandrstudio/tg67/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/tg67/info.json
rename to keyboards/yandrstudio/tg67/keyboard.json
index 0e4a0f6243..8a1df37805 100644
--- a/keyboards/yandrstudio/tg67/info.json
+++ b/keyboards/yandrstudio/tg67/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAA8D",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "ws2812": {
         "pin": "A7",
         "driver": "pwm"
diff --git a/keyboards/yandrstudio/tg67/rules.mk b/keyboards/yandrstudio/tg67/rules.mk
index 8aabb4f22e..04fe1eba2a 100644
--- a/keyboards/yandrstudio/tg67/rules.mk
+++ b/keyboards/yandrstudio/tg67/rules.mk
@@ -1,16 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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
-RGB_MATRIX_ENABLE = yes     # Enable keyboard RGB Matrix
diff --git a/keyboards/yandrstudio/wave75/info.json b/keyboards/yandrstudio/wave75/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/wave75/info.json
rename to keyboards/yandrstudio/wave75/keyboard.json
index d055dc0048..8455eb1188 100644
--- a/keyboards/yandrstudio/wave75/info.json
+++ b/keyboards/yandrstudio/wave75/keyboard.json
@@ -6,6 +6,12 @@
         "pid": "0xAA8E",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "diode_direction": "COL2ROW",
     "matrix_pins": {
         "cols": ["B0", "A7", "A6", "B15", "B14", "B13", "A5", "B7", "B6", "B5", "A4", "B12", "A3", "B2", "A2"],
diff --git a/keyboards/yandrstudio/wave75/rules.mk b/keyboards/yandrstudio/wave75/rules.mk
index 4a92d0f891..04fe1eba2a 100644
--- a/keyboards/yandrstudio/wave75/rules.mk
+++ b/keyboards/yandrstudio/wave75/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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
diff --git a/keyboards/yandrstudio/yr6095/info.json b/keyboards/yandrstudio/yr6095/keyboard.json
similarity index 98%
rename from keyboards/yandrstudio/yr6095/info.json
rename to keyboards/yandrstudio/yr6095/keyboard.json
index 7f5308f50a..7a5d11181e 100644
--- a/keyboards/yandrstudio/yr6095/info.json
+++ b/keyboards/yandrstudio/yr6095/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAA0C",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "rgblight": {
         "led_count": 1,
         "animations": {
diff --git a/keyboards/yandrstudio/yr6095/rules.mk b/keyboards/yandrstudio/yr6095/rules.mk
index 421ae9fce1..04fe1eba2a 100644
--- a/keyboards/yandrstudio/yr6095/rules.mk
+++ b/keyboards/yandrstudio/yr6095/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/yandrstudio/yr80/info.json b/keyboards/yandrstudio/yr80/keyboard.json
similarity index 97%
rename from keyboards/yandrstudio/yr80/info.json
rename to keyboards/yandrstudio/yr80/keyboard.json
index 3581fa9d1c..abf552af5c 100644
--- a/keyboards/yandrstudio/yr80/info.json
+++ b/keyboards/yandrstudio/yr80/keyboard.json
@@ -6,6 +6,13 @@
         "pid": "0xAA0D",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "rgblight": {
         "led_count": 1,
         "animations": {
diff --git a/keyboards/yandrstudio/yr80/rules.mk b/keyboards/yandrstudio/yr80/rules.mk
index 421ae9fce1..04fe1eba2a 100644
--- a/keyboards/yandrstudio/yr80/rules.mk
+++ b/keyboards/yandrstudio/yr80/rules.mk
@@ -1,15 +1,2 @@
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ydkb/grape/info.json b/keyboards/ydkb/grape/keyboard.json
similarity index 99%
rename from keyboards/ydkb/grape/info.json
rename to keyboards/ydkb/grape/keyboard.json
index 75aa8fffaf..f8f0364d93 100644
--- a/keyboards/ydkb/grape/info.json
+++ b/keyboards/ydkb/grape/keyboard.json
@@ -8,6 +8,13 @@
         "pid": "0x6772",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "backlight": {
         "pin": "B7",
         "breathing": true
diff --git a/keyboards/ydkb/grape/rules.mk b/keyboards/ydkb/grape/rules.mk
index d1eb5135b4..6beea3e392 100644
--- a/keyboards/ydkb/grape/rules.mk
+++ b/keyboards/ydkb/grape/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 = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
 CUSTOM_MATRIX = lite
 VPATH += drivers/gpio
 SRC += matrix.c sn74x138.c
diff --git a/keyboards/ydkb/just60/info.json b/keyboards/ydkb/just60/keyboard.json
similarity index 98%
rename from keyboards/ydkb/just60/info.json
rename to keyboards/ydkb/just60/keyboard.json
index d61f09221a..fb46e08ea3 100644
--- a/keyboards/ydkb/just60/info.json
+++ b/keyboards/ydkb/just60/keyboard.json
@@ -8,6 +8,9 @@
         "pid": "0x1960",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true
+    },
     "matrix_pins": {
         "cols": ["D6", "D7", "B4", "B6", "B5", "B7", "F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0"],
         "rows": ["E2", "C7", "B3", "B2", "B1"]
diff --git a/keyboards/ydkb/just60/rules.mk b/keyboards/ydkb/just60/rules.mk
index 2a99e00919..3437a35bdf 100644
--- a/keyboards/ydkb/just60/rules.mk
+++ b/keyboards/ydkb/just60/rules.mk
@@ -1,15 +1,2 @@
 # Processor frequency
 F_CPU = 8000000
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = no        # 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
diff --git a/keyboards/yiancardesigns/barleycorn/info.json b/keyboards/yiancardesigns/barleycorn/keyboard.json
similarity index 99%
rename from keyboards/yiancardesigns/barleycorn/info.json
rename to keyboards/yiancardesigns/barleycorn/keyboard.json
index 99786319b3..2fd79052c9 100644
--- a/keyboards/yiancardesigns/barleycorn/info.json
+++ b/keyboards/yiancardesigns/barleycorn/keyboard.json
@@ -8,6 +8,11 @@
       "device_version": "0.0.1",
       "max_power": 100
     },
+    "features": {
+      "bootmagic": true,
+      "extrakey": true,
+      "mousekey": true
+    },
     "processor": "atmega328p",
     "bootloader": "usbasploader",
     "layouts": {
diff --git a/keyboards/yiancardesigns/barleycorn/rules.mk b/keyboards/yiancardesigns/barleycorn/rules.mk
index 3808b0d3f2..c04c3c92ed 100644
--- a/keyboards/yiancardesigns/barleycorn/rules.mk
+++ b/keyboards/yiancardesigns/barleycorn/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
diff --git a/keyboards/yiancardesigns/gingham/info.json b/keyboards/yiancardesigns/gingham/keyboard.json
similarity index 98%
rename from keyboards/yiancardesigns/gingham/info.json
rename to keyboards/yiancardesigns/gingham/keyboard.json
index 23f0788d0f..eb5573a355 100644
--- a/keyboards/yiancardesigns/gingham/info.json
+++ b/keyboards/yiancardesigns/gingham/keyboard.json
@@ -9,6 +9,11 @@
         "device_version": "0.0.1",
         "max_power": 100
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true
+    },
     "processor": "atmega328p",
     "bootloader": "usbasploader",
     "layouts": {
diff --git a/keyboards/yiancardesigns/gingham/rules.mk b/keyboards/yiancardesigns/gingham/rules.mk
index cd47b89aed..23e7186f19 100644
--- a/keyboards/yiancardesigns/gingham/rules.mk
+++ b/keyboards/yiancardesigns/gingham/rules.mk
@@ -1,17 +1,4 @@
+CUSTOM_MATRIX = lite
+
 SRC = matrix.c
 I2C_DRIVER_REQUIRED = yes
-
-# 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
diff --git a/keyboards/yiancardesigns/seigaiha/info.json b/keyboards/yiancardesigns/seigaiha/keyboard.json
similarity index 99%
rename from keyboards/yiancardesigns/seigaiha/info.json
rename to keyboards/yiancardesigns/seigaiha/keyboard.json
index 91a0529e88..5890357c99 100644
--- a/keyboards/yiancardesigns/seigaiha/info.json
+++ b/keyboards/yiancardesigns/seigaiha/keyboard.json
@@ -9,6 +9,11 @@
         "device_version": "0.0.1",
         "max_power": 100
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true
+    },
     "bootmagic": {
         "matrix": [1, 0]
     },
diff --git a/keyboards/yiancardesigns/seigaiha/rules.mk b/keyboards/yiancardesigns/seigaiha/rules.mk
index 3808b0d3f2..c04c3c92ed 100644
--- a/keyboards/yiancardesigns/seigaiha/rules.mk
+++ b/keyboards/yiancardesigns/seigaiha/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
diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/keyboard.json
similarity index 100%
rename from keyboards/ymdk/id75/info.json
rename to keyboards/ymdk/id75/keyboard.json
diff --git a/keyboards/ymdk/id75/rules.mk b/keyboards/ymdk/id75/rules.mk
index edbd3dd718..dbee20ab05 100644
--- a/keyboards/ymdk/id75/rules.mk
+++ b/keyboards/ymdk/id75/rules.mk
@@ -3,4 +3,3 @@ MCU_LDSCRIPT = STM32F103xB
 
 # Wildcard to allow APM32 MCU
 DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/ymdk/melody96/soldered/info.json b/keyboards/ymdk/melody96/soldered/keyboard.json
similarity index 99%
rename from keyboards/ymdk/melody96/soldered/info.json
rename to keyboards/ymdk/melody96/soldered/keyboard.json
index f941c65970..06d3947240 100644
--- a/keyboards/ymdk/melody96/soldered/info.json
+++ b/keyboards/ymdk/melody96/soldered/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x4D96",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
         "rows": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/ymdk/melody96/soldered/rules.mk b/keyboards/ymdk/melody96/soldered/rules.mk
deleted file mode 100644
index 3d5cb57ad5..0000000000
--- a/keyboards/ymdk/melody96/soldered/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ymdk/sp64/info.json b/keyboards/ymdk/sp64/keyboard.json
similarity index 97%
rename from keyboards/ymdk/sp64/info.json
rename to keyboards/ymdk/sp64/keyboard.json
index a0091c8f3d..bfb140873a 100644
--- a/keyboards/ymdk/sp64/info.json
+++ b/keyboards/ymdk/sp64/keyboard.json
@@ -8,6 +8,12 @@
         "pid": "0x5364",
         "device_version": "2.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "extrakey": true,
+        "rgblight": true
+    },
     "indicators": {
         "caps_lock": "D1",
         "num_lock": "D0",
diff --git a/keyboards/ymdk/sp64/rules.mk b/keyboards/ymdk/sp64/rules.mk
index 56da806510..9edee34f59 100644
--- a/keyboards/ymdk/sp64/rules.mk
+++ b/keyboards/ymdk/sp64/rules.mk
@@ -1,16 +1,5 @@
-# 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 = yes        # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
 AUDIO_SUPPORTED = no
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+
 CUSTOM_MATRIX = yes
 
 SRC += matrix.c
diff --git a/keyboards/ymdk/ymd40/air40/info.json b/keyboards/ymdk/ymd40/air40/keyboard.json
similarity index 98%
rename from keyboards/ymdk/ymd40/air40/info.json
rename to keyboards/ymdk/ymd40/air40/keyboard.json
index 4e791c87c4..aaca80156b 100644
--- a/keyboards/ymdk/ymd40/air40/info.json
+++ b/keyboards/ymdk/ymd40/air40/keyboard.json
@@ -8,6 +8,12 @@
         "pid": "0x0911",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "rgb_matrix": true
+    },
     "rgb_matrix": {
         "animations":{
             "alphas_mods": true,
@@ -68,6 +74,7 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "community_layouts": ["ortho_4x12"],
     "layouts": {
         "LAYOUT_ortho_4x12": {
             "layout": [
diff --git a/keyboards/ymdk/ymd40/air40/rules.mk b/keyboards/ymdk/ymd40/air40/rules.mk
index f408492aa8..9f9c86d4bb 100644
--- a/keyboards/ymdk/ymd40/air40/rules.mk
+++ b/keyboards/ymdk/ymd40/air40/rules.mk
@@ -1,18 +1,2 @@
-# 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
 RGBLIGHT_SUPPORTED = no
-RGB_MATRIX_ENABLE = yes
-AUDIO_ENABLE = no           # Audio output
 AUDIO_SUPPORTED = no
-KEY_LOCK_ENABLE = no
-
-LAYOUTS = ortho_4x12
diff --git a/keyboards/ymdk/ymd40/v2/info.json b/keyboards/ymdk/ymd40/v2/keyboard.json
similarity index 98%
rename from keyboards/ymdk/ymd40/v2/info.json
rename to keyboards/ymdk/ymd40/v2/keyboard.json
index 6686030166..08f5f0a4e3 100644
--- a/keyboards/ymdk/ymd40/v2/info.json
+++ b/keyboards/ymdk/ymd40/v2/keyboard.json
@@ -8,6 +8,13 @@
         "pid": "0x4440",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"],
         "rows": ["D0", "B3", "B2", "B1"]
diff --git a/keyboards/ymdk/ymd40/v2/rules.mk b/keyboards/ymdk/ymd40/v2/rules.mk
index e0fdb5c802..79487b2ec4 100644
--- a/keyboards/ymdk/ymd40/v2/rules.mk
+++ b/keyboards/ymdk/ymd40/v2/rules.mk
@@ -1,16 +1 @@
-# 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 = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-KEY_LOCK_ENABLE = no
-
 AUDIO_SUPPORTED = no
diff --git a/keyboards/yoichiro/lunakey_mini/info.json b/keyboards/yoichiro/lunakey_mini/keyboard.json
similarity index 97%
rename from keyboards/yoichiro/lunakey_mini/info.json
rename to keyboards/yoichiro/lunakey_mini/keyboard.json
index aa00e7e69e..5fbf6c8fbc 100644
--- a/keyboards/yoichiro/lunakey_mini/info.json
+++ b/keyboards/yoichiro/lunakey_mini/keyboard.json
@@ -8,12 +8,17 @@
         "pid": "0x0001",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
         "rows": ["D4", "D7", "E6", "B4"]
     },
     "diode_direction": "COL2ROW",
     "split": {
+        "enabled": true,
         "soft_serial_pin": "D2"
     },
     "rgblight": {
diff --git a/keyboards/yoichiro/lunakey_mini/rules.mk b/keyboards/yoichiro/lunakey_mini/rules.mk
deleted file mode 100644
index 6188406cde..0000000000
--- a/keyboards/yoichiro/lunakey_mini/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-SPLIT_KEYBOARD = yes        # Enable Split keyboard
diff --git a/keyboards/yoichiro/lunakey_pico/info.json b/keyboards/yoichiro/lunakey_pico/keyboard.json
similarity index 100%
rename from keyboards/yoichiro/lunakey_pico/info.json
rename to keyboards/yoichiro/lunakey_pico/keyboard.json
diff --git a/keyboards/yosino58/rev1/info.json b/keyboards/yosino58/rev1/keyboard.json
similarity index 99%
rename from keyboards/yosino58/rev1/info.json
rename to keyboards/yosino58/rev1/keyboard.json
index c0dc03831f..2e50450a27 100644
--- a/keyboards/yosino58/rev1/info.json
+++ b/keyboards/yosino58/rev1/keyboard.json
@@ -14,6 +14,7 @@
     },
     "diode_direction": "COL2ROW",
     "split": {
+        "enabled": true,
         "soft_serial_pin": "D2"
     },
     "rgblight": {
diff --git a/keyboards/yosino58/rev1/rules.mk b/keyboards/yosino58/rev1/rules.mk
deleted file mode 100644
index 2fcc81da0f..0000000000
--- a/keyboards/yosino58/rev1/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = no        # 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
-AUDIO_ENABLE = no           # Audio output
-RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight. 
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/yynmt/acperience12/rev1/keyboard.json b/keyboards/yynmt/acperience12/rev1/keyboard.json
index 5eea37a35d..deb02bd55d 100644
--- a/keyboards/yynmt/acperience12/rev1/keyboard.json
+++ b/keyboards/yynmt/acperience12/rev1/keyboard.json
@@ -8,6 +8,11 @@
         "pid": "0xEA51",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true
+    },
     "processor": "atmega32u2",
     "bootloader": "atmel-dfu",
     "matrix_pins": {
diff --git a/keyboards/yynmt/acperience12/rules.mk b/keyboards/yynmt/acperience12/rules.mk
index 3a22654621..cfe8b8ac18 100644
--- a/keyboards/yynmt/acperience12/rules.mk
+++ b/keyboards/yynmt/acperience12/rules.mk
@@ -1,14 +1 @@
-# 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
-
 DEFAULT_FOLDER = yynmt/acperience12/rev1
diff --git a/keyboards/zigotica/z34/info.json b/keyboards/zigotica/z34/keyboard.json
similarity index 96%
rename from keyboards/zigotica/z34/info.json
rename to keyboards/zigotica/z34/keyboard.json
index e82a6dd304..5faa9b23b2 100644
--- a/keyboards/zigotica/z34/info.json
+++ b/keyboards/zigotica/z34/keyboard.json
@@ -8,6 +8,12 @@
         "pid": "0x0002",
         "device_version": "0.0.1"
     },
+    "build": {
+        "lto": true
+    },
+    "features": {
+        "extrakey": true
+    },
     "processor": "atmega32u4",
     "bootloader": "caterina",
     "matrix_pins": {
@@ -19,6 +25,7 @@
         ]
     },
     "split": {
+        "enabled": true,
         "soft_serial_pin": "D2",
         "matrix_pins": {
             "right": {
diff --git a/keyboards/zigotica/z34/rules.mk b/keyboards/zigotica/z34/rules.mk
index 669d2bc02f..68cfee0281 100644
--- a/keyboards/zigotica/z34/rules.mk
+++ b/keyboards/zigotica/z34/rules.mk
@@ -1,19 +1,3 @@
-# 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 = 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
-SPLIT_KEYBOARD = yes       # Split common
-LTO_ENABLE = yes           # Enables Link Time Optimization (LTO) which reduces the compiled size
-
 # There are no extra pins, so we make sure to disable OLED and Encoders
 OLED_SUPPORTED = no        # Enables the use of OLED displays
 ENCODER_SUPPORTED = no      # Enables the use of encoders
-
diff --git a/keyboards/ziptyze/lets_split_v3/info.json b/keyboards/ziptyze/lets_split_v3/keyboard.json
similarity index 100%
rename from keyboards/ziptyze/lets_split_v3/info.json
rename to keyboards/ziptyze/lets_split_v3/keyboard.json
diff --git a/keyboards/zlant/info.json b/keyboards/zlant/keyboard.json
similarity index 97%
rename from keyboards/zlant/info.json
rename to keyboards/zlant/keyboard.json
index 7fba339db1..d59b1c3f19 100644
--- a/keyboards/zlant/info.json
+++ b/keyboards/zlant/keyboard.json
@@ -8,6 +8,13 @@
         "pid": "0x6060",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "B7", "D1", "D2", "D3", "B3", "B2"],
         "rows": ["B0", "B1", "D4", "D5"]
diff --git a/keyboards/zlant/rules.mk b/keyboards/zlant/rules.mk
index c0d021d891..4df55cd220 100755
--- a/keyboards/zlant/rules.mk
+++ b/keyboards/zlant/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 = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
-
 # Disable unsupported hardware
 AUDIO_SUPPORTED = no
 BACKLIGHT_SUPPORTED = no
diff --git a/keyboards/zsa/moonlander/info.json b/keyboards/zsa/moonlander/keyboard.json
similarity index 94%
rename from keyboards/zsa/moonlander/info.json
rename to keyboards/zsa/moonlander/keyboard.json
index 31d6693e39..233cb46bba 100644
--- a/keyboards/zsa/moonlander/info.json
+++ b/keyboards/zsa/moonlander/keyboard.json
@@ -6,7 +6,21 @@
     "usb": {
         "vid": "0x3297",
         "pid": "0x1969",
-        "device_version": "0.0.1"
+        "device_version": "0.0.1",
+        "shared_endpoint": {
+            "mouse": false
+        }
+    },
+    "features": {
+        "audio": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true,
+        "swap_hands": true
     },
     "dynamic_keymap": {
         "layer_count": 8
diff --git a/keyboards/zsa/moonlander/rules.mk b/keyboards/zsa/moonlander/rules.mk
index 204c5940e4..4637558489 100644
--- a/keyboards/zsa/moonlander/rules.mk
+++ b/keyboards/zsa/moonlander/rules.mk
@@ -1,22 +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 = 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 = yes          # Audio output
 AUDIO_DRIVER = dac_additive
 CUSTOM_MATRIX = lite
-SWAP_HANDS_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
 
-#project specific files
+# project specific files
 SRC += matrix.c
 I2C_DRIVER_REQUIRED = yes
-
-MOUSE_SHARED_EP = no