From 539fa21bf80308a21048334909b6512917aa3c7b Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Fri, 15 Mar 2024 01:42:15 +0000
Subject: [PATCH] Migrate features from rules.mk to data driven - IJK (#23276)

---
 .../grooveboard/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/ianklug/grooveboard/rules.mk            | 12 ------------
 .../ashpil_usbc/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/ibm/model_m/ashpil_usbc/rules.mk        | 12 ------------
 .../model_m/teensy2/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/ibm/model_m/teensy2/rules.mk            | 12 ------------
 .../model_m/yugo_m/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/ibm/model_m/yugo_m/rules.mk             | 12 ------------
 .../ibm122m/{info.json => keyboard.json}          |  9 +++++++++
 keyboards/ibm/model_m_122/ibm122m/rules.mk        | 11 -----------
 .../blackpill/{info.json => keyboard.json}        |  8 ++++++++
 .../ibm/model_m_122/m122_3270/blackpill/rules.mk  | 12 ------------
 .../m122_3270/teensy/{info.json => keyboard.json} |  8 ++++++++
 .../ibm/model_m_122/m122_3270/teensy/rules.mk     | 12 ------------
 .../teensypp_ssk/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk   | 12 ------------
 .../alicia_cook/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/ibnuda/alicia_cook/rules.mk             | 12 ------------
 .../ibnuda/gurindam/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/ibnuda/gurindam/rules.mk                | 12 ------------
 keyboards/idb/idb_60/{info.json => keyboard.json} |  8 ++++++++
 keyboards/idb/idb_60/rules.mk                     | 10 ----------
 .../idobao/id87/v1/{info.json => keyboard.json}   | 10 ++++++++++
 keyboards/idobao/id87/v1/rules.mk                 | 12 ------------
 .../idobao/id96/{info.json => keyboard.json}      | 10 ++++++++++
 keyboards/idobao/id96/rules.mk                    | 12 ------------
 .../idobao/montex/v1/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/idobao/montex/v1/rules.mk               | 12 ------------
 .../montex/v1rgb/{info.json => keyboard.json}     |  9 +++++++++
 keyboards/idobao/montex/v1rgb/rules.mk            | 12 ------------
 .../illuminati/is0/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/illuminati/is0/rules.mk                 | 12 ------------
 .../illusion/rosa/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/illusion/rosa/rules.mk                  | 12 ------------
 .../ilumkb/primus75/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/ilumkb/primus75/rules.mk                | 12 ------------
 .../ilumkb/simpler61/{info.json => keyboard.json} |  9 +++++++++
 keyboards/ilumkb/simpler61/rules.mk               | 13 -------------
 .../ilumkb/simpler64/{info.json => keyboard.json} |  9 +++++++++
 keyboards/ilumkb/simpler64/rules.mk               | 13 -------------
 .../volcano660/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/ilumkb/volcano660/rules.mk              | 12 ------------
 .../k_type/{info.json => keyboard.json}           |  8 ++++++++
 keyboards/input_club/k_type/rules.mk              | 15 ---------------
 .../whitefox/{info.json => keyboard.json}         |  9 +++++++++
 keyboards/input_club/whitefox/rules.mk            | 14 --------------
 .../io_mini1800/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/io_mini1800/rules.mk                    | 14 --------------
 keyboards/irene/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/irene/rules.mk                          | 12 ------------
 .../iriskeyboards/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/iriskeyboards/rules.mk                  | 12 ------------
 keyboards/iron180/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/iron180/rules.mk                        | 14 --------------
 keyboards/j80/{info.json => keyboard.json}        |  9 +++++++++
 keyboards/j80/rules.mk                            | 10 ----------
 .../s7_elephant/rev1/{info.json => keyboard.json} |  9 +++++++++
 keyboards/jacky_studio/s7_elephant/rev1/rules.mk  | 11 -----------
 .../jadookb/jkb2/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/jadookb/jkb2/rules.mk                   | 12 ------------
 keyboards/jae/j01/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/jae/j01/rules.mk                        | 12 ------------
 keyboards/jc65/v32a/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/jc65/v32a/rules.mk                      | 10 ----------
 keyboards/jc65/v32u4/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/jc65/v32u4/rules.mk                     | 12 ------------
 keyboards/jd40/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/jd40/rules.mk                           | 11 -----------
 keyboards/jd45/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/jd45/rules.mk                           | 11 -----------
 .../jels/jels88/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/jels/jels88/rules.mk                    | 13 -------------
 .../binary_monkey/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/jkdlab/binary_monkey/rules.mk           | 12 ------------
 .../gentleman65/{info.json => keyboard.json}      | 10 ++++++++++
 keyboards/jkeys_design/gentleman65/rules.mk       | 14 --------------
 .../gentleman65_se_s/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/jkeys_design/gentleman65_se_s/rules.mk  | 14 --------------
 .../denial75/{info.json => keyboard.json}         |  9 +++++++++
 keyboards/jolofsor/denial75/rules.mk              | 12 ------------
 .../hub20/{info.json => keyboard.json}            | 10 ++++++++++
 keyboards/joshajohnson/hub20/rules.mk             | 15 ---------------
 keyboards/k34/{info.json => keyboard.json}        |  8 ++++++++
 keyboards/k34/rules.mk                            | 12 ------------
 .../kabedon78s/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kabedon/kabedon78s/rules.mk             | 13 -------------
 .../kabedon980/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kabedon/kabedon980/rules.mk             | 13 -------------
 .../kabedon98e/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kabedon/kabedon98e/rules.mk             | 13 -------------
 .../halberd/{info.json => keyboard.json}          |  9 +++++++++
 keyboards/kagizaraya/halberd/rules.mk             | 12 ------------
 .../kapcave/arya/{info.json => keyboard.json}     |  9 +++++++++
 keyboards/kapcave/arya/rules.mk                   | 14 --------------
 .../kapcave/gskt00/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kapcave/gskt00/rules.mk                 | 12 ------------
 .../paladin64/{info.json => keyboard.json}        |  9 +++++++++
 keyboards/kapcave/paladin64/rules.mk              | 12 ------------
 .../karlb/kbic65/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/karlb/kbic65/rules.mk                   | 11 -----------
 .../kb_elmo/67mk_e/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kb_elmo/67mk_e/rules.mk                 | 12 ------------
 .../kb_elmo/noah_avr/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kb_elmo/noah_avr/rules.mk               | 12 ------------
 .../kb_elmo/qez/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/kb_elmo/qez/rules.mk                    | 12 ------------
 .../kb_elmo/vertex/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kb_elmo/vertex/rules.mk                 | 12 ------------
 .../kaishi65/{info.json => keyboard.json}         |  8 ++++++++
 keyboards/kbdclack/kaishi65/rules.mk              | 12 ------------
 .../baguette66/rgb/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/kbdfans/baguette66/rgb/rules.mk         | 13 -------------
 .../soldered/{info.json => keyboard.json}         |  8 ++++++++
 keyboards/kbdfans/baguette66/soldered/rules.mk    | 12 ------------
 .../bella/soldered/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/kbdfans/bella/soldered/rules.mk         | 12 ------------
 .../boop65/rgb/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/kbdfans/boop65/rgb/rules.mk             | 13 -------------
 .../75/hotswap/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/kbdfans/bounce/75/hotswap/rules.mk      | 12 ------------
 .../75/soldered/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/kbdfans/bounce/75/soldered/rules.mk     | 12 ------------
 .../bounce/pad/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/kbdfans/bounce/pad/rules.mk             | 12 ------------
 .../kbdfans/epoch80/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/kbdfans/epoch80/rules.mk                | 12 ------------
 .../kbdfans/kbd19x/{info.json => keyboard.json}   | 10 ++++++++++
 keyboards/kbdfans/kbd19x/rules.mk                 | 12 ------------
 .../kbdfans/kbd66/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/kbdfans/kbd66/rules.mk                  | 11 -----------
 .../kbd67/hotswap/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/kbdfans/kbd67/hotswap/rules.mk          | 12 ------------
 .../mkii_soldered/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/kbdfans/kbd67/mkii_soldered/rules.mk    | 12 ------------
 .../kbd67/mkiirgb/v1/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk       | 12 ------------
 .../kbd67/mkiirgb/v4/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kbdfans/kbd67/mkiirgb/v4/rules.mk       | 13 -------------
 .../kbd67/rev2/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kbdfans/kbd67/rev2/rules.mk             | 12 ------------
 .../kbdfans/kbd6x/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/kbdfans/kbd6x/rules.mk                  | 12 ------------
 .../kbdfans/kbd75hs/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/kbdfans/kbd75hs/rules.mk                | 12 ------------
 .../kbdfans/kbd8x/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/kbdfans/kbd8x/rules.mk                  | 12 ------------
 .../kbd8x_mk2/{info.json => keyboard.json}        | 10 ++++++++++
 keyboards/kbdfans/kbd8x_mk2/rules.mk              | 12 ------------
 .../kbdfans/kbdmini/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/kbdfans/kbdmini/rules.mk                | 13 -------------
 .../kbdpad/mk1/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/kbdfans/kbdpad/mk1/rules.mk             | 10 ----------
 .../kbdpad/mk2/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kbdfans/kbdpad/mk2/rules.mk             | 12 ------------
 .../kbdfans/odin/rgb/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kbdfans/odin/rgb/rules.mk               | 14 --------------
 .../odin/soldered/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/kbdfans/odin/soldered/rules.mk          | 13 -------------
 .../kbdfans/odin/v2/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/kbdfans/odin/v2/rules.mk                | 13 -------------
 .../kbdfans/phaseone/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kbdfans/phaseone/rules.mk               | 12 ------------
 .../nordic60/rev_a/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kbnordic/nordic60/rev_a/rules.mk        | 12 ------------
 keyboards/kc60/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/kc60/rules.mk                           | 12 ------------
 keyboards/kc60se/{info.json => keyboard.json}     |  9 +++++++++
 keyboards/kc60se/rules.mk                         | 11 -----------
 .../bigswitchseat/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/keebio/bigswitchseat/rules.mk           | 12 ------------
 .../keebio/choconum/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/keebio/choconum/rules.mk                | 13 -------------
 .../keebio/dilly/{info.json => keyboard.json}     | 10 ++++++++++
 keyboards/keebio/dilly/rules.mk                   | 12 ------------
 .../ergodicity/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/keebio/ergodicity/rules.mk              | 12 ------------
 .../keebio/laplace/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/keebio/laplace/rules.mk                 | 12 ------------
 .../keebio/stick/{info.json => keyboard.json}     | 10 ++++++++++
 keyboards/keebio/stick/rules.mk                   | 14 --------------
 .../tragicforce68/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/keebio/tragicforce68/rules.mk           | 11 -----------
 .../keebio/tukey/{info.json => keyboard.json}     |  9 +++++++++
 keyboards/keebio/tukey/rules.mk                   | 12 ------------
 .../kbmg68/{info.json => keyboard.json}           |  9 +++++++++
 keyboards/keebmonkey/kbmg68/rules.mk              | 12 ------------
 .../coarse60/{info.json => keyboard.json}         | 11 +++++++++++
 keyboards/keebsforall/coarse60/rules.mk           | 15 ---------------
 .../freebird60/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/keebsforall/freebird60/rules.mk         | 12 ------------
 .../freebirdnp/lite/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/keebsforall/freebirdnp/lite/rules.mk    | 12 ------------
 .../freebirdnp/pro/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/keebsforall/freebirdnp/pro/rules.mk     | 13 -------------
 .../freebirdtkl/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/keebsforall/freebirdtkl/rules.mk        | 12 ------------
 .../keebzdotnet/fme/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/keebzdotnet/fme/rules.mk                | 12 ------------
 .../wazowski/{info.json => keyboard.json}         |  8 ++++++++
 keyboards/keebzdotnet/wazowski/rules.mk           | 12 ------------
 keyboards/kegen/gboy/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/kegen/gboy/rules.mk                     | 12 ------------
 .../keybee/keybee65/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/keybee/keybee65/rules.mk                | 14 --------------
 .../atreus/{info.json => keyboard.json}           |  9 +++++++++
 keyboards/keyboardio/atreus/rules.mk              | 14 --------------
 .../o4l_5x12/{info.json => keyboard.json}         |  9 +++++++++
 keyboards/keycapsss/o4l_5x12/rules.mk             | 12 ------------
 .../q60/ansi/{info.json => keyboard.json}         | 10 ++++++++++
 keyboards/keychron/q60/ansi/rules.mk              | 14 --------------
 .../s1/ansi/rgb/{info.json => keyboard.json}      | 10 ++++++++++
 keyboards/keychron/s1/ansi/rgb/rules.mk           | 14 --------------
 .../s1/ansi/white/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/keychron/s1/ansi/white/rules.mk         | 14 --------------
 .../keychron/v2/ansi/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keychron/v2/ansi/rules.mk               | 14 --------------
 .../v2/ansi_encoder/{info.json => keyboard.json}  | 11 +++++++++++
 keyboards/keychron/v2/ansi_encoder/rules.mk       | 15 ---------------
 .../keychron/v2/iso/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v2/iso/rules.mk                | 14 --------------
 .../v2/iso_encoder/{info.json => keyboard.json}   | 11 +++++++++++
 keyboards/keychron/v2/iso_encoder/rules.mk        | 15 ---------------
 .../keychron/v2/jis/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v2/jis/rules.mk                | 14 --------------
 .../v2/jis_encoder/{info.json => keyboard.json}   | 11 +++++++++++
 keyboards/keychron/v2/jis_encoder/rules.mk        | 15 ---------------
 .../keychron/v3/ansi/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keychron/v3/ansi/rules.mk               | 14 --------------
 .../keychron/v3/iso/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v3/iso/rules.mk                | 14 --------------
 .../keychron/v3/jis/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v3/jis/rules.mk                | 14 --------------
 .../keychron/v4/ansi/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keychron/v4/ansi/rules.mk               | 14 --------------
 .../keychron/v4/iso/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v4/iso/rules.mk                | 14 --------------
 .../keychron/v7/ansi/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keychron/v7/ansi/rules.mk               | 14 --------------
 .../keychron/v7/iso/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v7/iso/rules.mk                | 14 --------------
 .../keychron/v8/ansi/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keychron/v8/ansi/rules.mk               | 11 -----------
 .../v8/ansi_encoder/{info.json => keyboard.json}  | 11 +++++++++++
 keyboards/keychron/v8/ansi_encoder/rules.mk       | 12 ------------
 .../keychron/v8/iso/{info.json => keyboard.json}  | 10 ++++++++++
 keyboards/keychron/v8/iso/rules.mk                | 15 ---------------
 .../v8/iso_encoder/{info.json => keyboard.json}   | 11 +++++++++++
 keyboards/keychron/v8/iso_encoder/rules.mk        | 12 ------------
 .../keyhive/absinthe/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/keyhive/absinthe/rules.mk               | 14 --------------
 .../ergosaurus/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/keyhive/ergosaurus/rules.mk             | 12 ------------
 .../keyhive/maypad/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/keyhive/maypad/rules.mk                 | 12 ------------
 .../keyhive/opus/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/keyhive/opus/rules.mk                   | 12 ------------
 .../keyhive/smallice/{info.json => keyboard.json} |  9 +++++++++
 keyboards/keyhive/smallice/rules.mk               | 12 ------------
 .../southpole/{info.json => keyboard.json}        |  8 ++++++++
 keyboards/keyhive/southpole/rules.mk              | 12 ------------
 .../keyhive/ut472/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/keyhive/ut472/rules.mk                  | 12 ------------
 .../keyprez/corgi/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/keyprez/corgi/rules.mk                  | 13 -------------
 .../keyprez/rhino/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/keyprez/rhino/rules.mk                  | 13 -------------
 .../twokey/{info.json => keyboard.json}           | 11 +++++++++++
 keyboards/keysofkings/twokey/rules.mk             | 13 -------------
 .../keyten/kt3700/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/keyten/kt3700/rules.mk                  | 12 ------------
 keyboards/kikkou/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/kikkou/rules.mk                         | 12 ------------
 .../ellora65/{info.json => keyboard.json}         | 10 ++++++++++
 keyboards/kikoslab/ellora65/rules.mk              | 13 -------------
 .../kikoslab/kl90/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/kikoslab/kl90/rules.mk                  | 14 --------------
 .../conone65/{info.json => keyboard.json}         |  8 ++++++++
 keyboards/kindakeyboards/conone65/rules.mk        | 12 ------------
 .../emu/hotswap/{info.json => keyboard.json}      |  8 ++++++++
 keyboards/kineticlabs/emu/hotswap/rules.mk        | 12 ------------
 .../emu/soldered/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/kineticlabs/emu/soldered/rules.mk       | 12 ------------
 .../ave/ortho/{info.json => keyboard.json}        | 10 ++++++++++
 keyboards/kingly_keys/ave/ortho/rules.mk          | 13 -------------
 .../ave/staggered/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/kingly_keys/ave/staggered/rules.mk      | 13 -------------
 .../little_foot/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/kingly_keys/little_foot/rules.mk        | 12 ------------
 .../romac/{info.json => keyboard.json}            |  8 ++++++++
 keyboards/kingly_keys/romac/rules.mk              | 13 -------------
 .../romac_plus/{info.json => keyboard.json}       | 11 +++++++++++
 keyboards/kingly_keys/romac_plus/rules.mk         | 12 ------------
 .../ropro/{info.json => keyboard.json}            | 10 ++++++++++
 keyboards/kingly_keys/ropro/rules.mk              | 13 -------------
 .../smd_milk/{info.json => keyboard.json}         |  9 +++++++++
 keyboards/kingly_keys/smd_milk/rules.mk           | 12 ------------
 .../kingly_keys/soap/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/kingly_keys/soap/rules.mk               | 13 -------------
 .../kira/kira75/{info.json => keyboard.json}      | 10 ++++++++++
 keyboards/kira/kira75/rules.mk                    | 12 ------------
 .../kira/kira80/{info.json => keyboard.json}      |  9 +++++++++
 keyboards/kira/kira80/rules.mk                    | 10 ----------
 .../kiwikeebs/macro/{info.json => keyboard.json}  |  9 +++++++++
 keyboards/kiwikeebs/macro/rules.mk                | 13 -------------
 .../macro_v2/{info.json => keyboard.json}         |  9 +++++++++
 keyboards/kiwikeebs/macro_v2/rules.mk             | 13 -------------
 .../wanderland/{info.json => keyboard.json}       | 10 ++++++++++
 keyboards/kiwikey/wanderland/rules.mk             | 12 ------------
 .../bakeneko60/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/kkatano/bakeneko60/rules.mk             | 12 ------------
 .../bakeneko65/rev2/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/kkatano/bakeneko65/rev2/rules.mk        | 12 ------------
 .../bakeneko65/rev3/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/kkatano/bakeneko65/rev3/rules.mk        | 12 ------------
 .../bakeneko80/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/kkatano/bakeneko80/rules.mk             | 12 ------------
 .../kkatano/wallaby/{info.json => keyboard.json}  |  8 ++++++++
 keyboards/kkatano/wallaby/rules.mk                | 12 ------------
 .../kkatano/yurei/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/kkatano/yurei/rules.mk                  | 12 ------------
 keyboards/knobgoblin/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/knobgoblin/rules.mk                     | 15 ---------------
 keyboards/knops/mini/{info.json => keyboard.json} |  8 ++++++++
 keyboards/knops/mini/rules.mk                     | 11 -----------
 .../kona_classic/{info.json => keyboard.json}     |  8 ++++++++
 keyboards/kona_classic/rules.mk                   | 11 -----------
 .../kopibeng/mnk65/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kopibeng/mnk65/rules.mk                 | 12 ------------
 .../kopibeng/mnk88/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/kopibeng/mnk88/rules.mk                 | 14 --------------
 .../kopibeng/typ65/{info.json => keyboard.json}   |  8 ++++++++
 keyboards/kopibeng/typ65/rules.mk                 | 13 -------------
 .../kopibeng/xt60/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/kopibeng/xt60/rules.mk                  | 12 ------------
 .../xt60_singa/{info.json => keyboard.json}       |  9 +++++++++
 keyboards/kopibeng/xt60_singa/rules.mk            | 12 ------------
 .../kopibeng/xt65/{info.json => keyboard.json}    | 10 ++++++++++
 keyboards/kopibeng/xt65/rules.mk                  | 12 ------------
 .../kopibeng/xt8x/{info.json => keyboard.json}    |  9 +++++++++
 keyboards/kopibeng/xt8x/rules.mk                  | 14 --------------
 .../kprepublic/bm16s/{info.json => keyboard.json} |  9 +++++++++
 keyboards/kprepublic/bm16s/rules.mk               | 12 ------------
 .../bm40hsrgb/rev1/{info.json => keyboard.json}   |  9 +++++++++
 keyboards/kprepublic/bm40hsrgb/rev1/rules.mk      | 12 ------------
 .../kprepublic/bm43a/{info.json => keyboard.json} |  8 ++++++++
 keyboards/kprepublic/bm43a/rules.mk               | 12 ------------
 .../bm43hsrgb/{info.json => keyboard.json}        |  9 +++++++++
 keyboards/kprepublic/bm43hsrgb/rules.mk           | 14 --------------
 .../rev1/{info.json => keyboard.json}             |  9 +++++++++
 .../kprepublic/bm60hsrgb_poker/rev1/rules.mk      | 13 -------------
 .../cospad/{info.json => keyboard.json}           | 10 ++++++++++
 keyboards/kprepublic/cospad/rules.mk              | 12 ------------
 .../kprepublic/jj4x4/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/kprepublic/jj4x4/rules.mk               | 12 ------------
 keyboards/ktec/daisy/{info.json => keyboard.json} | 10 ++++++++++
 keyboards/ktec/daisy/rules.mk                     | 12 ------------
 .../ktec/staryu/{info.json => keyboard.json}      | 10 ++++++++++
 keyboards/ktec/staryu/rules.mk                    | 12 ------------
 keyboards/kv/revt/{info.json => keyboard.json}    |  8 ++++++++
 keyboards/kv/revt/rules.mk                        | 12 ------------
 keyboards/kwub/bloop/{info.json => keyboard.json} |  8 ++++++++
 keyboards/kwub/bloop/rules.mk                     | 12 ------------
 keyboards/ky01/{info.json => keyboard.json}       |  8 ++++++++
 keyboards/ky01/rules.mk                           | 12 ------------
 364 files changed, 1649 insertions(+), 2270 deletions(-)
 rename keyboards/ianklug/grooveboard/{info.json => keyboard.json} (80%)
 delete mode 100644 keyboards/ianklug/grooveboard/rules.mk
 rename keyboards/ibm/model_m/ashpil_usbc/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/ibm/model_m/ashpil_usbc/rules.mk
 rename keyboards/ibm/model_m/teensy2/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/ibm/model_m/teensy2/rules.mk
 rename keyboards/ibm/model_m/yugo_m/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/ibm/model_m/yugo_m/rules.mk
 rename keyboards/ibm/model_m_122/ibm122m/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/ibm/model_m_122/ibm122m/rules.mk
 rename keyboards/ibm/model_m_122/m122_3270/blackpill/{info.json => keyboard.json} (70%)
 delete mode 100644 keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk
 rename keyboards/ibm/model_m_122/m122_3270/teensy/{info.json => keyboard.json} (68%)
 delete mode 100644 keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk
 rename keyboards/ibm/model_m_ssk/teensypp_ssk/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk
 rename keyboards/ibnuda/alicia_cook/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/ibnuda/alicia_cook/rules.mk
 rename keyboards/ibnuda/gurindam/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/ibnuda/gurindam/rules.mk
 rename keyboards/idb/idb_60/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/idb/idb_60/rules.mk
 rename keyboards/idobao/id87/v1/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/idobao/id87/v1/rules.mk
 rename keyboards/idobao/id96/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/idobao/id96/rules.mk
 rename keyboards/idobao/montex/v1/{info.json => keyboard.json} (92%)
 delete mode 100644 keyboards/idobao/montex/v1/rules.mk
 rename keyboards/idobao/montex/v1rgb/{info.json => keyboard.json} (93%)
 delete mode 100755 keyboards/idobao/montex/v1rgb/rules.mk
 rename keyboards/illuminati/is0/{info.json => keyboard.json} (76%)
 delete mode 100644 keyboards/illuminati/is0/rules.mk
 rename keyboards/illusion/rosa/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/illusion/rosa/rules.mk
 rename keyboards/ilumkb/primus75/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/ilumkb/primus75/rules.mk
 rename keyboards/ilumkb/simpler61/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/ilumkb/simpler61/rules.mk
 rename keyboards/ilumkb/simpler64/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/ilumkb/simpler64/rules.mk
 rename keyboards/ilumkb/volcano660/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/ilumkb/volcano660/rules.mk
 rename keyboards/input_club/k_type/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/input_club/k_type/rules.mk
 rename keyboards/input_club/whitefox/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/input_club/whitefox/rules.mk
 rename keyboards/io_mini1800/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/io_mini1800/rules.mk
 rename keyboards/irene/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/irene/rules.mk
 rename keyboards/iriskeyboards/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/iriskeyboards/rules.mk
 rename keyboards/iron180/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/iron180/rules.mk
 rename keyboards/j80/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/j80/rules.mk
 rename keyboards/jacky_studio/s7_elephant/rev1/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/jacky_studio/s7_elephant/rev1/rules.mk
 rename keyboards/jadookb/jkb2/{info.json => keyboard.json} (78%)
 delete mode 100644 keyboards/jadookb/jkb2/rules.mk
 rename keyboards/jae/j01/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/jae/j01/rules.mk
 rename keyboards/jc65/v32a/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/jc65/v32a/rules.mk
 rename keyboards/jc65/v32u4/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/jc65/v32u4/rules.mk
 rename keyboards/jd40/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/jd40/rules.mk
 rename keyboards/jd45/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/jd45/rules.mk
 rename keyboards/jels/jels88/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/jels/jels88/rules.mk
 rename keyboards/jkdlab/binary_monkey/{info.json => keyboard.json} (80%)
 delete mode 100644 keyboards/jkdlab/binary_monkey/rules.mk
 rename keyboards/jkeys_design/gentleman65/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/jkeys_design/gentleman65/rules.mk
 rename keyboards/jkeys_design/gentleman65_se_s/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/jkeys_design/gentleman65_se_s/rules.mk
 rename keyboards/jolofsor/denial75/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/jolofsor/denial75/rules.mk
 rename keyboards/joshajohnson/hub20/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/joshajohnson/hub20/rules.mk
 rename keyboards/k34/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/k34/rules.mk
 rename keyboards/kabedon/kabedon78s/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kabedon/kabedon78s/rules.mk
 rename keyboards/kabedon/kabedon980/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kabedon/kabedon980/rules.mk
 rename keyboards/kabedon/kabedon98e/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kabedon/kabedon98e/rules.mk
 rename keyboards/kagizaraya/halberd/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/kagizaraya/halberd/rules.mk
 rename keyboards/kapcave/arya/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kapcave/arya/rules.mk
 rename keyboards/kapcave/gskt00/{info.json => keyboard.json} (98%)
 delete mode 100755 keyboards/kapcave/gskt00/rules.mk
 rename keyboards/kapcave/paladin64/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kapcave/paladin64/rules.mk
 rename keyboards/karlb/kbic65/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/karlb/kbic65/rules.mk
 rename keyboards/kb_elmo/67mk_e/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kb_elmo/67mk_e/rules.mk
 rename keyboards/kb_elmo/noah_avr/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kb_elmo/noah_avr/rules.mk
 rename keyboards/kb_elmo/qez/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kb_elmo/qez/rules.mk
 rename keyboards/kb_elmo/vertex/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kb_elmo/vertex/rules.mk
 rename keyboards/kbdclack/kaishi65/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdclack/kaishi65/rules.mk
 rename keyboards/kbdfans/baguette66/rgb/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/baguette66/rgb/rules.mk
 rename keyboards/kbdfans/baguette66/soldered/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/baguette66/soldered/rules.mk
 rename keyboards/kbdfans/bella/soldered/{info.json => keyboard.json} (99%)
 delete mode 100755 keyboards/kbdfans/bella/soldered/rules.mk
 rename keyboards/kbdfans/boop65/rgb/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/boop65/rgb/rules.mk
 rename keyboards/kbdfans/bounce/75/hotswap/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kbdfans/bounce/75/hotswap/rules.mk
 rename keyboards/kbdfans/bounce/75/soldered/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/bounce/75/soldered/rules.mk
 rename keyboards/kbdfans/bounce/pad/{info.json => keyboard.json} (91%)
 delete mode 100644 keyboards/kbdfans/bounce/pad/rules.mk
 rename keyboards/kbdfans/epoch80/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/epoch80/rules.mk
 rename keyboards/kbdfans/kbd19x/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/kbd19x/rules.mk
 rename keyboards/kbdfans/kbd66/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/kbd66/rules.mk
 rename keyboards/kbdfans/kbd67/hotswap/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kbdfans/kbd67/hotswap/rules.mk
 rename keyboards/kbdfans/kbd67/mkii_soldered/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/kbd67/mkii_soldered/rules.mk
 rename keyboards/kbdfans/kbd67/mkiirgb/v1/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk
 rename keyboards/kbdfans/kbd67/mkiirgb/v4/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v4/rules.mk
 rename keyboards/kbdfans/kbd67/rev2/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/kbd67/rev2/rules.mk
 rename keyboards/kbdfans/kbd6x/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/kbdfans/kbd6x/rules.mk
 rename keyboards/kbdfans/kbd75hs/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kbdfans/kbd75hs/rules.mk
 rename keyboards/kbdfans/kbd8x/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kbdfans/kbd8x/rules.mk
 rename keyboards/kbdfans/kbd8x_mk2/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kbdfans/kbd8x_mk2/rules.mk
 rename keyboards/kbdfans/kbdmini/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/kbdfans/kbdmini/rules.mk
 rename keyboards/kbdfans/kbdpad/mk1/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/kbdfans/kbdpad/mk1/rules.mk
 rename keyboards/kbdfans/kbdpad/mk2/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/kbdfans/kbdpad/mk2/rules.mk
 rename keyboards/kbdfans/odin/rgb/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kbdfans/odin/rgb/rules.mk
 rename keyboards/kbdfans/odin/soldered/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/odin/soldered/rules.mk
 rename keyboards/kbdfans/odin/v2/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kbdfans/odin/v2/rules.mk
 rename keyboards/kbdfans/phaseone/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbdfans/phaseone/rules.mk
 rename keyboards/kbnordic/nordic60/rev_a/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kbnordic/nordic60/rev_a/rules.mk
 rename keyboards/kc60/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kc60/rules.mk
 rename keyboards/kc60se/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kc60se/rules.mk
 rename keyboards/keebio/bigswitchseat/{info.json => keyboard.json} (76%)
 delete mode 100644 keyboards/keebio/bigswitchseat/rules.mk
 rename keyboards/keebio/choconum/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/keebio/choconum/rules.mk
 rename keyboards/keebio/dilly/{info.json => keyboard.json} (92%)
 delete mode 100644 keyboards/keebio/dilly/rules.mk
 rename keyboards/keebio/ergodicity/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keebio/ergodicity/rules.mk
 rename keyboards/keebio/laplace/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keebio/laplace/rules.mk
 rename keyboards/keebio/stick/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/keebio/stick/rules.mk
 rename keyboards/keebio/tragicforce68/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/keebio/tragicforce68/rules.mk
 rename keyboards/keebio/tukey/{info.json => keyboard.json} (82%)
 delete mode 100644 keyboards/keebio/tukey/rules.mk
 rename keyboards/keebmonkey/kbmg68/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keebmonkey/kbmg68/rules.mk
 rename keyboards/keebsforall/coarse60/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/keebsforall/coarse60/rules.mk
 rename keyboards/keebsforall/freebird60/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/keebsforall/freebird60/rules.mk
 rename keyboards/keebsforall/freebirdnp/lite/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/keebsforall/freebirdnp/lite/rules.mk
 rename keyboards/keebsforall/freebirdnp/pro/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keebsforall/freebirdnp/pro/rules.mk
 rename keyboards/keebsforall/freebirdtkl/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/keebsforall/freebirdtkl/rules.mk
 rename keyboards/keebzdotnet/fme/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/keebzdotnet/fme/rules.mk
 rename keyboards/keebzdotnet/wazowski/{info.json => keyboard.json} (87%)
 delete mode 100644 keyboards/keebzdotnet/wazowski/rules.mk
 rename keyboards/kegen/gboy/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kegen/gboy/rules.mk
 rename keyboards/keybee/keybee65/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keybee/keybee65/rules.mk
 rename keyboards/keyboardio/atreus/{info.json => keyboard.json} (93%)
 delete mode 100644 keyboards/keyboardio/atreus/rules.mk
 rename keyboards/keycapsss/o4l_5x12/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/keycapsss/o4l_5x12/rules.mk
 rename keyboards/keychron/q60/ansi/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/q60/ansi/rules.mk
 rename keyboards/keychron/s1/ansi/rgb/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keychron/s1/ansi/rgb/rules.mk
 rename keyboards/keychron/s1/ansi/white/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keychron/s1/ansi/white/rules.mk
 rename keyboards/keychron/v2/ansi/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v2/ansi/rules.mk
 rename keyboards/keychron/v2/ansi_encoder/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/v2/ansi_encoder/rules.mk
 rename keyboards/keychron/v2/iso/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v2/iso/rules.mk
 rename keyboards/keychron/v2/iso_encoder/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/v2/iso_encoder/rules.mk
 rename keyboards/keychron/v2/jis/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v2/jis/rules.mk
 rename keyboards/keychron/v2/jis_encoder/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v2/jis_encoder/rules.mk
 rename keyboards/keychron/v3/ansi/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v3/ansi/rules.mk
 rename keyboards/keychron/v3/iso/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keychron/v3/iso/rules.mk
 rename keyboards/keychron/v3/jis/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keychron/v3/jis/rules.mk
 rename keyboards/keychron/v4/ansi/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/v4/ansi/rules.mk
 rename keyboards/keychron/v4/iso/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/v4/iso/rules.mk
 rename keyboards/keychron/v7/ansi/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v7/ansi/rules.mk
 rename keyboards/keychron/v7/iso/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v7/iso/rules.mk
 rename keyboards/keychron/v8/ansi/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v8/ansi/rules.mk
 rename keyboards/keychron/v8/ansi_encoder/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keychron/v8/ansi_encoder/rules.mk
 rename keyboards/keychron/v8/iso/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v8/iso/rules.mk
 rename keyboards/keychron/v8/iso_encoder/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keychron/v8/iso_encoder/rules.mk
 rename keyboards/keyhive/absinthe/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/keyhive/absinthe/rules.mk
 rename keyboards/keyhive/ergosaurus/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keyhive/ergosaurus/rules.mk
 rename keyboards/keyhive/maypad/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keyhive/maypad/rules.mk
 rename keyboards/keyhive/opus/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keyhive/opus/rules.mk
 rename keyboards/keyhive/smallice/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/keyhive/smallice/rules.mk
 rename keyboards/keyhive/southpole/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/keyhive/southpole/rules.mk
 rename keyboards/keyhive/ut472/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keyhive/ut472/rules.mk
 rename keyboards/keyprez/corgi/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keyprez/corgi/rules.mk
 rename keyboards/keyprez/rhino/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/keyprez/rhino/rules.mk
 rename keyboards/keysofkings/twokey/{info.json => keyboard.json} (83%)
 delete mode 100755 keyboards/keysofkings/twokey/rules.mk
 rename keyboards/keyten/kt3700/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/keyten/kt3700/rules.mk
 rename keyboards/kikkou/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kikkou/rules.mk
 rename keyboards/kikoslab/ellora65/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kikoslab/ellora65/rules.mk
 rename keyboards/kikoslab/kl90/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kikoslab/kl90/rules.mk
 rename keyboards/kindakeyboards/conone65/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kindakeyboards/conone65/rules.mk
 rename keyboards/kineticlabs/emu/hotswap/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kineticlabs/emu/hotswap/rules.mk
 rename keyboards/kineticlabs/emu/soldered/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kineticlabs/emu/soldered/rules.mk
 rename keyboards/kingly_keys/ave/ortho/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kingly_keys/ave/ortho/rules.mk
 rename keyboards/kingly_keys/ave/staggered/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kingly_keys/ave/staggered/rules.mk
 rename keyboards/kingly_keys/little_foot/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kingly_keys/little_foot/rules.mk
 rename keyboards/kingly_keys/romac/{info.json => keyboard.json} (86%)
 delete mode 100644 keyboards/kingly_keys/romac/rules.mk
 rename keyboards/kingly_keys/romac_plus/{info.json => keyboard.json} (87%)
 delete mode 100644 keyboards/kingly_keys/romac_plus/rules.mk
 rename keyboards/kingly_keys/ropro/{info.json => keyboard.json} (95%)
 delete mode 100644 keyboards/kingly_keys/ropro/rules.mk
 rename keyboards/kingly_keys/smd_milk/{info.json => keyboard.json} (85%)
 delete mode 100644 keyboards/kingly_keys/smd_milk/rules.mk
 rename keyboards/kingly_keys/soap/{info.json => keyboard.json} (87%)
 delete mode 100644 keyboards/kingly_keys/soap/rules.mk
 rename keyboards/kira/kira75/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kira/kira75/rules.mk
 rename keyboards/kira/kira80/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kira/kira80/rules.mk
 rename keyboards/kiwikeebs/macro/{info.json => keyboard.json} (84%)
 delete mode 100644 keyboards/kiwikeebs/macro/rules.mk
 rename keyboards/kiwikeebs/macro_v2/{info.json => keyboard.json} (84%)
 delete mode 100644 keyboards/kiwikeebs/macro_v2/rules.mk
 rename keyboards/kiwikey/wanderland/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kiwikey/wanderland/rules.mk
 rename keyboards/kkatano/bakeneko60/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kkatano/bakeneko60/rules.mk
 rename keyboards/kkatano/bakeneko65/rev2/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kkatano/bakeneko65/rev2/rules.mk
 rename keyboards/kkatano/bakeneko65/rev3/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kkatano/bakeneko65/rev3/rules.mk
 rename keyboards/kkatano/bakeneko80/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kkatano/bakeneko80/rules.mk
 rename keyboards/kkatano/wallaby/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kkatano/wallaby/rules.mk
 rename keyboards/kkatano/yurei/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kkatano/yurei/rules.mk
 rename keyboards/knobgoblin/{info.json => keyboard.json} (89%)
 delete mode 100644 keyboards/knobgoblin/rules.mk
 rename keyboards/knops/mini/{info.json => keyboard.json} (82%)
 delete mode 100644 keyboards/knops/mini/rules.mk
 rename keyboards/kona_classic/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kona_classic/rules.mk
 rename keyboards/kopibeng/mnk65/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/mnk65/rules.mk
 rename keyboards/kopibeng/mnk88/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/mnk88/rules.mk
 rename keyboards/kopibeng/typ65/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/typ65/rules.mk
 rename keyboards/kopibeng/xt60/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/xt60/rules.mk
 rename keyboards/kopibeng/xt60_singa/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/xt60_singa/rules.mk
 rename keyboards/kopibeng/xt65/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kopibeng/xt65/rules.mk
 rename keyboards/kopibeng/xt8x/{info.json => keyboard.json} (99%)
 delete mode 100644 keyboards/kopibeng/xt8x/rules.mk
 rename keyboards/kprepublic/bm16s/{info.json => keyboard.json} (89%)
 delete mode 100755 keyboards/kprepublic/bm16s/rules.mk
 rename keyboards/kprepublic/bm40hsrgb/rev1/{info.json => keyboard.json} (95%)
 delete mode 100755 keyboards/kprepublic/bm40hsrgb/rev1/rules.mk
 rename keyboards/kprepublic/bm43a/{info.json => keyboard.json} (94%)
 delete mode 100644 keyboards/kprepublic/bm43a/rules.mk
 rename keyboards/kprepublic/bm43hsrgb/{info.json => keyboard.json} (94%)
 delete mode 100755 keyboards/kprepublic/bm43hsrgb/rules.mk
 rename keyboards/kprepublic/bm60hsrgb_poker/rev1/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/kprepublic/bm60hsrgb_poker/rev1/rules.mk
 rename keyboards/kprepublic/cospad/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kprepublic/cospad/rules.mk
 rename keyboards/kprepublic/jj4x4/{info.json => keyboard.json} (89%)
 delete mode 100644 keyboards/kprepublic/jj4x4/rules.mk
 rename keyboards/ktec/daisy/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/ktec/daisy/rules.mk
 rename keyboards/ktec/staryu/{info.json => keyboard.json} (85%)
 delete mode 100755 keyboards/ktec/staryu/rules.mk
 rename keyboards/kv/revt/{info.json => keyboard.json} (97%)
 delete mode 100644 keyboards/kv/revt/rules.mk
 rename keyboards/kwub/bloop/{info.json => keyboard.json} (98%)
 delete mode 100644 keyboards/kwub/bloop/rules.mk
 rename keyboards/ky01/{info.json => keyboard.json} (96%)
 delete mode 100644 keyboards/ky01/rules.mk

diff --git a/keyboards/ianklug/grooveboard/info.json b/keyboards/ianklug/grooveboard/keyboard.json
similarity index 80%
rename from keyboards/ianklug/grooveboard/info.json
rename to keyboards/ianklug/grooveboard/keyboard.json
index a38e793544..81dd715867 100644
--- a/keyboards/ianklug/grooveboard/info.json
+++ b/keyboards/ianklug/grooveboard/keyboard.json
@@ -10,6 +10,14 @@
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "direct": [
             ["F7", "F6", "D1", "D2"]
diff --git a/keyboards/ianklug/grooveboard/rules.mk b/keyboards/ianklug/grooveboard/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/ianklug/grooveboard/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 = 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/ibm/model_m/ashpil_usbc/info.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
similarity index 98%
rename from keyboards/ibm/model_m/ashpil_usbc/info.json
rename to keyboards/ibm/model_m/ashpil_usbc/keyboard.json
index ffdb608edc..451589017e 100644
--- a/keyboards/ibm/model_m/ashpil_usbc/info.json
+++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["E6", "E7", "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5"],
         "rows": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0"]
diff --git a/keyboards/ibm/model_m/ashpil_usbc/rules.mk b/keyboards/ibm/model_m/ashpil_usbc/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/ibm/model_m/ashpil_usbc/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/ibm/model_m/teensy2/info.json b/keyboards/ibm/model_m/teensy2/keyboard.json
similarity index 97%
rename from keyboards/ibm/model_m/teensy2/info.json
rename to keyboards/ibm/model_m/teensy2/keyboard.json
index 19603adb7a..173f9e772f 100644
--- a/keyboards/ibm/model_m/teensy2/info.json
+++ b/keyboards/ibm/model_m/teensy2/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "B0", "B1", "B2", "B3", "B7"],
         "rows": ["D0", "D1", "D2", "D3", "C6", "C7", "D5", "D4"]
diff --git a/keyboards/ibm/model_m/teensy2/rules.mk b/keyboards/ibm/model_m/teensy2/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/ibm/model_m/teensy2/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/ibm/model_m/yugo_m/info.json b/keyboards/ibm/model_m/yugo_m/keyboard.json
similarity index 99%
rename from keyboards/ibm/model_m/yugo_m/info.json
rename to keyboards/ibm/model_m/yugo_m/keyboard.json
index f4d9cc1d94..968c637b78 100644
--- a/keyboards/ibm/model_m/yugo_m/info.json
+++ b/keyboards/ibm/model_m/yugo_m/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x8E81",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
         "rows": ["B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"]
diff --git a/keyboards/ibm/model_m/yugo_m/rules.mk b/keyboards/ibm/model_m/yugo_m/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/ibm/model_m/yugo_m/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 = 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/ibm/model_m_122/ibm122m/info.json b/keyboards/ibm/model_m_122/ibm122m/keyboard.json
similarity index 97%
rename from keyboards/ibm/model_m_122/ibm122m/info.json
rename to keyboards/ibm/model_m_122/ibm122m/keyboard.json
index 54b0e9bade..3c43d17d92 100644
--- a/keyboards/ibm/model_m_122/ibm122m/info.json
+++ b/keyboards/ibm/model_m_122/ibm122m/keyboard.json
@@ -8,6 +8,15 @@
     "pid": "0x0000",
     "device_version": "0.0.1"
   },
+  "features": {
+    "audio": true,
+    "bootmagic": false,
+    "command": true,
+    "console": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true
+  },
   "matrix_pins": {
     "cols": ["E6", "B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C7", "F1"],
     "rows": ["F0", "B5", "B4", "B3", "B2", "B1", "B0", "E7"]
diff --git a/keyboards/ibm/model_m_122/ibm122m/rules.mk b/keyboards/ibm/model_m_122/ibm122m/rules.mk
deleted file mode 100644
index 3b2469ecc8..0000000000
--- a/keyboards/ibm/model_m_122/ibm122m/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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
-AUDIO_ENABLE = yes           # Audio output
diff --git a/keyboards/ibm/model_m_122/m122_3270/blackpill/info.json b/keyboards/ibm/model_m_122/m122_3270/blackpill/keyboard.json
similarity index 70%
rename from keyboards/ibm/model_m_122/m122_3270/blackpill/info.json
rename to keyboards/ibm/model_m_122/m122_3270/blackpill/keyboard.json
index b17554b7e0..46abafb2c4 100644
--- a/keyboards/ibm/model_m_122/m122_3270/blackpill/info.json
+++ b/keyboards/ibm/model_m_122/m122_3270/blackpill/keyboard.json
@@ -2,6 +2,14 @@
     "usb": {
         "device_version": "0.0.2"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B1", "B10", "B12", "B13", "B14", "B15", "A8", "A7", "A10", "A6", "A5", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9"],
         "rows": ["C13", "C14", "C15", "A0", "A1", "A2", "A3", "A4"]
diff --git a/keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk b/keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk
deleted file mode 100644
index 0a85fffb85..0000000000
--- a/keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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
diff --git a/keyboards/ibm/model_m_122/m122_3270/teensy/info.json b/keyboards/ibm/model_m_122/m122_3270/teensy/keyboard.json
similarity index 68%
rename from keyboards/ibm/model_m_122/m122_3270/teensy/info.json
rename to keyboards/ibm/model_m_122/m122_3270/teensy/keyboard.json
index 7596f5fc15..ca2dd31fbf 100644
--- a/keyboards/ibm/model_m_122/m122_3270/teensy/info.json
+++ b/keyboards/ibm/model_m_122/m122_3270/teensy/keyboard.json
@@ -2,6 +2,14 @@
     "usb": {
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B5", "B6", "B7", "D0", "D1", "D2", "D3", "D4", "D5", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7"],
         "rows": ["F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk b/keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk
deleted file mode 100644
index 0a85fffb85..0000000000
--- a/keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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
diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/info.json b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
similarity index 96%
rename from keyboards/ibm/model_m_ssk/teensypp_ssk/info.json
rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
index fbc3076c47..5994d820f4 100644
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/info.json
+++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0", "E1", "E0", "D7", "D5", "D4", "D3", "D2", "D1"],
         "rows": ["F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk b/keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk
deleted file mode 100644
index 2904475d7d..0000000000
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes        # 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/ibnuda/alicia_cook/info.json b/keyboards/ibnuda/alicia_cook/keyboard.json
similarity index 98%
rename from keyboards/ibnuda/alicia_cook/info.json
rename to keyboards/ibnuda/alicia_cook/keyboard.json
index 1405e5d093..fd3b23285c 100644
--- a/keyboards/ibnuda/alicia_cook/info.json
+++ b/keyboards/ibnuda/alicia_cook/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6955",
         "device_version": "8.9.9"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": false,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B5", "F6", "F7", "B1", "B3", "B2", "B4", "E6", "D7", "C6", "D4", "D0", "D1"],
         "rows": ["D2", "D3", "F4", "F5"]
diff --git a/keyboards/ibnuda/alicia_cook/rules.mk b/keyboards/ibnuda/alicia_cook/rules.mk
deleted file mode 100644
index 64562f0932..0000000000
--- a/keyboards/ibnuda/alicia_cook/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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/ibnuda/gurindam/info.json b/keyboards/ibnuda/gurindam/keyboard.json
similarity index 95%
rename from keyboards/ibnuda/gurindam/info.json
rename to keyboards/ibnuda/gurindam/keyboard.json
index b4a4de5a74..e1253b7d7a 100644
--- a/keyboards/ibnuda/gurindam/info.json
+++ b/keyboards/ibnuda/gurindam/keyboard.json
@@ -25,6 +25,15 @@
     "ws2812": {
         "pin": "D3"
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F6", "F5", "F4", "F7", "B1", "B3", "B2", "B6"],
         "rows": ["B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2"]
diff --git a/keyboards/ibnuda/gurindam/rules.mk b/keyboards/ibnuda/gurindam/rules.mk
deleted file mode 100644
index 76a5b62f60..0000000000
--- a/keyboards/ibnuda/gurindam/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/idb/idb_60/info.json b/keyboards/idb/idb_60/keyboard.json
similarity index 99%
rename from keyboards/idb/idb_60/info.json
rename to keyboards/idb/idb_60/keyboard.json
index 18148f5e65..df88de1dff 100644
--- a/keyboards/idb/idb_60/info.json
+++ b/keyboards/idb/idb_60/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0001",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B2", "B3", "B4", "C6", "B6", "B7", "C7", "B5"],
         "rows": ["C2", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "B0", "B1"]
diff --git a/keyboards/idb/idb_60/rules.mk b/keyboards/idb/idb_60/rules.mk
deleted file mode 100644
index bb93c95954..0000000000
--- a/keyboards/idb/idb_60/rules.mk
+++ /dev/null
@@ -1,10 +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 = no			# Enable keyboard backlight functionality
diff --git a/keyboards/idobao/id87/v1/info.json b/keyboards/idobao/id87/v1/keyboard.json
similarity index 96%
rename from keyboards/idobao/id87/v1/info.json
rename to keyboards/idobao/id87/v1/keyboard.json
index 9b84530637..5ae86f8d5e 100644
--- a/keyboards/idobao/id87/v1/info.json
+++ b/keyboards/idobao/id87/v1/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0087",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
         "rows": ["E6", "B0", "B1", "B2", "B3", "B7", "F7", "F6", "F5", "F4", "F1"]
diff --git a/keyboards/idobao/id87/v1/rules.mk b/keyboards/idobao/id87/v1/rules.mk
deleted file mode 100644
index 3d5cb57ad5..0000000000
--- a/keyboards/idobao/id87/v1/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/idobao/id96/info.json b/keyboards/idobao/id96/keyboard.json
similarity index 98%
rename from keyboards/idobao/id96/info.json
rename to keyboards/idobao/id96/keyboard.json
index 1febd541e5..3213cd74a9 100644
--- a/keyboards/idobao/id96/info.json
+++ b/keyboards/idobao/id96/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0096",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "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/idobao/id96/rules.mk b/keyboards/idobao/id96/rules.mk
deleted file mode 100644
index 3d5cb57ad5..0000000000
--- a/keyboards/idobao/id96/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/idobao/montex/v1/info.json b/keyboards/idobao/montex/v1/keyboard.json
similarity index 92%
rename from keyboards/idobao/montex/v1/info.json
rename to keyboards/idobao/montex/v1/keyboard.json
index 2abbef46ba..d439a2d09c 100644
--- a/keyboards/idobao/montex/v1/info.json
+++ b/keyboards/idobao/montex/v1/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x6060",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D5", "D3", "D2", "D1", "D0"],
         "rows": ["D4", "D6", "D7", "B4", "B5", "C6"]
diff --git a/keyboards/idobao/montex/v1/rules.mk b/keyboards/idobao/montex/v1/rules.mk
deleted file mode 100644
index 3d5cb57ad5..0000000000
--- a/keyboards/idobao/montex/v1/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/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/keyboard.json
similarity index 93%
rename from keyboards/idobao/montex/v1rgb/info.json
rename to keyboards/idobao/montex/v1rgb/keyboard.json
index 08c62297ac..f4c18764b1 100755
--- a/keyboards/idobao/montex/v1rgb/info.json
+++ b/keyboards/idobao/montex/v1rgb/keyboard.json
@@ -35,6 +35,15 @@
         "driver": "ws2812",
         "max_brightness": 170
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["D5", "D3", "D2", "D1", "D0"],
         "rows": ["D4", "D6", "D7", "B4", "B5", "C6"]
diff --git a/keyboards/idobao/montex/v1rgb/rules.mk b/keyboards/idobao/montex/v1rgb/rules.mk
deleted file mode 100755
index 88f044a7ec..0000000000
--- a/keyboards/idobao/montex/v1rgb/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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/illuminati/is0/info.json b/keyboards/illuminati/is0/keyboard.json
similarity index 76%
rename from keyboards/illuminati/is0/info.json
rename to keyboards/illuminati/is0/keyboard.json
index b5a534e142..d03af34507 100644
--- a/keyboards/illuminati/is0/info.json
+++ b/keyboards/illuminati/is0/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0012",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["D0"],
         "rows": ["D2"]
diff --git a/keyboards/illuminati/is0/rules.mk b/keyboards/illuminati/is0/rules.mk
deleted file mode 100644
index 5e28d2cc45..0000000000
--- a/keyboards/illuminati/is0/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 = yes        # 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
diff --git a/keyboards/illusion/rosa/info.json b/keyboards/illusion/rosa/keyboard.json
similarity index 98%
rename from keyboards/illusion/rosa/info.json
rename to keyboards/illusion/rosa/keyboard.json
index d6e3ab365d..c5e9c88a77 100644
--- a/keyboards/illusion/rosa/info.json
+++ b/keyboards/illusion/rosa/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6952",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D0", "D2", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6"],
         "rows": ["D1", "D4", "F0", "B0", "B1"]
diff --git a/keyboards/illusion/rosa/rules.mk b/keyboards/illusion/rosa/rules.mk
deleted file mode 100644
index 184072b19e..0000000000
--- a/keyboards/illusion/rosa/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 = yes        # 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/ilumkb/primus75/info.json b/keyboards/ilumkb/primus75/keyboard.json
similarity index 99%
rename from keyboards/ilumkb/primus75/info.json
rename to keyboards/ilumkb/primus75/keyboard.json
index 5e32832622..f00c146740 100644
--- a/keyboards/ilumkb/primus75/info.json
+++ b/keyboards/ilumkb/primus75/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x1014",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7", "C6", "F5", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4", "F6"],
         "rows": ["D0", "D1", "D2", "D3", "D5", "B7"]
diff --git a/keyboards/ilumkb/primus75/rules.mk b/keyboards/ilumkb/primus75/rules.mk
deleted file mode 100644
index b325f3f0c7..0000000000
--- a/keyboards/ilumkb/primus75/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 = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ilumkb/simpler61/info.json b/keyboards/ilumkb/simpler61/keyboard.json
similarity index 96%
rename from keyboards/ilumkb/simpler61/info.json
rename to keyboards/ilumkb/simpler61/keyboard.json
index 9f8f5f014a..8e7680fb9f 100644
--- a/keyboards/ilumkb/simpler61/info.json
+++ b/keyboards/ilumkb/simpler61/keyboard.json
@@ -48,6 +48,15 @@
         "led_flush_limit": 26,
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
         "rows": ["F6", "F5", "F4", "F1", "F0"]
diff --git a/keyboards/ilumkb/simpler61/rules.mk b/keyboards/ilumkb/simpler61/rules.mk
deleted file mode 100644
index c2f7c0e093..0000000000
--- a/keyboards/ilumkb/simpler61/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
-RGB_MATRIX_ENABLE = yes        # Use RGB matrix
diff --git a/keyboards/ilumkb/simpler64/info.json b/keyboards/ilumkb/simpler64/keyboard.json
similarity index 96%
rename from keyboards/ilumkb/simpler64/info.json
rename to keyboards/ilumkb/simpler64/keyboard.json
index af617da861..65aa627b04 100644
--- a/keyboards/ilumkb/simpler64/info.json
+++ b/keyboards/ilumkb/simpler64/keyboard.json
@@ -48,6 +48,15 @@
         "led_flush_limit": 26,
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
         "rows": ["F6", "F5", "F4", "F1", "F0"]
diff --git a/keyboards/ilumkb/simpler64/rules.mk b/keyboards/ilumkb/simpler64/rules.mk
deleted file mode 100644
index c2f7c0e093..0000000000
--- a/keyboards/ilumkb/simpler64/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
-RGB_MATRIX_ENABLE = yes        # Use RGB matrix
diff --git a/keyboards/ilumkb/volcano660/info.json b/keyboards/ilumkb/volcano660/keyboard.json
similarity index 98%
rename from keyboards/ilumkb/volcano660/info.json
rename to keyboards/ilumkb/volcano660/keyboard.json
index 1af06ccc47..7412a249f8 100644
--- a/keyboards/ilumkb/volcano660/info.json
+++ b/keyboards/ilumkb/volcano660/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0002",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["B0", "B1", "B2", "B3", "B6"]
diff --git a/keyboards/ilumkb/volcano660/rules.mk b/keyboards/ilumkb/volcano660/rules.mk
deleted file mode 100644
index b325f3f0c7..0000000000
--- a/keyboards/ilumkb/volcano660/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 = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/input_club/k_type/info.json b/keyboards/input_club/k_type/keyboard.json
similarity index 97%
rename from keyboards/input_club/k_type/info.json
rename to keyboards/input_club/k_type/keyboard.json
index 17076a82d8..a4e8e2419e 100644
--- a/keyboards/input_club/k_type/info.json
+++ b/keyboards/input_club/k_type/keyboard.json
@@ -56,6 +56,14 @@
         },
         "driver": "custom"
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": false,
+        "mousekey": false,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B2", "B3", "B18", "B19", "C0", "C8", "C9", "D0", "D1", "D4"],
         "rows": ["D5", "D6", "D7", "C1", "C2", "C3", "C4", "C5", "C6", "C7"]
diff --git a/keyboards/input_club/k_type/rules.mk b/keyboards/input_club/k_type/rules.mk
deleted file mode 100644
index 684de50562..0000000000
--- a/keyboards/input_club/k_type/rules.mk
+++ /dev/null
@@ -1,15 +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 = 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 options
-RGB_MATRIX_ENABLE = no
diff --git a/keyboards/input_club/whitefox/info.json b/keyboards/input_club/whitefox/keyboard.json
similarity index 99%
rename from keyboards/input_club/whitefox/info.json
rename to keyboards/input_club/whitefox/keyboard.json
index 0428907fb8..d2fd36bbd5 100644
--- a/keyboards/input_club/whitefox/info.json
+++ b/keyboards/input_club/whitefox/keyboard.json
@@ -33,6 +33,15 @@
         "driver": "is31fl3731",
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "led_matrix": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B2", "B3", "B18", "B19", "C0", "C8", "C9", "C10", "C11"],
         "rows": ["D0", "D1", "D4", "D5", "D6", "D7", "C1", "C2"]
diff --git a/keyboards/input_club/whitefox/rules.mk b/keyboards/input_club/whitefox/rules.mk
deleted file mode 100644
index 821041ea83..0000000000
--- a/keyboards/input_club/whitefox/rules.mk
+++ /dev/null
@@ -1,14 +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 = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-LED_MATRIX_ENABLE = yes
-
diff --git a/keyboards/io_mini1800/info.json b/keyboards/io_mini1800/keyboard.json
similarity index 98%
rename from keyboards/io_mini1800/info.json
rename to keyboards/io_mini1800/keyboard.json
index 94400c2907..884d17aa06 100644
--- a/keyboards/io_mini1800/info.json
+++ b/keyboards/io_mini1800/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D1", "D0", "B7", "B2", "F0", "F1", "F7", "F6", "F4", "F5"],
         "rows": ["D6", "D7", "B4", "B5", "D4", "E6", "B3", "D2", "D5", "D3"]
diff --git a/keyboards/io_mini1800/rules.mk b/keyboards/io_mini1800/rules.mk
deleted file mode 100644
index 453f0a34d3..0000000000
--- a/keyboards/io_mini1800/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # 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
diff --git a/keyboards/irene/info.json b/keyboards/irene/keyboard.json
similarity index 99%
rename from keyboards/irene/info.json
rename to keyboards/irene/keyboard.json
index 67f3457c5d..fb8b1818c2 100644
--- a/keyboards/irene/info.json
+++ b/keyboards/irene/keyboard.json
@@ -26,6 +26,15 @@
     "ws2812": {
         "pin": "F1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7", "C6", "B6", "B5", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["B0", "F0", "C7", "B4", "B7"]
diff --git a/keyboards/irene/rules.mk b/keyboards/irene/rules.mk
deleted file mode 100644
index 2eba275490..0000000000
--- a/keyboards/irene/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 = no            # 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/iriskeyboards/info.json b/keyboards/iriskeyboards/keyboard.json
similarity index 99%
rename from keyboards/iriskeyboards/info.json
rename to keyboards/iriskeyboards/keyboard.json
index 08092da8d4..b0926531b6 100644
--- a/keyboards/iriskeyboards/info.json
+++ b/keyboards/iriskeyboards/keyboard.json
@@ -8,6 +8,14 @@
       "pid": "0x3031",
       "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
       "cols": ["F0", "F1", "F4", "F5", "F6", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
       "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/iriskeyboards/rules.mk b/keyboards/iriskeyboards/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/iriskeyboards/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 = 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/iron180/info.json b/keyboards/iron180/keyboard.json
similarity index 99%
rename from keyboards/iron180/info.json
rename to keyboards/iron180/keyboard.json
index b413f62d38..3952656d28 100644
--- a/keyboards/iron180/info.json
+++ b/keyboards/iron180/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x1180",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B7", "B6", "B5", "B4", "B3", "A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B2", "A4", "B1", "A3"],
         "rows": ["B9", "B8", "A15", "B0", "A7", "A5"]
diff --git a/keyboards/iron180/rules.mk b/keyboards/iron180/rules.mk
deleted file mode 100644
index 6f5c5c3b7e..0000000000
--- a/keyboards/iron180/rules.mk
+++ /dev/null
@@ -1,14 +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 = yes        # Console for debug
-COMMAND_ENABLE = yes        # 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
-ENCODER_ENABLE = no
-
diff --git a/keyboards/j80/info.json b/keyboards/j80/keyboard.json
similarity index 99%
rename from keyboards/j80/info.json
rename to keyboards/j80/keyboard.json
index 6f41163187..72745d262f 100644
--- a/keyboards/j80/info.json
+++ b/keyboards/j80/keyboard.json
@@ -8,6 +8,15 @@
     "pid": "0x422D",
     "device_version": "0.0.1"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": true,
+    "command": true,
+    "console": false,
+    "extrakey": true,
+    "mousekey": false,
+    "nkro": false
+  },
   "matrix_pins": {
     "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C6", "C5", "C4", "C3", "C2", "A0"],
     "rows": ["B1", "B2", "B3", "B5", "B6", "B7", "B0"]
diff --git a/keyboards/j80/rules.mk b/keyboards/j80/rules.mk
deleted file mode 100644
index 109bdfc4db..0000000000
--- a/keyboards/j80/rules.mk
+++ /dev/null
@@ -1,10 +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   = yes      # Commands for debug and configuration
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE  = no       # Enable keyboard RGB underglow
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/info.json b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
similarity index 99%
rename from keyboards/jacky_studio/s7_elephant/rev1/info.json
rename to keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
index bf8455ee4b..fc87e986ba 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/info.json
+++ b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
@@ -29,6 +29,15 @@
     "ws2812": {
         "pin": "E6"
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B6", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F4", "F5", "F6", "F7", "F1"],
         "rows": ["B0", "B1", "B2", "B3", "B4"]
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/rules.mk b/keyboards/jacky_studio/s7_elephant/rev1/rules.mk
deleted file mode 100644
index 718a761cb4..0000000000
--- a/keyboards/jacky_studio/s7_elephant/rev1/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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 = 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 underlight functionality
diff --git a/keyboards/jadookb/jkb2/info.json b/keyboards/jadookb/jkb2/keyboard.json
similarity index 78%
rename from keyboards/jadookb/jkb2/info.json
rename to keyboards/jadookb/jkb2/keyboard.json
index 764efa8767..4b57e3a54e 100644
--- a/keyboards/jadookb/jkb2/info.json
+++ b/keyboards/jadookb/jkb2/keyboard.json
@@ -8,6 +8,14 @@
     "pid": "0x3225",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": true,
+    "console": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true
+  },
   "matrix_pins": {
     "cols": ["B3", "B2"],
     "rows": ["B1"]
diff --git a/keyboards/jadookb/jkb2/rules.mk b/keyboards/jadookb/jkb2/rules.mk
deleted file mode 100644
index 5356b24d77..0000000000
--- a/keyboards/jadookb/jkb2/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 = 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
diff --git a/keyboards/jae/j01/info.json b/keyboards/jae/j01/keyboard.json
similarity index 97%
rename from keyboards/jae/j01/info.json
rename to keyboards/jae/j01/keyboard.json
index 57d7ee7bb3..4bf7171dd5 100644
--- a/keyboards/jae/j01/info.json
+++ b/keyboards/jae/j01/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0143",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1"],
         "rows": ["B2", "B1", "B3", "B0", "D0"]
diff --git a/keyboards/jae/j01/rules.mk b/keyboards/jae/j01/rules.mk
deleted file mode 100644
index 8dea375783..0000000000
--- a/keyboards/jae/j01/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 = yes        # 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 = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/jc65/v32a/info.json b/keyboards/jc65/v32a/keyboard.json
similarity index 95%
rename from keyboards/jc65/v32a/info.json
rename to keyboards/jc65/v32a/keyboard.json
index 8083cb0bc1..7fd13e0626 100644
--- a/keyboards/jc65/v32a/info.json
+++ b/keyboards/jc65/v32a/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x5679",
     "device_version": "2.0.0"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": true,
+    "command": true,
+    "console": false,
+    "extrakey": true,
+    "mousekey": false,
+    "nkro": false,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C6", "C5", "C4", "C3", "C2", "D7"],
     "rows": ["B0", "B1", "B2", "B3", "B4", "B6", "B7"]
diff --git a/keyboards/jc65/v32a/rules.mk b/keyboards/jc65/v32a/rules.mk
deleted file mode 100644
index 6b0cec85a4..0000000000
--- a/keyboards/jc65/v32a/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/jc65/v32u4/info.json b/keyboards/jc65/v32u4/keyboard.json
similarity index 95%
rename from keyboards/jc65/v32u4/info.json
rename to keyboards/jc65/v32u4/keyboard.json
index f173cc9783..6a8d923507 100644
--- a/keyboards/jc65/v32u4/info.json
+++ b/keyboards/jc65/v32u4/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x6060",
     "device_version": "0.0.2"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": false,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4", "F5"],
     "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/jc65/v32u4/rules.mk b/keyboards/jc65/v32u4/rules.mk
deleted file mode 100644
index 854004ccf7..0000000000
--- a/keyboards/jc65/v32u4/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = no        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/jd40/info.json b/keyboards/jd40/keyboard.json
similarity index 94%
rename from keyboards/jd40/info.json
rename to keyboards/jd40/keyboard.json
index ff352a2216..6ce0ca5da3 100644
--- a/keyboards/jd40/info.json
+++ b/keyboards/jd40/keyboard.json
@@ -28,6 +28,15 @@
   "ws2812": {
     "pin": "D3"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F4", "D7", "B5", "B6", "C6", "C7", "D4", "D6", "D5", "D0", "D1", "D2"],
     "rows": ["F0", "F1", "F5", "B4"]
diff --git a/keyboards/jd40/rules.mk b/keyboards/jd40/rules.mk
deleted file mode 100644
index 08d4d2d886..0000000000
--- a/keyboards/jd40/rules.mk
+++ /dev/null
@@ -1,11 +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 = yes		# Console for debug
-# COMMAND_ENABLE = yes		# Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-# BACKLIGHT_ENABLE = yes	# Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes          # Enable RGB Underglow
diff --git a/keyboards/jd45/info.json b/keyboards/jd45/keyboard.json
similarity index 93%
rename from keyboards/jd45/info.json
rename to keyboards/jd45/keyboard.json
index 367c9291db..c9d5bfb123 100644
--- a/keyboards/jd45/info.json
+++ b/keyboards/jd45/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x6060",
     "device_version": "0.0.1"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": true,
+    "command": true,
+    "console": true,
+    "extrakey": true,
+    "midi": true,
+    "mousekey": true,
+    "nkro": false
+  },
   "matrix_pins": {
     "cols": ["F4", "D7", "B5", "B6", "C6", "C7", "D4", "D6", "D5", "D0", "D1", "D2", "B0"],
     "rows": ["F0", "F1", "F5", "B4"]
diff --git a/keyboards/jd45/rules.mk b/keyboards/jd45/rules.mk
deleted file mode 100644
index 4870b8d6a1..0000000000
--- a/keyboards/jd45/rules.mk
+++ /dev/null
@@ -1,11 +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 = yes	# 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
-MIDI_ENABLE = yes           # MIDI support
diff --git a/keyboards/jels/jels88/info.json b/keyboards/jels/jels88/keyboard.json
similarity index 98%
rename from keyboards/jels/jels88/info.json
rename to keyboards/jels/jels88/keyboard.json
index 598075fd42..bcddf648a0 100644
--- a/keyboards/jels/jels88/info.json
+++ b/keyboards/jels/jels88/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0088",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C7", "C6", "F7", "F6", "F5", "F4", "B1", "D2", "D3"],
         "rows": ["B3", "B2", "D1", "D0", "E6", "B0", "F0", "F1", "B5", "B4", "D7", "D6"]
diff --git a/keyboards/jels/jels88/rules.mk b/keyboards/jels/jels88/rules.mk
deleted file mode 100644
index 0098dc473a..0000000000
--- a/keyboards/jels/jels88/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
diff --git a/keyboards/jkdlab/binary_monkey/info.json b/keyboards/jkdlab/binary_monkey/keyboard.json
similarity index 80%
rename from keyboards/jkdlab/binary_monkey/info.json
rename to keyboards/jkdlab/binary_monkey/keyboard.json
index 50b92ff899..c1aad15cb4 100644
--- a/keyboards/jkdlab/binary_monkey/info.json
+++ b/keyboards/jkdlab/binary_monkey/keyboard.json
@@ -9,6 +9,14 @@
         "device_version": "0.0.1",
         "max_power": 100
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D1", "D2", "D3"],
         "rows": ["D0"]
diff --git a/keyboards/jkdlab/binary_monkey/rules.mk b/keyboards/jkdlab/binary_monkey/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/jkdlab/binary_monkey/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/keyboard.json
similarity index 98%
rename from keyboards/jkeys_design/gentleman65/info.json
rename to keyboards/jkeys_design/gentleman65/keyboard.json
index 734916fb40..150cf4d351 100644
--- a/keyboards/jkeys_design/gentleman65/info.json
+++ b/keyboards/jkeys_design/gentleman65/keyboard.json
@@ -26,6 +26,16 @@
     "ws2812": {
         "pin": "F4"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "D5", "C7", "F0", "B2", "B1", "B3", "B0", "B7", "D0"],
         "rows": ["D3", "D2", "D1", "F7", "F1"]
diff --git a/keyboards/jkeys_design/gentleman65/rules.mk b/keyboards/jkeys_design/gentleman65/rules.mk
deleted file mode 100644
index bb89340fbf..0000000000
--- a/keyboards/jkeys_design/gentleman65/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = no
-ENCODER_ENABLE = yes
diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json
similarity index 98%
rename from keyboards/jkeys_design/gentleman65_se_s/info.json
rename to keyboards/jkeys_design/gentleman65_se_s/keyboard.json
index b19e5ef9a3..cd4570a765 100644
--- a/keyboards/jkeys_design/gentleman65_se_s/info.json
+++ b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json
@@ -26,6 +26,16 @@
     "ws2812": {
         "pin": "F7"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D5", "D3", "D2", "D1", "D0", "B7", "B2", "B3", "D4", "D6", "D7", "C7", "C6", "B6", "B5", "B4"],
         "rows": ["F0", "F1", "F4", "F5", "F6"]
diff --git a/keyboards/jkeys_design/gentleman65_se_s/rules.mk b/keyboards/jkeys_design/gentleman65_se_s/rules.mk
deleted file mode 100644
index f81996d702..0000000000
--- a/keyboards/jkeys_design/gentleman65_se_s/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = no
-ENCODER_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/jolofsor/denial75/info.json b/keyboards/jolofsor/denial75/keyboard.json
similarity index 96%
rename from keyboards/jolofsor/denial75/info.json
rename to keyboards/jolofsor/denial75/keyboard.json
index 18becc3ffb..e77c9e4a1f 100644
--- a/keyboards/jolofsor/denial75/info.json
+++ b/keyboards/jolofsor/denial75/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0001",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F7", "C7", "C6", "B5", "B4", "D7", "D6", "D4", "E6", "B1", "B2", "B3", "B7", "D0", "D1", "D3"],
         "rows": ["B0", "F6", "F5", "F4", "F1", "F0"]
diff --git a/keyboards/jolofsor/denial75/rules.mk b/keyboards/jolofsor/denial75/rules.mk
deleted file mode 100644
index 18684e62d3..0000000000
--- a/keyboards/jolofsor/denial75/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/joshajohnson/hub20/info.json b/keyboards/joshajohnson/hub20/keyboard.json
similarity index 95%
rename from keyboards/joshajohnson/hub20/info.json
rename to keyboards/joshajohnson/hub20/keyboard.json
index b1b25dc1d4..4bedd20c4a 100644
--- a/keyboards/joshajohnson/hub20/info.json
+++ b/keyboards/joshajohnson/hub20/keyboard.json
@@ -30,6 +30,16 @@
       },
       "driver": "ws2812"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
       "cols": ["A6", "A7", "B7", "B6"],
       "rows": ["A13", "B14", "A10", "A0", "A2", "A1"]
diff --git a/keyboards/joshajohnson/hub20/rules.mk b/keyboards/joshajohnson/hub20/rules.mk
deleted file mode 100644
index f559246b9e..0000000000
--- a/keyboards/joshajohnson/hub20/rules.mk
+++ /dev/null
@@ -1,15 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = yes
-ENCODER_ENABLE = yes
-
diff --git a/keyboards/k34/info.json b/keyboards/k34/keyboard.json
similarity index 93%
rename from keyboards/k34/info.json
rename to keyboards/k34/keyboard.json
index 715cb9060b..b9a69fb667 100644
--- a/keyboards/k34/info.json
+++ b/keyboards/k34/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D1", "D0", "D4", "C6", "D7", "F5", "F6", "F7", "B1", "B3"],
         "rows": ["F4", "B2", "E6", "B4"]
diff --git a/keyboards/k34/rules.mk b/keyboards/k34/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/k34/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kabedon/kabedon78s/info.json b/keyboards/kabedon/kabedon78s/keyboard.json
similarity index 96%
rename from keyboards/kabedon/kabedon78s/info.json
rename to keyboards/kabedon/kabedon78s/keyboard.json
index 4e8ca04aa5..b875f9b35a 100644
--- a/keyboards/kabedon/kabedon78s/info.json
+++ b/keyboards/kabedon/kabedon78s/keyboard.json
@@ -28,6 +28,16 @@
     "ws2812": {
         "pin": "B7"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true,
+        "unicode": true
+    },
     "matrix_pins": {
         "cols": ["F5", "F4", "F6", "C6", "B6", "B4", "D3", "D1", "D4", "F1", "B3", "D5", "F0", "C7", "D7", "B5", "B2", "E6"],
         "rows": ["D0", "D2", "F7", "B1", "B0", "D6"]
diff --git a/keyboards/kabedon/kabedon78s/rules.mk b/keyboards/kabedon/kabedon78s/rules.mk
deleted file mode 100644
index 360d1d3206..0000000000
--- a/keyboards/kabedon/kabedon78s/rules.mk
+++ /dev/null
@@ -1,13 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-UNICODE_ENABLE = yes        # Unicode
diff --git a/keyboards/kabedon/kabedon980/info.json b/keyboards/kabedon/kabedon980/keyboard.json
similarity index 96%
rename from keyboards/kabedon/kabedon980/info.json
rename to keyboards/kabedon/kabedon980/keyboard.json
index f443f58a3d..cf9def2b8f 100644
--- a/keyboards/kabedon/kabedon980/info.json
+++ b/keyboards/kabedon/kabedon980/keyboard.json
@@ -28,6 +28,16 @@
     "ws2812": {
         "pin": "B7"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true,
+        "unicode": true
+    },
     "matrix_pins": {
         "cols": ["F5", "F4", "F6", "C6", "B6", "B4", "D3", "D1", "D4", "F1", "B3", "D5", "F0"],
         "rows": ["D0", "D2", "F7", "B1", "B0", "D6", "C7", "D7", "B5", "B2"]
diff --git a/keyboards/kabedon/kabedon980/rules.mk b/keyboards/kabedon/kabedon980/rules.mk
deleted file mode 100644
index 360d1d3206..0000000000
--- a/keyboards/kabedon/kabedon980/rules.mk
+++ /dev/null
@@ -1,13 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-UNICODE_ENABLE = yes        # Unicode
diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/keyboard.json
similarity index 96%
rename from keyboards/kabedon/kabedon98e/info.json
rename to keyboards/kabedon/kabedon98e/keyboard.json
index 6f99aa6c30..a08bfeb0aa 100644
--- a/keyboards/kabedon/kabedon98e/info.json
+++ b/keyboards/kabedon/kabedon98e/keyboard.json
@@ -28,6 +28,16 @@
         "pin": "B4",
         "driver": "pwm"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["A0", "B7", "B8", "B6", "A3", "A2", "A1", "B9", "A7", "A5", "A6"],
         "rows": ["A4", "B10", "B2", "B1", "B0", "B15", "B13", "B14", "B12", "A10", "A9", "A8"]
diff --git a/keyboards/kabedon/kabedon98e/rules.mk b/keyboards/kabedon/kabedon98e/rules.mk
deleted file mode 100644
index 7e8534dae5..0000000000
--- a/keyboards/kabedon/kabedon98e/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/kagizaraya/halberd/info.json b/keyboards/kagizaraya/halberd/keyboard.json
similarity index 93%
rename from keyboards/kagizaraya/halberd/info.json
rename to keyboards/kagizaraya/halberd/keyboard.json
index b8e0925241..ecaa267cbd 100644
--- a/keyboards/kagizaraya/halberd/info.json
+++ b/keyboards/kagizaraya/halberd/keyboard.json
@@ -31,6 +31,15 @@
     "ws2812": {
         "pin": "F0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D7", "B4", "C7", "C6", "B6", "B5", "F7", "F6", "F5", "F4", "F1"],
         "rows": ["D6", "D4", "D5", "E6"]
diff --git a/keyboards/kagizaraya/halberd/rules.mk b/keyboards/kagizaraya/halberd/rules.mk
deleted file mode 100644
index 266798f905..0000000000
--- a/keyboards/kagizaraya/halberd/rules.mk
+++ /dev/null
@@ -1,12 +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 = yes        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kapcave/arya/info.json b/keyboards/kapcave/arya/keyboard.json
similarity index 97%
rename from keyboards/kapcave/arya/info.json
rename to keyboards/kapcave/arya/keyboard.json
index ebcb700150..9c08d91247 100644
--- a/keyboards/kapcave/arya/info.json
+++ b/keyboards/kapcave/arya/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x4152",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B5", "B4", "B2", "C13", "F1", "F0", "A14"],
         "rows": ["B8", "A13", "B1", "A15", "B9", "B10", "B11", "A0", "A8"]
diff --git a/keyboards/kapcave/arya/rules.mk b/keyboards/kapcave/arya/rules.mk
deleted file mode 100644
index 73bb6b769b..0000000000
--- a/keyboards/kapcave/arya/rules.mk
+++ /dev/null
@@ -1,14 +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 = 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
-
diff --git a/keyboards/kapcave/gskt00/info.json b/keyboards/kapcave/gskt00/keyboard.json
similarity index 98%
rename from keyboards/kapcave/gskt00/info.json
rename to keyboards/kapcave/gskt00/keyboard.json
index f6d1c99e2b..10fd2307e3 100644
--- a/keyboards/kapcave/gskt00/info.json
+++ b/keyboards/kapcave/gskt00/keyboard.json
@@ -8,6 +8,14 @@
     "pid": "0x6061",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true
+  },
   "matrix_pins": {
     "cols": ["F6", "D7", "F5", "C7", "B4", "C6", "B6", "B5"],
     "rows": ["F1", "D1", "D2", "D4", "D6", "F7", "B0", "F4"]
diff --git a/keyboards/kapcave/gskt00/rules.mk b/keyboards/kapcave/gskt00/rules.mk
deleted file mode 100755
index ebecd0f9db..0000000000
--- a/keyboards/kapcave/gskt00/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 = 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
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/kapcave/paladin64/info.json b/keyboards/kapcave/paladin64/keyboard.json
similarity index 98%
rename from keyboards/kapcave/paladin64/info.json
rename to keyboards/kapcave/paladin64/keyboard.json
index d32be70b60..d03a98be52 100644
--- a/keyboards/kapcave/paladin64/info.json
+++ b/keyboards/kapcave/paladin64/keyboard.json
@@ -11,6 +11,15 @@
     "ws2812": {
       "pin": "D0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
       "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "D1"],
       "rows": ["C6", "B6", "B5", "B4", "D7", "D6", "B0", "D3"]
diff --git a/keyboards/kapcave/paladin64/rules.mk b/keyboards/kapcave/paladin64/rules.mk
deleted file mode 100644
index b483118606..0000000000
--- a/keyboards/kapcave/paladin64/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 = 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/karlb/kbic65/info.json b/keyboards/karlb/kbic65/keyboard.json
similarity index 99%
rename from keyboards/karlb/kbic65/info.json
rename to keyboards/karlb/kbic65/keyboard.json
index 87cd3184b9..c034285189 100644
--- a/keyboards/karlb/kbic65/info.json
+++ b/keyboards/karlb/kbic65/keyboard.json
@@ -4,6 +4,14 @@
     "url": "https://karlb.eu/kbic65/",
     "maintainer": "b-karl",
     "diode_direction": "ROW2COL",
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B2", "B6", "B3", "B1", "F7", "F6", "F5", "F4"],
         "rows": ["B5", "D1", "B4", "D0", "E6", "D4", "D7", "C6", "D2"]
diff --git a/keyboards/karlb/kbic65/rules.mk b/keyboards/karlb/kbic65/rules.mk
deleted file mode 100644
index c5b4c0254f..0000000000
--- a/keyboards/karlb/kbic65/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-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
diff --git a/keyboards/kb_elmo/67mk_e/info.json b/keyboards/kb_elmo/67mk_e/keyboard.json
similarity index 99%
rename from keyboards/kb_elmo/67mk_e/info.json
rename to keyboards/kb_elmo/67mk_e/keyboard.json
index 655ba8a866..4e842f28e6 100644
--- a/keyboards/kb_elmo/67mk_e/info.json
+++ b/keyboards/kb_elmo/67mk_e/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0xD03E",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B3", "B2", "B1", "D4", "D2", "D3", "C7", "C6", "B5", "B6", "F7", "F6", "F5", "F0", "F1", "F4"],
         "rows": ["D7", "B4", "D6", "D5", "B0"]
diff --git a/keyboards/kb_elmo/67mk_e/rules.mk b/keyboards/kb_elmo/67mk_e/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kb_elmo/67mk_e/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kb_elmo/noah_avr/info.json b/keyboards/kb_elmo/noah_avr/keyboard.json
similarity index 99%
rename from keyboards/kb_elmo/noah_avr/info.json
rename to keyboards/kb_elmo/noah_avr/keyboard.json
index edc75f2b1f..48cbb6e5e2 100644
--- a/keyboards/kb_elmo/noah_avr/info.json
+++ b/keyboards/kb_elmo/noah_avr/keyboard.json
@@ -27,6 +27,15 @@
     "ws2812": {
         "pin": "B5"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D1", "D2", "D3", "D4", "C6", "C7", "F7", "F6", "F5", "F4", "F0", "F1", "B3", "B2", "B1", "B0"],
         "rows": ["B4", "B6", "D7", "D5", "D0"]
diff --git a/keyboards/kb_elmo/noah_avr/rules.mk b/keyboards/kb_elmo/noah_avr/rules.mk
deleted file mode 100644
index 951dd07d6e..0000000000
--- a/keyboards/kb_elmo/noah_avr/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 = no            # 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/kb_elmo/qez/info.json b/keyboards/kb_elmo/qez/keyboard.json
similarity index 97%
rename from keyboards/kb_elmo/qez/info.json
rename to keyboards/kb_elmo/qez/keyboard.json
index a93c918479..ab1f823043 100644
--- a/keyboards/kb_elmo/qez/info.json
+++ b/keyboards/kb_elmo/qez/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x675F",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C7", "B7", "B6", "B5", "B4", "B3", "D6", "D5", "D4", "D3"],
         "rows": ["C6", "C4", "B1", "B0"]
diff --git a/keyboards/kb_elmo/qez/rules.mk b/keyboards/kb_elmo/qez/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kb_elmo/qez/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kb_elmo/vertex/info.json b/keyboards/kb_elmo/vertex/keyboard.json
similarity index 98%
rename from keyboards/kb_elmo/vertex/info.json
rename to keyboards/kb_elmo/vertex/keyboard.json
index 4fefa6bb34..5585386296 100644
--- a/keyboards/kb_elmo/vertex/info.json
+++ b/keyboards/kb_elmo/vertex/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6B47",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C4", "C7", "D3", "D5", "B6", "D6", "B5", "B0", "B4", "B1", "B3", "B2"],
         "rows": ["D2", "D4", "B7", "C6"]
diff --git a/keyboards/kb_elmo/vertex/rules.mk b/keyboards/kb_elmo/vertex/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/kb_elmo/vertex/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 = 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/kbdclack/kaishi65/info.json b/keyboards/kbdclack/kaishi65/keyboard.json
similarity index 96%
rename from keyboards/kbdclack/kaishi65/info.json
rename to keyboards/kbdclack/kaishi65/keyboard.json
index fbae47d0f5..573f2b8a3a 100644
--- a/keyboards/kbdclack/kaishi65/info.json
+++ b/keyboards/kbdclack/kaishi65/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x1A81",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B2", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D2", "D3"],
         "rows": ["D0", "D1", "B0", "F0", "F1"]
diff --git a/keyboards/kbdclack/kaishi65/rules.mk b/keyboards/kbdclack/kaishi65/rules.mk
deleted file mode 100644
index fce764c22d..0000000000
--- a/keyboards/kbdclack/kaishi65/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/baguette66/rgb/info.json
rename to keyboards/kbdfans/baguette66/rgb/keyboard.json
index 70f0098d40..e72d56e6f9 100644
--- a/keyboards/kbdfans/baguette66/rgb/info.json
+++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json
@@ -64,6 +64,15 @@
         "val_steps": 8,
         "speed_steps": 10
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "D0", "D1", "D2", "D3", "D5", "D4", "D6"],
         "rows": ["F0", "F1", "F4", "F5", "B6"]
diff --git a/keyboards/kbdfans/baguette66/rgb/rules.mk b/keyboards/kbdfans/baguette66/rgb/rules.mk
deleted file mode 100644
index c9c55ceed1..0000000000
--- a/keyboards/kbdfans/baguette66/rgb/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 = 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     # Use RGB matrix
diff --git a/keyboards/kbdfans/baguette66/soldered/info.json b/keyboards/kbdfans/baguette66/soldered/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/baguette66/soldered/info.json
rename to keyboards/kbdfans/baguette66/soldered/keyboard.json
index adbfbf53c8..da473daf91 100644
--- a/keyboards/kbdfans/baguette66/soldered/info.json
+++ b/keyboards/kbdfans/baguette66/soldered/keyboard.json
@@ -7,6 +7,14 @@
         "pid": "0x0107",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "D0", "D1", "D2", "D3", "D5", "D4", "D6"],
         "rows": ["F0", "F1", "F4", "F5", "B6"]
diff --git a/keyboards/kbdfans/baguette66/soldered/rules.mk b/keyboards/kbdfans/baguette66/soldered/rules.mk
deleted file mode 100644
index 718a1e8d09..0000000000
--- a/keyboards/kbdfans/baguette66/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 = 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
diff --git a/keyboards/kbdfans/bella/soldered/info.json b/keyboards/kbdfans/bella/soldered/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/bella/soldered/info.json
rename to keyboards/kbdfans/bella/soldered/keyboard.json
index a1246600f0..10e45f1cf7 100644
--- a/keyboards/kbdfans/bella/soldered/info.json
+++ b/keyboards/kbdfans/bella/soldered/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0007",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["B0", "B1", "B2", "B3", "D1", "B6"]
diff --git a/keyboards/kbdfans/bella/soldered/rules.mk b/keyboards/kbdfans/bella/soldered/rules.mk
deleted file mode 100755
index b325f3f0c7..0000000000
--- a/keyboards/kbdfans/bella/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 = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kbdfans/boop65/rgb/info.json b/keyboards/kbdfans/boop65/rgb/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/boop65/rgb/info.json
rename to keyboards/kbdfans/boop65/rgb/keyboard.json
index fc7196bec0..49fa78b315 100644
--- a/keyboards/kbdfans/boop65/rgb/info.json
+++ b/keyboards/kbdfans/boop65/rgb/keyboard.json
@@ -62,6 +62,15 @@
     "max_brightness": 200,
     "sleep": true
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": false,
+    "nkro": true,
+    "rgb_matrix": true
+  },
  "matrix_pins": {
     "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
     "rows": ["F0", "F1", "F4", "E6", "C6"]
diff --git a/keyboards/kbdfans/boop65/rgb/rules.mk b/keyboards/kbdfans/boop65/rgb/rules.mk
deleted file mode 100644
index 65ec78fd37..0000000000
--- a/keyboards/kbdfans/boop65/rgb/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 = 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        # Use RGB matrix
diff --git a/keyboards/kbdfans/bounce/75/hotswap/info.json b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json
similarity index 97%
rename from keyboards/kbdfans/bounce/75/hotswap/info.json
rename to keyboards/kbdfans/bounce/75/hotswap/keyboard.json
index f467e2a909..478b4bc372 100644
--- a/keyboards/kbdfans/bounce/75/hotswap/info.json
+++ b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json
@@ -7,6 +7,15 @@
         "pid": "0x7001",
         "device_version": "0.0.3"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "F5", "F4", "F1", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["E6", "B0", "B1", "B2", "B3", "B6"]
diff --git a/keyboards/kbdfans/bounce/75/hotswap/rules.mk b/keyboards/kbdfans/bounce/75/hotswap/rules.mk
deleted file mode 100644
index b851d0ab39..0000000000
--- a/keyboards/kbdfans/bounce/75/hotswap/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kbdfans/bounce/75/soldered/info.json b/keyboards/kbdfans/bounce/75/soldered/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/bounce/75/soldered/info.json
rename to keyboards/kbdfans/bounce/75/soldered/keyboard.json
index 5fc246655d..e1610872e1 100644
--- a/keyboards/kbdfans/bounce/75/soldered/info.json
+++ b/keyboards/kbdfans/bounce/75/soldered/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x7000",
         "device_version": "0.0.3"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "F5", "F4", "F1", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["E6", "B0", "B1", "B2", "B3", "B6"]
diff --git a/keyboards/kbdfans/bounce/75/soldered/rules.mk b/keyboards/kbdfans/bounce/75/soldered/rules.mk
deleted file mode 100644
index bb40a3ee66..0000000000
--- a/keyboards/kbdfans/bounce/75/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
\ No newline at end of file
diff --git a/keyboards/kbdfans/bounce/pad/info.json b/keyboards/kbdfans/bounce/pad/keyboard.json
similarity index 91%
rename from keyboards/kbdfans/bounce/pad/info.json
rename to keyboards/kbdfans/bounce/pad/keyboard.json
index 34ae9489ac..0e4f2e9d85 100644
--- a/keyboards/kbdfans/bounce/pad/info.json
+++ b/keyboards/kbdfans/bounce/pad/keyboard.json
@@ -7,6 +7,14 @@
         "pid": "0x7002",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B5", "B4", "D0", "C2"],
         "rows": ["C7", "B7", "B6", "B0", "B1", "B2"]
diff --git a/keyboards/kbdfans/bounce/pad/rules.mk b/keyboards/kbdfans/bounce/pad/rules.mk
deleted file mode 100644
index 0942de2932..0000000000
--- a/keyboards/kbdfans/bounce/pad/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 = 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/kbdfans/epoch80/info.json b/keyboards/kbdfans/epoch80/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/epoch80/info.json
rename to keyboards/kbdfans/epoch80/keyboard.json
index 7a67933c2f..08ed973b92 100644
--- a/keyboards/kbdfans/epoch80/info.json
+++ b/keyboards/kbdfans/epoch80/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D4", "D6", "D2", "D3", "D5"],
         "rows": ["D1", "D0", "B3", "B0", "B2", "B1"]
diff --git a/keyboards/kbdfans/epoch80/rules.mk b/keyboards/kbdfans/epoch80/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kbdfans/epoch80/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kbdfans/kbd19x/info.json b/keyboards/kbdfans/kbd19x/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/kbd19x/info.json
rename to keyboards/kbdfans/kbd19x/keyboard.json
index f2b28e4a08..a8a71de3b6 100644
--- a/keyboards/kbdfans/kbd19x/info.json
+++ b/keyboards/kbdfans/kbd19x/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0191",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C6", "F1", "F4", "F5", "F6", "F7", "D7", "B4", "B5", "D0", "D1", "D2", "D3"],
         "rows": ["B7", "B3", "E6", "F0", "D5", "D4", "D6", "C7"]
diff --git a/keyboards/kbdfans/kbd19x/rules.mk b/keyboards/kbdfans/kbd19x/rules.mk
deleted file mode 100644
index a4b56c37dd..0000000000
--- a/keyboards/kbdfans/kbd19x/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/kbdfans/kbd66/info.json b/keyboards/kbdfans/kbd66/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/kbd66/info.json
rename to keyboards/kbdfans/kbd66/keyboard.json
index 3b72b8de67..d95a80baa4 100644
--- a/keyboards/kbdfans/kbd66/info.json
+++ b/keyboards/kbdfans/kbd66/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0xBD66",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["C6", "C7", "E2", "F5", "F6", "F4", "D3", "D2", "D5", "D0", "D1", "B4", "D7", "D6", "E6", "B3"],
         "rows": ["B0", "B1", "F0", "F1", "D4"]
diff --git a/keyboards/kbdfans/kbd66/rules.mk b/keyboards/kbdfans/kbd66/rules.mk
deleted file mode 100644
index df4dea661b..0000000000
--- a/keyboards/kbdfans/kbd66/rules.mk
+++ /dev/null
@@ -1,11 +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 = yes        # Console for debug
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kbdfans/kbd67/hotswap/info.json b/keyboards/kbdfans/kbd67/hotswap/keyboard.json
similarity index 97%
rename from keyboards/kbdfans/kbd67/hotswap/info.json
rename to keyboards/kbdfans/kbd67/hotswap/keyboard.json
index 32ac10767d..574633396c 100644
--- a/keyboards/kbdfans/kbd67/hotswap/info.json
+++ b/keyboards/kbdfans/kbd67/hotswap/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6065",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "E6", "D1", "D0", "D2", "D3", "D5", "D6", "D7", "C6"],
         "rows": ["B3", "B2", "B1", "B0", "D4"]
diff --git a/keyboards/kbdfans/kbd67/hotswap/rules.mk b/keyboards/kbdfans/kbd67/hotswap/rules.mk
deleted file mode 100644
index 5356b24d77..0000000000
--- a/keyboards/kbdfans/kbd67/hotswap/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 = 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
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/info.json b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/kbd67/mkii_soldered/info.json
rename to keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
index 44d5498371..7a9d4f8444 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/info.json
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0013",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5"],
         "rows": ["B3", "D0", "D1", "D2", "D3"]
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/rules.mk b/keyboards/kbdfans/kbd67/mkii_soldered/rules.mk
deleted file mode 100644
index 5e28d2cc45..0000000000
--- a/keyboards/kbdfans/kbd67/mkii_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 = yes        # 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
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
rename to keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
index adac32cc74..a90fd8b26b 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
@@ -42,6 +42,15 @@
         "max_brightness": 200,
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"],
         "rows": ["B1", "B10", "B11", "B14", "B12"]
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk
deleted file mode 100644
index 8e872c17ff..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BACKLIGHT_ENABLE = no
-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
-AUDIO_ENABLE = no
-RGB_MATRIX_ENABLE = yes            # Use RGB matrix
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
rename to keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
index 0f05bd24d0..79853d2d0f 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
@@ -58,6 +58,15 @@
         "speed_steps": 10,
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "F5", "F4", "B0", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
         "rows": ["B1", "F1", "B2", "B3", "C6"]
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/rules.mk b/keyboards/kbdfans/kbd67/mkiirgb/v4/rules.mk
deleted file mode 100644
index c552dae7c7..0000000000
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/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 = 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
diff --git a/keyboards/kbdfans/kbd67/rev2/info.json b/keyboards/kbdfans/kbd67/rev2/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/kbd67/rev2/info.json
rename to keyboards/kbdfans/kbd67/rev2/keyboard.json
index 7bd48689be..1e9d87ba0d 100644
--- a/keyboards/kbdfans/kbd67/rev2/info.json
+++ b/keyboards/kbdfans/kbd67/rev2/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x6067",
         "device_version": "0.0.2"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B1", "B2", "B3", "D1", "D2", "D3", "D6", "D7", "B4", "B6", "C6", "C7", "F7", "F6", "F5"],
         "rows": ["B7", "D0", "F0", "F1", "F4"]
diff --git a/keyboards/kbdfans/kbd67/rev2/rules.mk b/keyboards/kbdfans/kbd67/rev2/rules.mk
deleted file mode 100644
index 8ff144aa35..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/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/kbdfans/kbd6x/info.json b/keyboards/kbdfans/kbd6x/keyboard.json
similarity index 95%
rename from keyboards/kbdfans/kbd6x/info.json
rename to keyboards/kbdfans/kbd6x/keyboard.json
index 654c01c0ec..85cfdf8388 100644
--- a/keyboards/kbdfans/kbd6x/info.json
+++ b/keyboards/kbdfans/kbd6x/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x3658",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F6", "F5", "F4", "F1", "E6", "D0", "D1", "D2", "D3", "D5", "D6", "D7", "B4", "B5"],
         "rows": ["B3", "B2", "B1", "B0", "D4"]
diff --git a/keyboards/kbdfans/kbd6x/rules.mk b/keyboards/kbdfans/kbd6x/rules.mk
deleted file mode 100644
index 999f36c7db..0000000000
--- a/keyboards/kbdfans/kbd6x/rules.mk
+++ /dev/null
@@ -1,12 +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 = yes        # 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
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kbdfans/kbd75hs/info.json b/keyboards/kbdfans/kbd75hs/keyboard.json
similarity index 96%
rename from keyboards/kbdfans/kbd75hs/info.json
rename to keyboards/kbdfans/kbd75hs/keyboard.json
index 097bb6003a..3545f2357d 100644
--- a/keyboards/kbdfans/kbd75hs/info.json
+++ b/keyboards/kbdfans/kbd75hs/keyboard.json
@@ -8,6 +8,15 @@
         "device_version": "0.0.3",
         "force_nkro": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "F5", "F4", "F1", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
         "rows": ["E6", "B0", "B1", "B2", "B3", "B6"]
diff --git a/keyboards/kbdfans/kbd75hs/rules.mk b/keyboards/kbdfans/kbd75hs/rules.mk
deleted file mode 100644
index b851d0ab39..0000000000
--- a/keyboards/kbdfans/kbd75hs/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kbdfans/kbd8x/info.json b/keyboards/kbdfans/kbd8x/keyboard.json
similarity index 98%
rename from keyboards/kbdfans/kbd8x/info.json
rename to keyboards/kbdfans/kbd8x/keyboard.json
index 4dc48901dd..f98f12d8b1 100644
--- a/keyboards/kbdfans/kbd8x/info.json
+++ b/keyboards/kbdfans/kbd8x/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x0000",
     "device_version": "0.0.1"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": false,
+    "command": true,
+    "console": false,
+    "extrakey": true,
+    "mousekey": false,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["D1", "D0", "F7", "F6", "F5", "D5", "D3", "D2", "C7", "C6", "B5", "F4", "F1", "B4", "B0"],
     "rows": ["E6", "B7", "D4", "F0", "D6", "D7"]
diff --git a/keyboards/kbdfans/kbd8x/rules.mk b/keyboards/kbdfans/kbd8x/rules.mk
deleted file mode 100644
index 80535f911d..0000000000
--- a/keyboards/kbdfans/kbd8x/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes        # 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/kbdfans/kbd8x_mk2/info.json b/keyboards/kbdfans/kbd8x_mk2/keyboard.json
similarity index 98%
rename from keyboards/kbdfans/kbd8x_mk2/info.json
rename to keyboards/kbdfans/kbd8x_mk2/keyboard.json
index e6e2e5c168..1bded44b6c 100644
--- a/keyboards/kbdfans/kbd8x_mk2/info.json
+++ b/keyboards/kbdfans/kbd8x_mk2/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0005",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B0", "B1"],
         "rows": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"]
diff --git a/keyboards/kbdfans/kbd8x_mk2/rules.mk b/keyboards/kbdfans/kbd8x_mk2/rules.mk
deleted file mode 100644
index 4537738380..0000000000
--- a/keyboards/kbdfans/kbd8x_mk2/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 = yes        # 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/kbdfans/kbdmini/info.json b/keyboards/kbdfans/kbdmini/keyboard.json
similarity index 95%
rename from keyboards/kbdfans/kbdmini/info.json
rename to keyboards/kbdfans/kbdmini/keyboard.json
index 3b16188b32..8f2dade705 100644
--- a/keyboards/kbdfans/kbdmini/info.json
+++ b/keyboards/kbdfans/kbdmini/keyboard.json
@@ -40,6 +40,15 @@
         "driver": "is31fl3733",
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["B3", "B2", "B1", "B0", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
         "rows": ["B7", "E6", "F5", "F4"]
diff --git a/keyboards/kbdfans/kbdmini/rules.mk b/keyboards/kbdfans/kbdmini/rules.mk
deleted file mode 100644
index 4a443969ff..0000000000
--- a/keyboards/kbdfans/kbdmini/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/keyboard.json
similarity index 95%
rename from keyboards/kbdfans/kbdpad/mk1/info.json
rename to keyboards/kbdfans/kbdpad/mk1/keyboard.json
index fbb5649a8f..10de0d0436 100644
--- a/keyboards/kbdfans/kbdpad/mk1/info.json
+++ b/keyboards/kbdfans/kbdpad/mk1/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x422D",
         "device_version": "2.0.0"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["A0", "A1", "A2", "A3"],
         "rows": ["B0", "B1", "B2", "B3", "B4", "B5"]
diff --git a/keyboards/kbdfans/kbdpad/mk1/rules.mk b/keyboards/kbdfans/kbdpad/mk1/rules.mk
deleted file mode 100644
index ae7a0b4e16..0000000000
--- a/keyboards/kbdfans/kbdpad/mk1/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
-BACKLIGHT_ENABLE = yes
-RGBLIGHT_ENABLE = no  # PCB has underglow LEDs, but case doesn't let them show.
diff --git a/keyboards/kbdfans/kbdpad/mk2/info.json b/keyboards/kbdfans/kbdpad/mk2/keyboard.json
similarity index 94%
rename from keyboards/kbdfans/kbdpad/mk2/info.json
rename to keyboards/kbdfans/kbdpad/mk2/keyboard.json
index 8c773f43e1..7c174a62a2 100644
--- a/keyboards/kbdfans/kbdpad/mk2/info.json
+++ b/keyboards/kbdfans/kbdpad/mk2/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0006",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C4", "C5", "B3", "B2"],
         "rows": ["D3", "D1", "D2", "C6", "C7", "B6"]
diff --git a/keyboards/kbdfans/kbdpad/mk2/rules.mk b/keyboards/kbdfans/kbdpad/mk2/rules.mk
deleted file mode 100644
index 4537738380..0000000000
--- a/keyboards/kbdfans/kbdpad/mk2/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 = yes        # 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/kbdfans/odin/rgb/info.json b/keyboards/kbdfans/odin/rgb/keyboard.json
similarity index 97%
rename from keyboards/kbdfans/odin/rgb/info.json
rename to keyboards/kbdfans/odin/rgb/keyboard.json
index 064f755f42..1777e2cdc0 100644
--- a/keyboards/kbdfans/odin/rgb/info.json
+++ b/keyboards/kbdfans/odin/rgb/keyboard.json
@@ -63,6 +63,15 @@
         "max_brightness": 150,
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"],
         "rows": ["A10", "A9", "A8", "B14", "B13", "A2"]
diff --git a/keyboards/kbdfans/odin/rgb/rules.mk b/keyboards/kbdfans/odin/rgb/rules.mk
deleted file mode 100644
index c49a369dd0..0000000000
--- a/keyboards/kbdfans/odin/rgb/rules.mk
+++ /dev/null
@@ -1,14 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = yes
-
diff --git a/keyboards/kbdfans/odin/soldered/info.json b/keyboards/kbdfans/odin/soldered/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/odin/soldered/info.json
rename to keyboards/kbdfans/odin/soldered/keyboard.json
index 9eaa340a4b..42a8a0e056 100644
--- a/keyboards/kbdfans/odin/soldered/info.json
+++ b/keyboards/kbdfans/odin/soldered/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0101",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"],
         "rows": ["A10", "A9", "A8", "B14", "B13", "A2"]
diff --git a/keyboards/kbdfans/odin/soldered/rules.mk b/keyboards/kbdfans/odin/soldered/rules.mk
deleted file mode 100644
index c3b8e77d77..0000000000
--- a/keyboards/kbdfans/odin/soldered/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
diff --git a/keyboards/kbdfans/odin/v2/info.json b/keyboards/kbdfans/odin/v2/keyboard.json
similarity index 97%
rename from keyboards/kbdfans/odin/v2/info.json
rename to keyboards/kbdfans/odin/v2/keyboard.json
index 9425537125..595a5596fe 100644
--- a/keyboards/kbdfans/odin/v2/info.json
+++ b/keyboards/kbdfans/odin/v2/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0101",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"],
         "rows": ["A10", "A9", "A8", "B14", "B13", "A2"]
diff --git a/keyboards/kbdfans/odin/v2/rules.mk b/keyboards/kbdfans/odin/v2/rules.mk
deleted file mode 100644
index 0098dc473a..0000000000
--- a/keyboards/kbdfans/odin/v2/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
diff --git a/keyboards/kbdfans/phaseone/info.json b/keyboards/kbdfans/phaseone/keyboard.json
similarity index 99%
rename from keyboards/kbdfans/phaseone/info.json
rename to keyboards/kbdfans/phaseone/keyboard.json
index aea255aaf4..517dafc96b 100644
--- a/keyboards/kbdfans/phaseone/info.json
+++ b/keyboards/kbdfans/phaseone/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0103",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B5", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "E6", "B7", "D0", "D1", "D2", "D3", "D5"],
         "rows": ["B0", "B1", "B2", "B3", "B4"]
diff --git a/keyboards/kbdfans/phaseone/rules.mk b/keyboards/kbdfans/phaseone/rules.mk
deleted file mode 100644
index 3c777809b4..0000000000
--- a/keyboards/kbdfans/phaseone/rules.mk
+++ /dev/null
@@ -1,12 +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 = 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/kbnordic/nordic60/rev_a/info.json b/keyboards/kbnordic/nordic60/rev_a/keyboard.json
similarity index 99%
rename from keyboards/kbnordic/nordic60/rev_a/info.json
rename to keyboards/kbnordic/nordic60/rev_a/keyboard.json
index 1d6b6eae86..0b1da369b3 100644
--- a/keyboards/kbnordic/nordic60/rev_a/info.json
+++ b/keyboards/kbnordic/nordic60/rev_a/keyboard.json
@@ -28,6 +28,14 @@
     "ws2812": {
         "pin": "D3"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C4", "C5", "D2", "C6", "C7", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "D1", "D4"],
         "rows": ["C2", "D0", "B0", "D6", "D5"]
diff --git a/keyboards/kbnordic/nordic60/rev_a/rules.mk b/keyboards/kbnordic/nordic60/rev_a/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kbnordic/nordic60/rev_a/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kc60/info.json b/keyboards/kc60/keyboard.json
similarity index 99%
rename from keyboards/kc60/info.json
rename to keyboards/kc60/keyboard.json
index 5dbead0c5f..e2c408e0c4 100644
--- a/keyboards/kc60/info.json
+++ b/keyboards/kc60/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x6FFC",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3"],
         "rows": ["D0", "D1", "F6", "F7", "D5"]
diff --git a/keyboards/kc60/rules.mk b/keyboards/kc60/rules.mk
deleted file mode 100644
index 2b2f2b1159..0000000000
--- a/keyboards/kc60/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 = yes        # 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 = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kc60se/info.json b/keyboards/kc60se/keyboard.json
similarity index 98%
rename from keyboards/kc60se/info.json
rename to keyboards/kc60se/keyboard.json
index ff9fa35165..b7123b5749 100644
--- a/keyboards/kc60se/info.json
+++ b/keyboards/kc60se/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7", "C6", "B6", "D4", "B1", "B7", "B5", "B4", "D7", "D6", "B3"],
         "rows": ["D0", "D1", "D2", "D3", "D5"]
diff --git a/keyboards/kc60se/rules.mk b/keyboards/kc60se/rules.mk
deleted file mode 100644
index aa085b605e..0000000000
--- a/keyboards/kc60se/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # default keymap does not map mouse
-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
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keebio/bigswitchseat/info.json b/keyboards/keebio/bigswitchseat/keyboard.json
similarity index 76%
rename from keyboards/keebio/bigswitchseat/info.json
rename to keyboards/keebio/bigswitchseat/keyboard.json
index f2fe9771ed..b1acf6c1b3 100644
--- a/keyboards/keebio/bigswitchseat/info.json
+++ b/keyboards/keebio/bigswitchseat/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x1011",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0"],
         "rows": ["E6"]
diff --git a/keyboards/keebio/bigswitchseat/rules.mk b/keyboards/keebio/bigswitchseat/rules.mk
deleted file mode 100644
index 3f6eff7f55..0000000000
--- a/keyboards/keebio/bigswitchseat/rules.mk
+++ /dev/null
@@ -1,12 +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 = yes        # 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/keebio/choconum/info.json b/keyboards/keebio/choconum/keyboard.json
similarity index 93%
rename from keyboards/keebio/choconum/info.json
rename to keyboards/keebio/choconum/keyboard.json
index b5f50cc486..0315a9f3dc 100644
--- a/keyboards/keebio/choconum/info.json
+++ b/keyboards/keebio/choconum/keyboard.json
@@ -10,6 +10,14 @@
     },
     "processor": "STM32F072",
     "bootloader": "stm32-dfu",
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "direct": [
             ["B2", "B10", "B3", "B4"],
diff --git a/keyboards/keebio/choconum/rules.mk b/keyboards/keebio/choconum/rules.mk
deleted file mode 100644
index 67d4dee2c7..0000000000
--- a/keyboards/keebio/choconum/rules.mk
+++ /dev/null
@@ -1,13 +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 = yes        # 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
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
diff --git a/keyboards/keebio/dilly/info.json b/keyboards/keebio/dilly/keyboard.json
similarity index 92%
rename from keyboards/keebio/dilly/info.json
rename to keyboards/keebio/dilly/keyboard.json
index b229ca021f..4566594054 100644
--- a/keyboards/keebio/dilly/info.json
+++ b/keyboards/keebio/dilly/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x113A",
     "device_version": "1.0.0"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["D2", "D4", "C6", "F6", "F5"],
     "rows": ["D7", "E6", "B4", "B1", "B3", "B2"]
diff --git a/keyboards/keebio/dilly/rules.mk b/keyboards/keebio/dilly/rules.mk
deleted file mode 100644
index 32e82925cc..0000000000
--- a/keyboards/keebio/dilly/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
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/ergodicity/info.json b/keyboards/keebio/ergodicity/keyboard.json
similarity index 95%
rename from keyboards/keebio/ergodicity/info.json
rename to keyboards/keebio/ergodicity/keyboard.json
index 94c94193ed..1305a4359f 100644
--- a/keyboards/keebio/ergodicity/info.json
+++ b/keyboards/keebio/ergodicity/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x125F",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": false,
+        "command": false,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D4", "D3", "D2", "D1", "D0", "B7", "B3"],
         "rows": ["B0", "B1", "C7", "B6", "B4"]
diff --git a/keyboards/keebio/ergodicity/rules.mk b/keyboards/keebio/ergodicity/rules.mk
deleted file mode 100644
index c358b798e4..0000000000
--- a/keyboards/keebio/ergodicity/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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
diff --git a/keyboards/keebio/laplace/info.json b/keyboards/keebio/laplace/keyboard.json
similarity index 94%
rename from keyboards/keebio/laplace/info.json
rename to keyboards/keebio/laplace/keyboard.json
index 6a81a6e899..22cced0ee3 100644
--- a/keyboards/keebio/laplace/info.json
+++ b/keyboards/keebio/laplace/keyboard.json
@@ -26,6 +26,15 @@
     "ws2812": {
         "pin": "D4"
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D1", "F6", "F7", "B1", "B3", "B2", "B6"],
         "rows": ["D3", "F4", "D2", "F5", "D7", "B4", "C6", "E6"]
diff --git a/keyboards/keebio/laplace/rules.mk b/keyboards/keebio/laplace/rules.mk
deleted file mode 100644
index fb930c2a92..0000000000
--- a/keyboards/keebio/laplace/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/keyboard.json
similarity index 93%
rename from keyboards/keebio/stick/info.json
rename to keyboards/keebio/stick/keyboard.json
index b24d4d6430..2e2b3539ab 100644
--- a/keyboards/keebio/stick/info.json
+++ b/keyboards/keebio/stick/keyboard.json
@@ -85,6 +85,16 @@
     },
     "processor": "atmega32u4",
     "bootloader": "caterina",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "direct": [
             ["F4", "B6", "B5", "B4", "E6", "D7", "F6", "F7", "B1", "B3", "B2", "F5"]
diff --git a/keyboards/keebio/stick/rules.mk b/keyboards/keebio/stick/rules.mk
deleted file mode 100644
index 0f932779f5..0000000000
--- a/keyboards/keebio/stick/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # 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
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keebio/tragicforce68/info.json b/keyboards/keebio/tragicforce68/keyboard.json
similarity index 98%
rename from keyboards/keebio/tragicforce68/info.json
rename to keyboards/keebio/tragicforce68/keyboard.json
index 07d292728b..49ada60863 100644
--- a/keyboards/keebio/tragicforce68/info.json
+++ b/keyboards/keebio/tragicforce68/keyboard.json
@@ -8,6 +8,15 @@
     "pid": "0x0510",
     "device_version": "1.0.1"
   },
+  "features": {
+    "backlight": true,
+    "bootmagic": false,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": false
+  },
   "matrix_pins": {
     "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
     "rows": ["D3", "D2", "D1", "D0", "B4", "E6", "C6", "D7", "D4"]
diff --git a/keyboards/keebio/tragicforce68/rules.mk b/keyboards/keebio/tragicforce68/rules.mk
deleted file mode 100644
index 86bb2554d8..0000000000
--- a/keyboards/keebio/tragicforce68/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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 = no        # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keebio/tukey/info.json b/keyboards/keebio/tukey/keyboard.json
similarity index 82%
rename from keyboards/keebio/tukey/info.json
rename to keyboards/keebio/tukey/keyboard.json
index 9df46b0c1e..5d8bd37a28 100644
--- a/keyboards/keebio/tukey/info.json
+++ b/keyboards/keebio/tukey/keyboard.json
@@ -30,6 +30,15 @@
     },
     "processor": "atmega32u4",
     "bootloader": "caterina",
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
       "direct": [
         ["D4", "F6"]
diff --git a/keyboards/keebio/tukey/rules.mk b/keyboards/keebio/tukey/rules.mk
deleted file mode 100644
index 4465ace172..0000000000
--- a/keyboards/keebio/tukey/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes        # 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
diff --git a/keyboards/keebmonkey/kbmg68/info.json b/keyboards/keebmonkey/kbmg68/keyboard.json
similarity index 96%
rename from keyboards/keebmonkey/kbmg68/info.json
rename to keyboards/keebmonkey/kbmg68/keyboard.json
index b56a61f480..5cb0fa0e45 100644
--- a/keyboards/keebmonkey/kbmg68/info.json
+++ b/keyboards/keebmonkey/kbmg68/keyboard.json
@@ -29,6 +29,15 @@
     "ws2812": {
         "pin": "B0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": false,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B6", "B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C6", "C7", "F7", "F6", "F5", "F4"],
         "rows": ["B1", "B2", "B3", "B4", "B5"]
diff --git a/keyboards/keebmonkey/kbmg68/rules.mk b/keyboards/keebmonkey/kbmg68/rules.mk
deleted file mode 100644
index 10d95a7752..0000000000
--- a/keyboards/keebmonkey/kbmg68/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keebsforall/coarse60/info.json b/keyboards/keebsforall/coarse60/keyboard.json
similarity index 97%
rename from keyboards/keebsforall/coarse60/info.json
rename to keyboards/keebsforall/coarse60/keyboard.json
index 11ef47d2cc..d8e769914c 100644
--- a/keyboards/keebsforall/coarse60/info.json
+++ b/keyboards/keebsforall/coarse60/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x5341",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B1", "B0", "A7", "B14", "A5", "A4", "A3", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"],
         "rows": ["A9", "A10", "B12", "A2", "C13"]
diff --git a/keyboards/keebsforall/coarse60/rules.mk b/keyboards/keebsforall/coarse60/rules.mk
deleted file mode 100644
index 33b9c9f159..0000000000
--- a/keyboards/keebsforall/coarse60/rules.mk
+++ /dev/null
@@ -1,15 +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 = yes        # Console for debug
-COMMAND_ENABLE = yes        # 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
-ENCODER_ENABLE = yes
-
-
diff --git a/keyboards/keebsforall/freebird60/info.json b/keyboards/keebsforall/freebird60/keyboard.json
similarity index 97%
rename from keyboards/keebsforall/freebird60/info.json
rename to keyboards/keebsforall/freebird60/keyboard.json
index d2742610ac..3c4df7472a 100644
--- a/keyboards/keebsforall/freebird60/info.json
+++ b/keyboards/keebsforall/freebird60/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0xFB60",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D0", "D1", "D2", "D3", "D5"],
         "rows": ["F5", "F4", "F1", "F0", "F6"]
diff --git a/keyboards/keebsforall/freebird60/rules.mk b/keyboards/keebsforall/freebird60/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/keebsforall/freebird60/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 = 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/keebsforall/freebirdnp/lite/info.json b/keyboards/keebsforall/freebirdnp/lite/keyboard.json
similarity index 93%
rename from keyboards/keebsforall/freebirdnp/lite/info.json
rename to keyboards/keebsforall/freebirdnp/lite/keyboard.json
index 91d43ffef8..c27bb0e2b9 100644
--- a/keyboards/keebsforall/freebirdnp/lite/info.json
+++ b/keyboards/keebsforall/freebirdnp/lite/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x1013",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C7", "B2", "B1", "B0"],
         "rows": ["B7", "B6", "B5", "B4", "B3"]
diff --git a/keyboards/keebsforall/freebirdnp/lite/rules.mk b/keyboards/keebsforall/freebirdnp/lite/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/keebsforall/freebirdnp/lite/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 = 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/keebsforall/freebirdnp/pro/info.json b/keyboards/keebsforall/freebirdnp/pro/keyboard.json
similarity index 94%
rename from keyboards/keebsforall/freebirdnp/pro/info.json
rename to keyboards/keebsforall/freebirdnp/pro/keyboard.json
index f3c8307526..7ed9584f82 100644
--- a/keyboards/keebsforall/freebirdnp/pro/info.json
+++ b/keyboards/keebsforall/freebirdnp/pro/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x1014",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["C7", "B2", "B1", "B0"],
         "rows": ["D3", "B7", "B6", "B5", "B4", "B3"]
diff --git a/keyboards/keebsforall/freebirdnp/pro/rules.mk b/keyboards/keebsforall/freebirdnp/pro/rules.mk
deleted file mode 100644
index b03b6fa905..0000000000
--- a/keyboards/keebsforall/freebirdnp/pro/rules.mk
+++ /dev/null
@@ -1,13 +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 = no            # 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
diff --git a/keyboards/keebsforall/freebirdtkl/info.json b/keyboards/keebsforall/freebirdtkl/keyboard.json
similarity index 99%
rename from keyboards/keebsforall/freebirdtkl/info.json
rename to keyboards/keebsforall/freebirdtkl/keyboard.json
index eab9bcd23a..a2c6ec426d 100644
--- a/keyboards/keebsforall/freebirdtkl/info.json
+++ b/keyboards/keebsforall/freebirdtkl/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0088",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D3", "D2", "D1"],
         "rows": ["B2", "B1", "B0", "B3", "D5", "B7"]
diff --git a/keyboards/keebsforall/freebirdtkl/rules.mk b/keyboards/keebsforall/freebirdtkl/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/keebsforall/freebirdtkl/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 = 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/keebzdotnet/fme/info.json b/keyboards/keebzdotnet/fme/keyboard.json
similarity index 93%
rename from keyboards/keebzdotnet/fme/info.json
rename to keyboards/keebzdotnet/fme/keyboard.json
index 2254343f7b..f1a352c1e5 100644
--- a/keyboards/keebzdotnet/fme/info.json
+++ b/keyboards/keebzdotnet/fme/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x8008",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B4", "B1", "B3", "B2"],
         "rows": ["B6", "B5", "B7", "D2"]
diff --git a/keyboards/keebzdotnet/fme/rules.mk b/keyboards/keebzdotnet/fme/rules.mk
deleted file mode 100644
index 3b6a1809db..0000000000
--- a/keyboards/keebzdotnet/fme/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keebzdotnet/wazowski/info.json b/keyboards/keebzdotnet/wazowski/keyboard.json
similarity index 87%
rename from keyboards/keebzdotnet/wazowski/info.json
rename to keyboards/keebzdotnet/wazowski/keyboard.json
index c993b41ac9..0047deeb4c 100644
--- a/keyboards/keebzdotnet/wazowski/info.json
+++ b/keyboards/keebzdotnet/wazowski/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x53FC",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F7", "B1", "B3", "B2", "B6"],
         "rows": ["F4", "F5", "F6"]
diff --git a/keyboards/keebzdotnet/wazowski/rules.mk b/keyboards/keebzdotnet/wazowski/rules.mk
deleted file mode 100644
index 6e0404820c..0000000000
--- a/keyboards/keebzdotnet/wazowski/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 = 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/kegen/gboy/info.json b/keyboards/kegen/gboy/keyboard.json
similarity index 99%
rename from keyboards/kegen/gboy/info.json
rename to keyboards/kegen/gboy/keyboard.json
index 0e9f0f753d..8c611d6664 100644
--- a/keyboards/kegen/gboy/info.json
+++ b/keyboards/kegen/gboy/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x6762",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["E2", "E6", "C6", "C7", "D7", "B6", "B5", "B4", "B3", "B2", "B1", "B0", "D4", "D6", "D5", "F0"],
         "rows": ["F1", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/kegen/gboy/rules.mk b/keyboards/kegen/gboy/rules.mk
deleted file mode 100644
index de8df1910c..0000000000
--- a/keyboards/kegen/gboy/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# Build Options
-#   comment out to disable the options.
-#
-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
-AUDIO_ENABLE = no       # Audio output
-RGBLIGHT_ENABLE = yes   # Enable keyboard RGB underglow
diff --git a/keyboards/keybee/keybee65/info.json b/keyboards/keybee/keybee65/keyboard.json
similarity index 95%
rename from keyboards/keybee/keybee65/info.json
rename to keyboards/keybee/keybee65/keyboard.json
index 30067891d7..7952378b15 100644
--- a/keyboards/keybee/keybee65/info.json
+++ b/keyboards/keybee/keybee65/keyboard.json
@@ -18,6 +18,15 @@
     "rgblight": {
         "max_brightness": 96
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["E6", "D1", "D5", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
         "rows": ["D3", "D2", "D0", "B0", "F0"]
diff --git a/keyboards/keybee/keybee65/rules.mk b/keyboards/keybee/keybee65/rules.mk
deleted file mode 100644
index c97335f3c5..0000000000
--- a/keyboards/keybee/keybee65/rules.mk
+++ /dev/null
@@ -1,14 +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 = 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 = no
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keyboardio/atreus/info.json b/keyboards/keyboardio/atreus/keyboard.json
similarity index 93%
rename from keyboards/keyboardio/atreus/info.json
rename to keyboards/keyboardio/atreus/keyboard.json
index b251151be4..4bdea354bd 100644
--- a/keyboards/keyboardio/atreus/info.json
+++ b/keyboards/keyboardio/atreus/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x2303",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "unicode": true
+    },
     "matrix_pins": {
         "cols": ["F7", "E2", "C7", "C6", "B6", "B5", "D7", "D6", "D4", "D5", "D3", "D2"],
         "rows": ["F6", "F5", "F4", "F1"]
diff --git a/keyboards/keyboardio/atreus/rules.mk b/keyboards/keyboardio/atreus/rules.mk
deleted file mode 100644
index 2513240d91..0000000000
--- a/keyboards/keyboardio/atreus/rules.mk
+++ /dev/null
@@ -1,14 +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 = 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        # Unicode
diff --git a/keyboards/keycapsss/o4l_5x12/info.json b/keyboards/keycapsss/o4l_5x12/keyboard.json
similarity index 98%
rename from keyboards/keycapsss/o4l_5x12/info.json
rename to keyboards/keycapsss/o4l_5x12/keyboard.json
index 91dc056468..8816155fcc 100644
--- a/keyboards/keycapsss/o4l_5x12/info.json
+++ b/keyboards/keycapsss/o4l_5x12/keyboard.json
@@ -29,6 +29,15 @@
     "ws2812": {
         "pin": "D3"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1", "D2", "F6", "F5", "F4"],
         "rows": ["F7", "B1", "B3", "B2", "B6"]
diff --git a/keyboards/keycapsss/o4l_5x12/rules.mk b/keyboards/keycapsss/o4l_5x12/rules.mk
deleted file mode 100644
index ede7e9753e..0000000000
--- a/keyboards/keycapsss/o4l_5x12/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes        # 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
diff --git a/keyboards/keychron/q60/ansi/info.json b/keyboards/keychron/q60/ansi/keyboard.json
similarity index 94%
rename from keyboards/keychron/q60/ansi/info.json
rename to keyboards/keychron/q60/ansi/keyboard.json
index 1d074c5e3c..4d6f680890 100644
--- a/keyboards/keychron/q60/ansi/info.json
+++ b/keyboards/keychron/q60/ansi/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x01C0",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/q60/ansi/rules.mk b/keyboards/keychron/q60/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/q60/ansi/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/keyboard.json
similarity index 96%
rename from keyboards/keychron/s1/ansi/rgb/info.json
rename to keyboards/keychron/s1/ansi/rgb/keyboard.json
index 2e78ccfe42..23ea66071e 100644
--- a/keyboards/keychron/s1/ansi/rgb/info.json
+++ b/keyboards/keychron/s1/ansi/rgb/keyboard.json
@@ -35,6 +35,16 @@
         "driver": "snled27351",
         "sleep": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
         "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/s1/ansi/rgb/rules.mk b/keyboards/keychron/s1/ansi/rgb/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/s1/ansi/rgb/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/s1/ansi/white/info.json b/keyboards/keychron/s1/ansi/white/keyboard.json
similarity index 96%
rename from keyboards/keychron/s1/ansi/white/info.json
rename to keyboards/keychron/s1/ansi/white/keyboard.json
index 0e20c9ebe6..cab38a4ae6 100644
--- a/keyboards/keychron/s1/ansi/white/info.json
+++ b/keyboards/keychron/s1/ansi/white/keyboard.json
@@ -35,6 +35,16 @@
         "sleep": true,
         "react_on_keyup": true
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "led_matrix": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
         "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/s1/ansi/white/rules.mk b/keyboards/keychron/s1/ansi/white/rules.mk
deleted file mode 100644
index afcbe18d62..0000000000
--- a/keyboards/keychron/s1/ansi/white/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-LED_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/ansi/info.json b/keyboards/keychron/v2/ansi/keyboard.json
similarity index 95%
rename from keyboards/keychron/v2/ansi/info.json
rename to keyboards/keychron/v2/ansi/keyboard.json
index 528d437829..015aae6e3e 100644
--- a/keyboards/keychron/v2/ansi/info.json
+++ b/keyboards/keychron/v2/ansi/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0320",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/ansi/rules.mk b/keyboards/keychron/v2/ansi/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/ansi/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/ansi_encoder/info.json b/keyboards/keychron/v2/ansi_encoder/keyboard.json
similarity index 94%
rename from keyboards/keychron/v2/ansi_encoder/info.json
rename to keyboards/keychron/v2/ansi_encoder/keyboard.json
index 42efdae984..ca62bab148 100644
--- a/keyboards/keychron/v2/ansi_encoder/info.json
+++ b/keyboards/keychron/v2/ansi_encoder/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x0321",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/ansi_encoder/rules.mk b/keyboards/keychron/v2/ansi_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/ansi_encoder/rules.mk
+++ /dev/null
@@ -1,15 +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 USB 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        # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/iso/info.json b/keyboards/keychron/v2/iso/keyboard.json
similarity index 95%
rename from keyboards/keychron/v2/iso/info.json
rename to keyboards/keychron/v2/iso/keyboard.json
index 171407e75f..827f613247 100644
--- a/keyboards/keychron/v2/iso/info.json
+++ b/keyboards/keychron/v2/iso/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0322",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso/rules.mk b/keyboards/keychron/v2/iso/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/iso/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/iso_encoder/info.json b/keyboards/keychron/v2/iso_encoder/keyboard.json
similarity index 94%
rename from keyboards/keychron/v2/iso_encoder/info.json
rename to keyboards/keychron/v2/iso_encoder/keyboard.json
index 75a8bf1f1f..10774d6974 100644
--- a/keyboards/keychron/v2/iso_encoder/info.json
+++ b/keyboards/keychron/v2/iso_encoder/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x0323",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/iso_encoder/rules.mk b/keyboards/keychron/v2/iso_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/iso_encoder/rules.mk
+++ /dev/null
@@ -1,15 +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 USB 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        # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/jis/info.json b/keyboards/keychron/v2/jis/keyboard.json
similarity index 95%
rename from keyboards/keychron/v2/jis/info.json
rename to keyboards/keychron/v2/jis/keyboard.json
index 64058d4c13..c775944009 100644
--- a/keyboards/keychron/v2/jis/info.json
+++ b/keyboards/keychron/v2/jis/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0324",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis/rules.mk b/keyboards/keychron/v2/jis/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v2/jis/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v2/jis_encoder/info.json b/keyboards/keychron/v2/jis_encoder/keyboard.json
similarity index 95%
rename from keyboards/keychron/v2/jis_encoder/info.json
rename to keyboards/keychron/v2/jis_encoder/keyboard.json
index 12fadfec73..c783b3553e 100644
--- a/keyboards/keychron/v2/jis_encoder/info.json
+++ b/keyboards/keychron/v2/jis_encoder/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x0325",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v2/jis_encoder/rules.mk b/keyboards/keychron/v2/jis_encoder/rules.mk
deleted file mode 100644
index 5d77f09971..0000000000
--- a/keyboards/keychron/v2/jis_encoder/rules.mk
+++ /dev/null
@@ -1,15 +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 USB 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        # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/ansi/info.json b/keyboards/keychron/v3/ansi/keyboard.json
similarity index 95%
rename from keyboards/keychron/v3/ansi/info.json
rename to keyboards/keychron/v3/ansi/keyboard.json
index f01b2394a7..b8489a43b4 100644
--- a/keyboards/keychron/v3/ansi/info.json
+++ b/keyboards/keychron/v3/ansi/keyboard.json
@@ -3,6 +3,16 @@
     "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "usb": {
         "vid": "0x3434",
         "pid": "0x0330",
diff --git a/keyboards/keychron/v3/ansi/rules.mk b/keyboards/keychron/v3/ansi/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v3/ansi/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/iso/info.json b/keyboards/keychron/v3/iso/keyboard.json
similarity index 96%
rename from keyboards/keychron/v3/iso/info.json
rename to keyboards/keychron/v3/iso/keyboard.json
index f57ccbd7d0..b257deb1c0 100644
--- a/keyboards/keychron/v3/iso/info.json
+++ b/keyboards/keychron/v3/iso/keyboard.json
@@ -3,6 +3,16 @@
     "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": true,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "usb": {
         "vid": "0x3434",
         "pid": "0x0332",
diff --git a/keyboards/keychron/v3/iso/rules.mk b/keyboards/keychron/v3/iso/rules.mk
deleted file mode 100644
index 118bf40e5a..0000000000
--- a/keyboards/keychron/v3/iso/rules.mk
+++ /dev/null
@@ -1,14 +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 = yes         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v3/jis/info.json b/keyboards/keychron/v3/jis/keyboard.json
similarity index 96%
rename from keyboards/keychron/v3/jis/info.json
rename to keyboards/keychron/v3/jis/keyboard.json
index cce7372c31..f00716b2db 100644
--- a/keyboards/keychron/v3/jis/info.json
+++ b/keyboards/keychron/v3/jis/keyboard.json
@@ -3,6 +3,16 @@
     "manufacturer": "Keychron",
     "url": "https://github.com/Keychron",
     "maintainer": "lalalademaxiya1",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "usb": {
         "vid": "0x3434",
         "pid": "0x0334",
diff --git a/keyboards/keychron/v3/jis/rules.mk b/keyboards/keychron/v3/jis/rules.mk
deleted file mode 100644
index cf31e094cb..0000000000
--- a/keyboards/keychron/v3/jis/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v4/ansi/info.json b/keyboards/keychron/v4/ansi/keyboard.json
similarity index 94%
rename from keyboards/keychron/v4/ansi/info.json
rename to keyboards/keychron/v4/ansi/keyboard.json
index a8b980ddd6..d66eb3f956 100644
--- a/keyboards/keychron/v4/ansi/info.json
+++ b/keyboards/keychron/v4/ansi/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0340",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/ansi/rules.mk b/keyboards/keychron/v4/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v4/ansi/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v4/iso/info.json b/keyboards/keychron/v4/iso/keyboard.json
similarity index 94%
rename from keyboards/keychron/v4/iso/info.json
rename to keyboards/keychron/v4/iso/keyboard.json
index 81153c3621..c7854307e4 100644
--- a/keyboards/keychron/v4/iso/info.json
+++ b/keyboards/keychron/v4/iso/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0342",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v4/iso/rules.mk b/keyboards/keychron/v4/iso/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v4/iso/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v7/ansi/info.json b/keyboards/keychron/v7/ansi/keyboard.json
similarity index 95%
rename from keyboards/keychron/v7/ansi/info.json
rename to keyboards/keychron/v7/ansi/keyboard.json
index ea01b3ff39..a60b46dc97 100644
--- a/keyboards/keychron/v7/ansi/info.json
+++ b/keyboards/keychron/v7/ansi/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0370",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/ansi/rules.mk b/keyboards/keychron/v7/ansi/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v7/ansi/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v7/iso/info.json b/keyboards/keychron/v7/iso/keyboard.json
similarity index 95%
rename from keyboards/keychron/v7/iso/info.json
rename to keyboards/keychron/v7/iso/keyboard.json
index e241232d06..0022222635 100644
--- a/keyboards/keychron/v7/iso/info.json
+++ b/keyboards/keychron/v7/iso/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0372",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v7/iso/rules.mk b/keyboards/keychron/v7/iso/rules.mk
deleted file mode 100644
index 468ed6fae3..0000000000
--- a/keyboards/keychron/v7/iso/rules.mk
+++ /dev/null
@@ -1,14 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/ansi/info.json b/keyboards/keychron/v8/ansi/keyboard.json
similarity index 95%
rename from keyboards/keychron/v8/ansi/info.json
rename to keyboards/keychron/v8/ansi/keyboard.json
index df6ef81b8d..7827270228 100644
--- a/keyboards/keychron/v8/ansi/info.json
+++ b/keyboards/keychron/v8/ansi/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0380",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi/rules.mk b/keyboards/keychron/v8/ansi/rules.mk
deleted file mode 100644
index 50b09aa58a..0000000000
--- a/keyboards/keychron/v8/ansi/rules.mk
+++ /dev/null
@@ -1,11 +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 USB N-key Rollover
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/ansi_encoder/info.json b/keyboards/keychron/v8/ansi_encoder/keyboard.json
similarity index 94%
rename from keyboards/keychron/v8/ansi_encoder/info.json
rename to keyboards/keychron/v8/ansi_encoder/keyboard.json
index 100d215ee8..a5d84021d0 100644
--- a/keyboards/keychron/v8/ansi_encoder/info.json
+++ b/keyboards/keychron/v8/ansi_encoder/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x0381",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/ansi_encoder/rules.mk b/keyboards/keychron/v8/ansi_encoder/rules.mk
deleted file mode 100644
index bc154c1788..0000000000
--- a/keyboards/keychron/v8/ansi_encoder/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 USB N-key Rollover
-ENCODER_ENABLE = yes        # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/iso/info.json b/keyboards/keychron/v8/iso/keyboard.json
similarity index 95%
rename from keyboards/keychron/v8/iso/info.json
rename to keyboards/keychron/v8/iso/keyboard.json
index d789740644..89310111f5 100644
--- a/keyboards/keychron/v8/iso/info.json
+++ b/keyboards/keychron/v8/iso/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0382",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso/rules.mk b/keyboards/keychron/v8/iso/rules.mk
deleted file mode 100644
index 4aa9221c24..0000000000
--- a/keyboards/keychron/v8/iso/rules.mk
+++ /dev/null
@@ -1,15 +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 USB N-key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = no         # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keychron/v8/iso_encoder/info.json b/keyboards/keychron/v8/iso_encoder/keyboard.json
similarity index 95%
rename from keyboards/keychron/v8/iso_encoder/info.json
rename to keyboards/keychron/v8/iso_encoder/keyboard.json
index 23efd329aa..2e50de7421 100644
--- a/keyboards/keychron/v8/iso_encoder/info.json
+++ b/keyboards/keychron/v8/iso_encoder/keyboard.json
@@ -8,6 +8,17 @@
         "pid": "0x0383",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "dip_switch": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
         "rows": ["B4", "B3", "A15", "A14", "A13"]
diff --git a/keyboards/keychron/v8/iso_encoder/rules.mk b/keyboards/keychron/v8/iso_encoder/rules.mk
deleted file mode 100644
index bc154c1788..0000000000
--- a/keyboards/keychron/v8/iso_encoder/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 USB N-key Rollover
-ENCODER_ENABLE = yes        # Enable Encoder
-DIP_SWITCH_ENABLE = yes
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/keyhive/absinthe/info.json b/keyboards/keyhive/absinthe/keyboard.json
similarity index 97%
rename from keyboards/keyhive/absinthe/info.json
rename to keyboards/keyhive/absinthe/keyboard.json
index 1496756d9a..2a58178bf1 100644
--- a/keyboards/keyhive/absinthe/info.json
+++ b/keyboards/keyhive/absinthe/keyboard.json
@@ -23,6 +23,16 @@
     "ws2812": {
         "pin": "B0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "D3", "D0"],
         "rows": ["D2", "D1", "B6", "D4", "C6", "D7", "E6", "B4", "B5"]
diff --git a/keyboards/keyhive/absinthe/rules.mk b/keyboards/keyhive/absinthe/rules.mk
deleted file mode 100644
index 5d5924f767..0000000000
--- a/keyboards/keyhive/absinthe/rules.mk
+++ /dev/null
@@ -1,14 +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
-ENCODER_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keyhive/ergosaurus/info.json b/keyboards/keyhive/ergosaurus/keyboard.json
similarity index 96%
rename from keyboards/keyhive/ergosaurus/info.json
rename to keyboards/keyhive/ergosaurus/keyboard.json
index 76d1988da0..bce4b9d0fe 100644
--- a/keyboards/keyhive/ergosaurus/info.json
+++ b/keyboards/keyhive/ergosaurus/keyboard.json
@@ -23,6 +23,14 @@
             "static_gradient": true
         }
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D7", "C6", "D0", "D1", "F7", "B1", "B3", "B2"],
         "rows": ["B5", "B4", "E6", "D4", "F6", "D3", "D2", "F4", "F5"]
diff --git a/keyboards/keyhive/ergosaurus/rules.mk b/keyboards/keyhive/ergosaurus/rules.mk
deleted file mode 100644
index 309e55c9f4..0000000000
--- a/keyboards/keyhive/ergosaurus/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 = yes        # 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
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keyhive/maypad/info.json b/keyboards/keyhive/maypad/keyboard.json
similarity index 95%
rename from keyboards/keyhive/maypad/info.json
rename to keyboards/keyhive/maypad/keyboard.json
index 6f61b99df3..c4c39b0edd 100644
--- a/keyboards/keyhive/maypad/info.json
+++ b/keyboards/keyhive/maypad/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x4D50",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F6", "F7", "B1", "B3"],
         "rows": ["C6", "D7", "E6", "B4", "B5"]
diff --git a/keyboards/keyhive/maypad/rules.mk b/keyboards/keyhive/maypad/rules.mk
deleted file mode 100644
index 309e55c9f4..0000000000
--- a/keyboards/keyhive/maypad/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 = yes        # 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
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/keyhive/opus/info.json b/keyboards/keyhive/opus/keyboard.json
similarity index 94%
rename from keyboards/keyhive/opus/info.json
rename to keyboards/keyhive/opus/keyboard.json
index 5bef38ca0a..252958c0b9 100644
--- a/keyboards/keyhive/opus/info.json
+++ b/keyboards/keyhive/opus/keyboard.json
@@ -7,6 +7,14 @@
         "pid": "0x4F50",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6", "F7"],
         "rows": ["B1", "B3", "B2", "B6"]
diff --git a/keyboards/keyhive/opus/rules.mk b/keyboards/keyhive/opus/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/keyhive/opus/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 = 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/keyhive/smallice/info.json b/keyboards/keyhive/smallice/keyboard.json
similarity index 95%
rename from keyboards/keyhive/smallice/info.json
rename to keyboards/keyhive/smallice/keyboard.json
index fae716f820..f7118ed3cf 100644
--- a/keyboards/keyhive/smallice/info.json
+++ b/keyboards/keyhive/smallice/keyboard.json
@@ -29,6 +29,15 @@
     "ws2812": {
         "pin": "B7"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C7", "C6", "F7", "F6", "F5", "F4", "F1", "D4", "D6", "D7", "D0", "D1", "D2", "D3", "D5"],
         "rows": ["B0", "B6", "B5", "B4"]
diff --git a/keyboards/keyhive/smallice/rules.mk b/keyboards/keyhive/smallice/rules.mk
deleted file mode 100644
index 2eba275490..0000000000
--- a/keyboards/keyhive/smallice/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 = no            # 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/keyhive/southpole/info.json b/keyboards/keyhive/southpole/keyboard.json
similarity index 96%
rename from keyboards/keyhive/southpole/info.json
rename to keyboards/keyhive/southpole/keyboard.json
index 8514a29986..aea03ffc60 100644
--- a/keyboards/keyhive/southpole/info.json
+++ b/keyboards/keyhive/southpole/keyboard.json
@@ -8,6 +8,14 @@
     "pid": "0x6060",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true
+  },
   "matrix_pins": {
     "cols": ["B0", "B1", "B2", "B3", "B7", "D0", "D1", "F0", "F1", "F4", "F5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D4", "E6"],
     "rows": ["D2", "D3", "C6", "C7", "D5"]
diff --git a/keyboards/keyhive/southpole/rules.mk b/keyboards/keyhive/southpole/rules.mk
deleted file mode 100644
index e3ebdd5cf3..0000000000
--- a/keyboards/keyhive/southpole/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 = no  # Enable keyboard backlight functionality
-#AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/keyhive/ut472/info.json b/keyboards/keyhive/ut472/keyboard.json
similarity index 94%
rename from keyboards/keyhive/ut472/info.json
rename to keyboards/keyhive/ut472/keyboard.json
index 6c3dd26eef..340e521074 100644
--- a/keyboards/keyhive/ut472/info.json
+++ b/keyboards/keyhive/ut472/keyboard.json
@@ -28,6 +28,15 @@
   "ws2812": {
     "pin": "C6"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["C4", "C5", "B7", "B6", "B5", "B4", "B3", "B2", "B1", "B0", "D6", "D5"],
     "rows": ["D1", "D2", "D3", "D4"]
diff --git a/keyboards/keyhive/ut472/rules.mk b/keyboards/keyhive/ut472/rules.mk
deleted file mode 100644
index 9ebb40efd6..0000000000
--- a/keyboards/keyhive/ut472/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 = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/keyprez/corgi/info.json b/keyboards/keyprez/corgi/keyboard.json
similarity index 94%
rename from keyboards/keyprez/corgi/info.json
rename to keyboards/keyprez/corgi/keyboard.json
index 6e4c5682f5..07962899c4 100644
--- a/keyboards/keyprez/corgi/info.json
+++ b/keyboards/keyprez/corgi/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B5", "B4", "E6", "D7", "C6", "D2", "B7"],
         "rows": ["F5", "F7", "B2", "B6", "F4", "F6", "B1", "B3"]
diff --git a/keyboards/keyprez/corgi/rules.mk b/keyboards/keyprez/corgi/rules.mk
deleted file mode 100644
index b03b6fa905..0000000000
--- a/keyboards/keyprez/corgi/rules.mk
+++ /dev/null
@@ -1,13 +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 = no            # 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
diff --git a/keyboards/keyprez/rhino/info.json b/keyboards/keyprez/rhino/keyboard.json
similarity index 97%
rename from keyboards/keyprez/rhino/info.json
rename to keyboards/keyprez/rhino/keyboard.json
index 105cc0446a..4f334e8fcf 100644
--- a/keyboards/keyprez/rhino/info.json
+++ b/keyboards/keyprez/rhino/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "audio": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D3", "D2", "D4", "D7", "E6", "B4", "B5"],
         "rows": ["B3", "B2", "B6", "B1", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/keyprez/rhino/rules.mk b/keyboards/keyprez/rhino/rules.mk
deleted file mode 100644
index 7439cd7de2..0000000000
--- a/keyboards/keyprez/rhino/rules.mk
+++ /dev/null
@@ -1,13 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes           # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/keysofkings/twokey/info.json b/keyboards/keysofkings/twokey/keyboard.json
similarity index 83%
rename from keyboards/keysofkings/twokey/info.json
rename to keyboards/keysofkings/twokey/keyboard.json
index e7564bf2a5..5f9a84e58b 100644
--- a/keyboards/keysofkings/twokey/info.json
+++ b/keyboards/keysofkings/twokey/keyboard.json
@@ -29,6 +29,17 @@
     "ws2812": {
         "pin": "D3"
     },
+    "features": {
+        "audio": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["B3", "B2"],
         "rows": ["B4", "B5"]
diff --git a/keyboards/keysofkings/twokey/rules.mk b/keyboards/keysofkings/twokey/rules.mk
deleted file mode 100755
index 9982ce0a87..0000000000
--- a/keyboards/keysofkings/twokey/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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes          # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/keyten/kt3700/info.json b/keyboards/keyten/kt3700/keyboard.json
similarity index 94%
rename from keyboards/keyten/kt3700/info.json
rename to keyboards/keyten/kt3700/keyboard.json
index 1a97779711..9f89ee1453 100644
--- a/keyboards/keyten/kt3700/info.json
+++ b/keyboards/keyten/kt3700/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x3700",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B0", "B13", "B9", "B8"],
         "rows": ["B12", "B7", "B5", "B4", "B3", "A15"]
diff --git a/keyboards/keyten/kt3700/rules.mk b/keyboards/keyten/kt3700/rules.mk
deleted file mode 100644
index e3ecf72b08..0000000000
--- a/keyboards/keyten/kt3700/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kikkou/info.json b/keyboards/kikkou/keyboard.json
similarity index 97%
rename from keyboards/kikkou/info.json
rename to keyboards/kikkou/keyboard.json
index ff891e8688..af684bbc29 100644
--- a/keyboards/kikkou/info.json
+++ b/keyboards/kikkou/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6060",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
         "rows": ["F0", "F1", "F4", "F5", "E6"]
diff --git a/keyboards/kikkou/rules.mk b/keyboards/kikkou/rules.mk
deleted file mode 100644
index d65d32df0a..0000000000
--- a/keyboards/kikkou/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
\ No newline at end of file
diff --git a/keyboards/kikoslab/ellora65/info.json b/keyboards/kikoslab/ellora65/keyboard.json
similarity index 99%
rename from keyboards/kikoslab/ellora65/info.json
rename to keyboards/kikoslab/ellora65/keyboard.json
index 0ab7f7015a..9dd8404a0b 100644
--- a/keyboards/kikoslab/ellora65/info.json
+++ b/keyboards/kikoslab/ellora65/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0xE88F",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F5", "F6", "F7", "C6", "B6", "B5", "B4", "B3"],
         "rows": ["B7", "B2", "F1", "F4", "D6", "D7", "D5", "D4", "D3", "D2"]
diff --git a/keyboards/kikoslab/ellora65/rules.mk b/keyboards/kikoslab/ellora65/rules.mk
deleted file mode 100644
index 52e7b596ee..0000000000
--- a/keyboards/kikoslab/ellora65/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
\ No newline at end of file
diff --git a/keyboards/kikoslab/kl90/info.json b/keyboards/kikoslab/kl90/keyboard.json
similarity index 96%
rename from keyboards/kikoslab/kl90/info.json
rename to keyboards/kikoslab/kl90/keyboard.json
index c925c02832..391008b58f 100644
--- a/keyboards/kikoslab/kl90/info.json
+++ b/keyboards/kikoslab/kl90/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0xEA53",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "oled": true
+    },
     "matrix_pins": {
         "cols": ["F2", "F0", "A2", "A1", "A0", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2"],
         "rows": ["F1", "F3", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/kikoslab/kl90/rules.mk b/keyboards/kikoslab/kl90/rules.mk
deleted file mode 100644
index a62bc3d00c..0000000000
--- a/keyboards/kikoslab/kl90/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # 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
-OLED_ENABLE = yes
diff --git a/keyboards/kindakeyboards/conone65/info.json b/keyboards/kindakeyboards/conone65/keyboard.json
similarity index 99%
rename from keyboards/kindakeyboards/conone65/info.json
rename to keyboards/kindakeyboards/conone65/keyboard.json
index 6639665ba9..0c44723f62 100644
--- a/keyboards/kindakeyboards/conone65/info.json
+++ b/keyboards/kindakeyboards/conone65/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6AAB",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B7", "F7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F6", "F5", "F4", "F1", "F0", "D0"],
         "rows": ["D5", "D3", "E6", "D1", "D2"]
diff --git a/keyboards/kindakeyboards/conone65/rules.mk b/keyboards/kindakeyboards/conone65/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/kindakeyboards/conone65/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 = 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/kineticlabs/emu/hotswap/info.json b/keyboards/kineticlabs/emu/hotswap/keyboard.json
similarity index 96%
rename from keyboards/kineticlabs/emu/hotswap/info.json
rename to keyboards/kineticlabs/emu/hotswap/keyboard.json
index 8f9cb70fe0..ec53c2f6bf 100644
--- a/keyboards/kineticlabs/emu/hotswap/info.json
+++ b/keyboards/kineticlabs/emu/hotswap/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0xC387",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["E6", "D4", "B3", "B1", "B0", "B7"]
diff --git a/keyboards/kineticlabs/emu/hotswap/rules.mk b/keyboards/kineticlabs/emu/hotswap/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kineticlabs/emu/hotswap/rules.mk
+++ /dev/null
@@ -1,12 +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
diff --git a/keyboards/kineticlabs/emu/soldered/info.json b/keyboards/kineticlabs/emu/soldered/keyboard.json
similarity index 98%
rename from keyboards/kineticlabs/emu/soldered/info.json
rename to keyboards/kineticlabs/emu/soldered/keyboard.json
index 811a837f5a..4aaf523d2a 100644
--- a/keyboards/kineticlabs/emu/soldered/info.json
+++ b/keyboards/kineticlabs/emu/soldered/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0xC386",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["E6", "D4", "B3", "B1", "B0", "B7"]
diff --git a/keyboards/kineticlabs/emu/soldered/rules.mk b/keyboards/kineticlabs/emu/soldered/rules.mk
deleted file mode 100644
index 6fe874e748..0000000000
--- a/keyboards/kineticlabs/emu/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 = 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
diff --git a/keyboards/kingly_keys/ave/ortho/info.json b/keyboards/kingly_keys/ave/ortho/keyboard.json
similarity index 97%
rename from keyboards/kingly_keys/ave/ortho/info.json
rename to keyboards/kingly_keys/ave/ortho/keyboard.json
index c17f41dcb4..8c91b27615 100644
--- a/keyboards/kingly_keys/ave/ortho/info.json
+++ b/keyboards/kingly_keys/ave/ortho/keyboard.json
@@ -8,6 +8,16 @@
       "pid": "0x1225",
       "device_version": "0.1.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "encoder": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": false,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
     "rows": ["B3", "F4", "F7", "F6", "F5"]
diff --git a/keyboards/kingly_keys/ave/ortho/rules.mk b/keyboards/kingly_keys/ave/ortho/rules.mk
deleted file mode 100644
index 12ee1bcfbd..0000000000
--- a/keyboards/kingly_keys/ave/ortho/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
diff --git a/keyboards/kingly_keys/ave/staggered/info.json b/keyboards/kingly_keys/ave/staggered/keyboard.json
similarity index 96%
rename from keyboards/kingly_keys/ave/staggered/info.json
rename to keyboards/kingly_keys/ave/staggered/keyboard.json
index 66e6bb3a4c..581e86c11b 100644
--- a/keyboards/kingly_keys/ave/staggered/info.json
+++ b/keyboards/kingly_keys/ave/staggered/keyboard.json
@@ -8,6 +8,16 @@
      "pid": "0x1225",
      "device_version": "0.1.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "encoder": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": false,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
     "rows": ["B3", "F4", "F7", "F6", "F5"]
diff --git a/keyboards/kingly_keys/ave/staggered/rules.mk b/keyboards/kingly_keys/ave/staggered/rules.mk
deleted file mode 100644
index 12ee1bcfbd..0000000000
--- a/keyboards/kingly_keys/ave/staggered/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
diff --git a/keyboards/kingly_keys/little_foot/info.json b/keyboards/kingly_keys/little_foot/keyboard.json
similarity index 96%
rename from keyboards/kingly_keys/little_foot/info.json
rename to keyboards/kingly_keys/little_foot/keyboard.json
index 314693d561..19e6a0f547 100644
--- a/keyboards/kingly_keys/little_foot/info.json
+++ b/keyboards/kingly_keys/little_foot/keyboard.json
@@ -30,6 +30,15 @@
   "ws2812": {
     "pin": "F4"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F5", "F7", "B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1"],
     "rows": ["F6", "B6", "B2", "B3", "B1"]
diff --git a/keyboards/kingly_keys/little_foot/rules.mk b/keyboards/kingly_keys/little_foot/rules.mk
deleted file mode 100644
index 53b742083f..0000000000
--- a/keyboards/kingly_keys/little_foot/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 = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kingly_keys/romac/info.json b/keyboards/kingly_keys/romac/keyboard.json
similarity index 86%
rename from keyboards/kingly_keys/romac/info.json
rename to keyboards/kingly_keys/romac/keyboard.json
index a6a8a4b8eb..4c5e929848 100644
--- a/keyboards/kingly_keys/romac/info.json
+++ b/keyboards/kingly_keys/romac/keyboard.json
@@ -8,6 +8,14 @@
     "pid": "0x0001",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true
+  },
   "matrix_pins": {
     "cols": ["F7", "B1", "B3"],
     "rows": ["D4", "C6", "D7", "E6"]
diff --git a/keyboards/kingly_keys/romac/rules.mk b/keyboards/kingly_keys/romac/rules.mk
deleted file mode 100644
index 5e7b5aadb5..0000000000
--- a/keyboards/kingly_keys/romac/rules.mk
+++ /dev/null
@@ -1,13 +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 = no  # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-
diff --git a/keyboards/kingly_keys/romac_plus/info.json b/keyboards/kingly_keys/romac_plus/keyboard.json
similarity index 87%
rename from keyboards/kingly_keys/romac_plus/info.json
rename to keyboards/kingly_keys/romac_plus/keyboard.json
index 5808d7fe58..bc4ad616e1 100644
--- a/keyboards/kingly_keys/romac_plus/info.json
+++ b/keyboards/kingly_keys/romac_plus/keyboard.json
@@ -8,6 +8,17 @@
     "pid": "0x0002",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "encoder": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": false,
+    "oled": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F6", "F5", "F4"],
     "rows": ["C6", "D4", "D2", "D3"]
diff --git a/keyboards/kingly_keys/romac_plus/rules.mk b/keyboards/kingly_keys/romac_plus/rules.mk
deleted file mode 100644
index 3eef56841c..0000000000
--- a/keyboards/kingly_keys/romac_plus/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
-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        # Enable support for EC11 Rotary Encoder
-OLED_ENABLE = yes
diff --git a/keyboards/kingly_keys/ropro/info.json b/keyboards/kingly_keys/ropro/keyboard.json
similarity index 95%
rename from keyboards/kingly_keys/ropro/info.json
rename to keyboards/kingly_keys/ropro/keyboard.json
index 8026d5c764..ed0bba5366 100644
--- a/keyboards/kingly_keys/ropro/info.json
+++ b/keyboards/kingly_keys/ropro/keyboard.json
@@ -8,6 +8,16 @@
     "pid": "0x0002",
     "device_version": "0.0.1"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "encoder": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F0", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "B3", "B2", "B6", "D2", "C7"],
     "rows": ["F4", "F5", "F6", "F7", "B1", "F1", null]
diff --git a/keyboards/kingly_keys/ropro/rules.mk b/keyboards/kingly_keys/ropro/rules.mk
deleted file mode 100644
index 2fde11543f..0000000000
--- a/keyboards/kingly_keys/ropro/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kingly_keys/smd_milk/info.json b/keyboards/kingly_keys/smd_milk/keyboard.json
similarity index 85%
rename from keyboards/kingly_keys/smd_milk/info.json
rename to keyboards/kingly_keys/smd_milk/keyboard.json
index 84174ac248..e510ea80b4 100644
--- a/keyboards/kingly_keys/smd_milk/info.json
+++ b/keyboards/kingly_keys/smd_milk/keyboard.json
@@ -30,6 +30,15 @@
   "ws2812": {
     "pin": "B3"
   },
+  "features": {
+    "bootmagic": false,
+    "command": true,
+    "console": true,
+    "extrakey": false,
+    "mousekey": false,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["D3"],
     "rows": ["C5", "D2"]
diff --git a/keyboards/kingly_keys/smd_milk/rules.mk b/keyboards/kingly_keys/smd_milk/rules.mk
deleted file mode 100644
index 5d1006936d..0000000000
--- a/keyboards/kingly_keys/smd_milk/rules.mk
+++ /dev/null
@@ -1,12 +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  = yes	# Console for debug
-COMMAND_ENABLE  = yes    # Commands for debug and configuration
-NKRO_ENABLE = yes           # Enable N-Key Rollover
-BACKLIGHT_ENABLE  = no  # Custom backlighting code is used, so this should not be enabled
-AUDIO_ENABLE  = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
-RGBLIGHT_ENABLE  = yes # This can be enabled if a ws2812 strip is connected to the expansion port.
diff --git a/keyboards/kingly_keys/soap/info.json b/keyboards/kingly_keys/soap/keyboard.json
similarity index 87%
rename from keyboards/kingly_keys/soap/info.json
rename to keyboards/kingly_keys/soap/keyboard.json
index e6d2cee421..b4f8fb9e86 100644
--- a/keyboards/kingly_keys/soap/info.json
+++ b/keyboards/kingly_keys/soap/keyboard.json
@@ -26,6 +26,16 @@
   "ws2812": {
     "pin": "B6"
   },
+  "features": {
+    "bootmagic": true,
+    "command": false,
+    "console": false,
+    "encoder": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": true,
+    "rgblight": true
+  },
   "matrix_pins": {
     "cols": ["F4", "F1", "F0", "D5"],
     "rows": ["C7", "C6"]
diff --git a/keyboards/kingly_keys/soap/rules.mk b/keyboards/kingly_keys/soap/rules.mk
deleted file mode 100644
index 2fde11543f..0000000000
--- a/keyboards/kingly_keys/soap/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kira/kira75/info.json b/keyboards/kira/kira75/keyboard.json
similarity index 96%
rename from keyboards/kira/kira75/info.json
rename to keyboards/kira/kira75/keyboard.json
index 0a923fa44e..c48f2bf492 100644
--- a/keyboards/kira/kira75/info.json
+++ b/keyboards/kira/kira75/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F6", "F7", "C7", "C6", "B6", "B5", "B4", "F5", "F4", "F1", "F0", "E6", "B3", "B2", "B1", "B0"],
         "rows": ["D0", "D1", "D2", "D3", "D5", "D4"]
diff --git a/keyboards/kira/kira75/rules.mk b/keyboards/kira/kira75/rules.mk
deleted file mode 100644
index 609fcf84a8..0000000000
--- a/keyboards/kira/kira75/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes        # 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
diff --git a/keyboards/kira/kira80/info.json b/keyboards/kira/kira80/keyboard.json
similarity index 99%
rename from keyboards/kira/kira80/info.json
rename to keyboards/kira/kira80/keyboard.json
index 0ec9e0b258..137e1f6565 100644
--- a/keyboards/kira/kira80/info.json
+++ b/keyboards/kira/kira80/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0xC583",
         "device_version": "1.0.2"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": false,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C6", "C5", "C4", "C3", "A0", "C2", "D7"],
         "rows": ["B1", "B2", "B3", "B5", "B6", "B7", "B0"]
diff --git a/keyboards/kira/kira80/rules.mk b/keyboards/kira/kira80/rules.mk
deleted file mode 100644
index f761646203..0000000000
--- a/keyboards/kira/kira80/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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 = yes        # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
diff --git a/keyboards/kiwikeebs/macro/info.json b/keyboards/kiwikeebs/macro/keyboard.json
similarity index 84%
rename from keyboards/kiwikeebs/macro/info.json
rename to keyboards/kiwikeebs/macro/keyboard.json
index 84b8afb982..d8bc9f3925 100644
--- a/keyboards/kiwikeebs/macro/info.json
+++ b/keyboards/kiwikeebs/macro/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x4712",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["F7", "B1", "B3", "B2"],
         "rows": ["E6", "D7"]
diff --git a/keyboards/kiwikeebs/macro/rules.mk b/keyboards/kiwikeebs/macro/rules.mk
deleted file mode 100644
index f0a88209b6..0000000000
--- a/keyboards/kiwikeebs/macro/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/kiwikeebs/macro_v2/info.json b/keyboards/kiwikeebs/macro_v2/keyboard.json
similarity index 84%
rename from keyboards/kiwikeebs/macro_v2/info.json
rename to keyboards/kiwikeebs/macro_v2/keyboard.json
index efdf6d860f..d9b693dd1a 100644
--- a/keyboards/kiwikeebs/macro_v2/info.json
+++ b/keyboards/kiwikeebs/macro_v2/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x4712",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B6", "C6", "C7", "D4"],
         "rows": ["B5", "B4"]
diff --git a/keyboards/kiwikeebs/macro_v2/rules.mk b/keyboards/kiwikeebs/macro_v2/rules.mk
deleted file mode 100644
index 131aa72aeb..0000000000
--- a/keyboards/kiwikeebs/macro_v2/rules.mk
+++ /dev/null
@@ -1,13 +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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = yes
diff --git a/keyboards/kiwikey/wanderland/info.json b/keyboards/kiwikey/wanderland/keyboard.json
similarity index 97%
rename from keyboards/kiwikey/wanderland/info.json
rename to keyboards/kiwikey/wanderland/keyboard.json
index f0e9317fe1..b4d4d4f516 100644
--- a/keyboards/kiwikey/wanderland/info.json
+++ b/keyboards/kiwikey/wanderland/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x574C",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F5", "F6", "B4", "D7", "D6", "D5", "D2", "D3", "B0", "F0", "B1", "B2", "B3"],
         "rows": ["F4", "F1", "E6", "E2", "C7", "D4"]
diff --git a/keyboards/kiwikey/wanderland/rules.mk b/keyboards/kiwikey/wanderland/rules.mk
deleted file mode 100644
index 85830d3115..0000000000
--- a/keyboards/kiwikey/wanderland/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 = no            # 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/kkatano/bakeneko60/info.json b/keyboards/kkatano/bakeneko60/keyboard.json
similarity index 98%
rename from keyboards/kkatano/bakeneko60/info.json
rename to keyboards/kkatano/bakeneko60/keyboard.json
index 1f6c5f8ac4..a8d9e655a1 100644
--- a/keyboards/kkatano/bakeneko60/info.json
+++ b/keyboards/kkatano/bakeneko60/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0xCBDC",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F6", "B0", "F1", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1"],
         "rows": ["E6", "B7", "F7", "F4", "F5"]
diff --git a/keyboards/kkatano/bakeneko60/rules.mk b/keyboards/kkatano/bakeneko60/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/kkatano/bakeneko60/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 = 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/kkatano/bakeneko65/rev2/info.json b/keyboards/kkatano/bakeneko65/rev2/keyboard.json
similarity index 98%
rename from keyboards/kkatano/bakeneko65/rev2/info.json
rename to keyboards/kkatano/bakeneko65/rev2/keyboard.json
index fa20fc0fe2..92193e52db 100644
--- a/keyboards/kkatano/bakeneko65/rev2/info.json
+++ b/keyboards/kkatano/bakeneko65/rev2/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x4C82",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F6", "B0", "F1", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["E6", "B7", "F7", "F4", "F5"]
diff --git a/keyboards/kkatano/bakeneko65/rev2/rules.mk b/keyboards/kkatano/bakeneko65/rev2/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/kkatano/bakeneko65/rev2/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 = 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/kkatano/bakeneko65/rev3/info.json b/keyboards/kkatano/bakeneko65/rev3/keyboard.json
similarity index 99%
rename from keyboards/kkatano/bakeneko65/rev3/info.json
rename to keyboards/kkatano/bakeneko65/rev3/keyboard.json
index d819d2e95a..d0717c1893 100644
--- a/keyboards/kkatano/bakeneko65/rev3/info.json
+++ b/keyboards/kkatano/bakeneko65/rev3/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x4C83",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F6", "B0", "F1", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
         "rows": ["E6", "B7", "F7", "F4", "F5"]
diff --git a/keyboards/kkatano/bakeneko65/rev3/rules.mk b/keyboards/kkatano/bakeneko65/rev3/rules.mk
deleted file mode 100644
index ab2c49da70..0000000000
--- a/keyboards/kkatano/bakeneko65/rev3/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 = 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/kkatano/bakeneko80/info.json b/keyboards/kkatano/bakeneko80/keyboard.json
similarity index 97%
rename from keyboards/kkatano/bakeneko80/info.json
rename to keyboards/kkatano/bakeneko80/keyboard.json
index 3549a3e8c7..ee005086c3 100644
--- a/keyboards/kkatano/bakeneko80/info.json
+++ b/keyboards/kkatano/bakeneko80/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x8DEF",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
         "rows": ["E6", "B0", "B1", "B7", "D1", "D0"]
diff --git a/keyboards/kkatano/bakeneko80/rules.mk b/keyboards/kkatano/bakeneko80/rules.mk
deleted file mode 100644
index fce764c22d..0000000000
--- a/keyboards/kkatano/bakeneko80/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/kkatano/wallaby/info.json b/keyboards/kkatano/wallaby/keyboard.json
similarity index 97%
rename from keyboards/kkatano/wallaby/info.json
rename to keyboards/kkatano/wallaby/keyboard.json
index 6939509fac..e7c76c46a0 100644
--- a/keyboards/kkatano/wallaby/info.json
+++ b/keyboards/kkatano/wallaby/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x5967",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
         "rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
diff --git a/keyboards/kkatano/wallaby/rules.mk b/keyboards/kkatano/wallaby/rules.mk
deleted file mode 100644
index fce764c22d..0000000000
--- a/keyboards/kkatano/wallaby/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/kkatano/yurei/info.json b/keyboards/kkatano/yurei/keyboard.json
similarity index 97%
rename from keyboards/kkatano/yurei/info.json
rename to keyboards/kkatano/yurei/keyboard.json
index 20430f8490..3249014846 100644
--- a/keyboards/kkatano/yurei/info.json
+++ b/keyboards/kkatano/yurei/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x5D5E",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
         "rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
diff --git a/keyboards/kkatano/yurei/rules.mk b/keyboards/kkatano/yurei/rules.mk
deleted file mode 100644
index fce764c22d..0000000000
--- a/keyboards/kkatano/yurei/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = 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/knobgoblin/info.json b/keyboards/knobgoblin/keyboard.json
similarity index 89%
rename from keyboards/knobgoblin/info.json
rename to keyboards/knobgoblin/keyboard.json
index bdf826777d..8494eea465 100644
--- a/keyboards/knobgoblin/info.json
+++ b/keyboards/knobgoblin/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": true,
+        "encoder": true,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "oled": true
+    },
     "matrix_pins": {
         "cols": ["B5", "B4", "E6", "D7", "C6"],
         "rows": ["D4", "B6", "B2", "B3", "B1"]
diff --git a/keyboards/knobgoblin/rules.mk b/keyboards/knobgoblin/rules.mk
deleted file mode 100644
index 41cfa4949a..0000000000
--- a/keyboards/knobgoblin/rules.mk
+++ /dev/null
@@ -1,15 +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 = 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
-
-ENCODER_ENABLE = yes
-OLED_ENABLE = yes
diff --git a/keyboards/knops/mini/info.json b/keyboards/knops/mini/keyboard.json
similarity index 82%
rename from keyboards/knops/mini/info.json
rename to keyboards/knops/mini/keyboard.json
index fc6e8053c3..721e3d7b36 100644
--- a/keyboards/knops/mini/info.json
+++ b/keyboards/knops/mini/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x9460",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["F7", "F6", "F5", "F4", "F1", "F0"],
         "rows": ["D0"]
diff --git a/keyboards/knops/mini/rules.mk b/keyboards/knops/mini/rules.mk
deleted file mode 100644
index b6e2a5f9a4..0000000000
--- a/keyboards/knops/mini/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kona_classic/info.json b/keyboards/kona_classic/keyboard.json
similarity index 99%
rename from keyboards/kona_classic/info.json
rename to keyboards/kona_classic/keyboard.json
index 7202c35869..01388f363a 100644
--- a/keyboards/kona_classic/info.json
+++ b/keyboards/kona_classic/keyboard.json
@@ -29,6 +29,14 @@
   "ws2812": {
     "pin": "B2"
   },
+  "features": {
+    "bootmagic": false,
+    "command": true,
+    "console": true,
+    "extrakey": true,
+    "mousekey": true,
+    "nkro": false
+  },
   "matrix_pins": {
     "cols": ["F0", "F4", "B5", "B4", "D7", "D6", "B0", "B1", "B3", "D2", "B7", "D0", "D1", "D3", "C6", "C7"],
     "rows": ["F1", "F5", "F6", "F7", "B6"]
diff --git a/keyboards/kona_classic/rules.mk b/keyboards/kona_classic/rules.mk
deleted file mode 100644
index b6e2a5f9a4..0000000000
--- a/keyboards/kona_classic/rules.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kopibeng/mnk65/info.json b/keyboards/kopibeng/mnk65/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/mnk65/info.json
rename to keyboards/kopibeng/mnk65/keyboard.json
index 49944100cf..24113c3ce5 100644
--- a/keyboards/kopibeng/mnk65/info.json
+++ b/keyboards/kopibeng/mnk65/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0651",
         "device_version": "1.0.0"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B7", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "F5"],
         "rows": ["B3", "D0", "F6", "F4", "F1"]
diff --git a/keyboards/kopibeng/mnk65/rules.mk b/keyboards/kopibeng/mnk65/rules.mk
deleted file mode 100644
index 5356b24d77..0000000000
--- a/keyboards/kopibeng/mnk65/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 = 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
diff --git a/keyboards/kopibeng/mnk88/info.json b/keyboards/kopibeng/mnk88/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/mnk88/info.json
rename to keyboards/kopibeng/mnk88/keyboard.json
index 67ef66c647..8a63d6562b 100644
--- a/keyboards/kopibeng/mnk88/info.json
+++ b/keyboards/kopibeng/mnk88/keyboard.json
@@ -25,6 +25,15 @@
             "rgb_test": true
         }
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["A2", "A1", "A0", "B11", "B10", "B2", "F1", "B1", "B0", "A7", "A6", "A5", "F0", "A4", "C15", "C14", "C13"],
         "rows": ["A8", "B15", "A9", "B12", "A3", "B14"]
diff --git a/keyboards/kopibeng/mnk88/rules.mk b/keyboards/kopibeng/mnk88/rules.mk
deleted file mode 100644
index 65bc2097f5..0000000000
--- a/keyboards/kopibeng/mnk88/rules.mk
+++ /dev/null
@@ -1,14 +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 = 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = no			# Enable Encoder
-
diff --git a/keyboards/kopibeng/typ65/info.json b/keyboards/kopibeng/typ65/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/typ65/info.json
rename to keyboards/kopibeng/typ65/keyboard.json
index d142f099d8..c2598cadcb 100644
--- a/keyboards/kopibeng/typ65/info.json
+++ b/keyboards/kopibeng/typ65/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x065E",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F5", "F4", "F1", "F0", "E6"],
         "rows": ["D0", "D1", "D2", "F6", "B0"]
diff --git a/keyboards/kopibeng/typ65/rules.mk b/keyboards/kopibeng/typ65/rules.mk
deleted file mode 100644
index 76764d6e0d..0000000000
--- a/keyboards/kopibeng/typ65/rules.mk
+++ /dev/null
@@ -1,13 +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 = 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
-ENCODER_ENABLE = no			# Enable Encoder
\ No newline at end of file
diff --git a/keyboards/kopibeng/xt60/info.json b/keyboards/kopibeng/xt60/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/xt60/info.json
rename to keyboards/kopibeng/xt60/keyboard.json
index 2eefea1310..70b5a06ab4 100644
--- a/keyboards/kopibeng/xt60/info.json
+++ b/keyboards/kopibeng/xt60/keyboard.json
@@ -24,6 +24,15 @@
     "ws2812": {
         "pin": "F6"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C7", "F5", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D5", "D3", "D2", "D1"],
         "rows": ["F7", "F4", "D0", "B3", "B7"]
diff --git a/keyboards/kopibeng/xt60/rules.mk b/keyboards/kopibeng/xt60/rules.mk
deleted file mode 100644
index 0b221b7e17..0000000000
--- a/keyboards/kopibeng/xt60/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 = 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
\ No newline at end of file
diff --git a/keyboards/kopibeng/xt60_singa/info.json b/keyboards/kopibeng/xt60_singa/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/xt60_singa/info.json
rename to keyboards/kopibeng/xt60_singa/keyboard.json
index 7ccfee941d..844d9b7aca 100644
--- a/keyboards/kopibeng/xt60_singa/info.json
+++ b/keyboards/kopibeng/xt60_singa/keyboard.json
@@ -24,6 +24,15 @@
     "ws2812": {
         "pin": "F6"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C7", "F5", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D5", "D3", "D2", "D1"],
         "rows": ["F7", "F4", "D0", "B3", "B7"]
diff --git a/keyboards/kopibeng/xt60_singa/rules.mk b/keyboards/kopibeng/xt60_singa/rules.mk
deleted file mode 100644
index 0b221b7e17..0000000000
--- a/keyboards/kopibeng/xt60_singa/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 = 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
\ No newline at end of file
diff --git a/keyboards/kopibeng/xt65/info.json b/keyboards/kopibeng/xt65/keyboard.json
similarity index 98%
rename from keyboards/kopibeng/xt65/info.json
rename to keyboards/kopibeng/xt65/keyboard.json
index d761667b9d..f5d53e0af4 100644
--- a/keyboards/kopibeng/xt65/info.json
+++ b/keyboards/kopibeng/xt65/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0x0650",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": true,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["D1", "D2", "D3", "B6", "C6", "C7", "F0", "F1", "F4", "F5", "F6", "F7", "B2", "B3", "B7"],
         "rows": ["B5", "B4", "D7", "D6", "D4"]
diff --git a/keyboards/kopibeng/xt65/rules.mk b/keyboards/kopibeng/xt65/rules.mk
deleted file mode 100644
index 4537738380..0000000000
--- a/keyboards/kopibeng/xt65/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 = yes        # 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/kopibeng/xt8x/info.json b/keyboards/kopibeng/xt8x/keyboard.json
similarity index 99%
rename from keyboards/kopibeng/xt8x/info.json
rename to keyboards/kopibeng/xt8x/keyboard.json
index 882dc0521a..379ca9ee67 100644
--- a/keyboards/kopibeng/xt8x/info.json
+++ b/keyboards/kopibeng/xt8x/keyboard.json
@@ -8,6 +8,15 @@
         "pid": "0x8788",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["A2", "A1", "A0", "B11", "B10", "B2", "F1", "B1", "B0", "A7", "A6", "A5", "F0", "A4", "C15", "C14", "C13"],
         "rows": ["A8", "B15", "A9", "B12", "A3", "B14"]
diff --git a/keyboards/kopibeng/xt8x/rules.mk b/keyboards/kopibeng/xt8x/rules.mk
deleted file mode 100644
index 65bc2097f5..0000000000
--- a/keyboards/kopibeng/xt8x/rules.mk
+++ /dev/null
@@ -1,14 +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 = 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 = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = no			# Enable Encoder
-
diff --git a/keyboards/kprepublic/bm16s/info.json b/keyboards/kprepublic/bm16s/keyboard.json
similarity index 89%
rename from keyboards/kprepublic/bm16s/info.json
rename to keyboards/kprepublic/bm16s/keyboard.json
index de0d51cc4b..c1dce5d300 100644
--- a/keyboards/kprepublic/bm16s/info.json
+++ b/keyboards/kprepublic/bm16s/keyboard.json
@@ -28,6 +28,15 @@
     "ws2812": {
       "pin": "E2"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
       "cols": ["F7", "F6", "D4", "D6"],
       "rows": ["D1", "D0", "D3", "D2"]
diff --git a/keyboards/kprepublic/bm16s/rules.mk b/keyboards/kprepublic/bm16s/rules.mk
deleted file mode 100755
index 483ffc8106..0000000000
--- a/keyboards/kprepublic/bm16s/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 = no   # Enable keyboard backlight functionality
-AUDIO_ENABLE     = no
-RGBLIGHT_ENABLE  = yes
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/info.json b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
similarity index 95%
rename from keyboards/kprepublic/bm40hsrgb/rev1/info.json
rename to keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
index c50ac648d0..83da66a0a1 100644
--- a/keyboards/kprepublic/bm40hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
@@ -64,6 +64,15 @@
     "rgblight": {
         "max_brightness": 180
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["B6", "C6", "B4", "D7", "D4", "D6", "C7", "F6", "F5", "F4", "F1", "F0"],
         "rows": ["B3", "B2", "E6", "B5"]
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk b/keyboards/kprepublic/bm40hsrgb/rev1/rules.mk
deleted file mode 100755
index b0daa10a9c..0000000000
--- a/keyboards/kprepublic/bm40hsrgb/rev1/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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-AUDIO_ENABLE = no           # Audio output
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/kprepublic/bm43a/info.json b/keyboards/kprepublic/bm43a/keyboard.json
similarity index 94%
rename from keyboards/kprepublic/bm43a/info.json
rename to keyboards/kprepublic/bm43a/keyboard.json
index 041da2164d..79c089c68c 100644
--- a/keyboards/kprepublic/bm43a/info.json
+++ b/keyboards/kprepublic/bm43a/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0000",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B0", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
         "rows": ["D1", "F4", "F1", "F0"]
diff --git a/keyboards/kprepublic/bm43a/rules.mk b/keyboards/kprepublic/bm43a/rules.mk
deleted file mode 100644
index 309e55c9f4..0000000000
--- a/keyboards/kprepublic/bm43a/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 = yes        # 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
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kprepublic/bm43hsrgb/info.json b/keyboards/kprepublic/bm43hsrgb/keyboard.json
similarity index 94%
rename from keyboards/kprepublic/bm43hsrgb/info.json
rename to keyboards/kprepublic/bm43hsrgb/keyboard.json
index 93821f3b53..9fa40bdd9c 100755
--- a/keyboards/kprepublic/bm43hsrgb/info.json
+++ b/keyboards/kprepublic/bm43hsrgb/keyboard.json
@@ -29,6 +29,15 @@
             "alternating": true
         }
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["C6", "D2", "D1", "D0", "D7", "D6", "D4", "D5", "D3", "B7", "B3", "B2"],
         "rows": ["E6", "B6", "B4", "B5"]
diff --git a/keyboards/kprepublic/bm43hsrgb/rules.mk b/keyboards/kprepublic/bm43hsrgb/rules.mk
deleted file mode 100755
index f8265c4c24..0000000000
--- a/keyboards/kprepublic/bm43hsrgb/rules.mk
+++ /dev/null
@@ -1,14 +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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-
-KEY_LOCK_ENABLE = no
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
similarity index 96%
rename from keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
rename to keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
index 5840054b8c..d7923b8432 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
@@ -78,6 +78,15 @@
             "twinkle": true
         }
     },
+    "features": {
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false,
+        "rgb_matrix": true
+    },
     "matrix_pins": {
         "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
         "rows": ["B0", "B1", "B2", "B3", "E6"]
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/rules.mk b/keyboards/kprepublic/bm60hsrgb_poker/rev1/rules.mk
deleted file mode 100644
index 7b60a21412..0000000000
--- a/keyboards/kprepublic/bm60hsrgb_poker/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 = 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
-RGB_MATRIX_ENABLE = yes
diff --git a/keyboards/kprepublic/cospad/info.json b/keyboards/kprepublic/cospad/keyboard.json
similarity index 97%
rename from keyboards/kprepublic/cospad/info.json
rename to keyboards/kprepublic/cospad/keyboard.json
index 02551a2f46..233e258e1d 100644
--- a/keyboards/kprepublic/cospad/info.json
+++ b/keyboards/kprepublic/cospad/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0xB1E5",
         "device_version": "0.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": true,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "E6", "C7"],
         "rows": ["D0", "D1", "D2", "D3", "D4", "D5"]
diff --git a/keyboards/kprepublic/cospad/rules.mk b/keyboards/kprepublic/cospad/rules.mk
deleted file mode 100644
index 1955f1d315..0000000000
--- a/keyboards/kprepublic/cospad/rules.mk
+++ /dev/null
@@ -1,12 +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 = 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/kprepublic/jj4x4/info.json b/keyboards/kprepublic/jj4x4/keyboard.json
similarity index 89%
rename from keyboards/kprepublic/jj4x4/info.json
rename to keyboards/kprepublic/jj4x4/keyboard.json
index 5fc9c49343..2f53db2e88 100644
--- a/keyboards/kprepublic/jj4x4/info.json
+++ b/keyboards/kprepublic/jj4x4/keyboard.json
@@ -9,6 +9,16 @@
         "device_version": "2.0.0",
         "max_power": 100
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": false,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["A1", "A0", "A2", "A3"],
         "rows": ["B5", "B0", "B3", "B4"]
diff --git a/keyboards/kprepublic/jj4x4/rules.mk b/keyboards/kprepublic/jj4x4/rules.mk
deleted file mode 100644
index 5b9cc80e47..0000000000
--- a/keyboards/kprepublic/jj4x4/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ktec/daisy/info.json b/keyboards/ktec/daisy/keyboard.json
similarity index 96%
rename from keyboards/ktec/daisy/info.json
rename to keyboards/ktec/daisy/keyboard.json
index 32a289dace..3d230b03f4 100644
--- a/keyboards/ktec/daisy/info.json
+++ b/keyboards/ktec/daisy/keyboard.json
@@ -8,6 +8,16 @@
         "pid": "0xD7DC",
         "device_version": "5.0.1"
     },
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "B6", "B5", "B4", "D7", "D6"],
         "rows": ["D2", "D3", "D5", "B7"]
diff --git a/keyboards/ktec/daisy/rules.mk b/keyboards/ktec/daisy/rules.mk
deleted file mode 100644
index 8a6e2c7b71..0000000000
--- a/keyboards/ktec/daisy/rules.mk
+++ /dev/null
@@ -1,12 +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 = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ktec/staryu/info.json b/keyboards/ktec/staryu/keyboard.json
similarity index 85%
rename from keyboards/ktec/staryu/info.json
rename to keyboards/ktec/staryu/keyboard.json
index ec29a53168..a2799703be 100644
--- a/keyboards/ktec/staryu/info.json
+++ b/keyboards/ktec/staryu/keyboard.json
@@ -37,6 +37,16 @@
     },
     "processor": "atmega32u2",
     "bootloader": "lufa-dfu",
+    "features": {
+        "backlight": true,
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": true
+    },
     "matrix_pins": {
         "direct": [
             [null, "D0", "D1"],
diff --git a/keyboards/ktec/staryu/rules.mk b/keyboards/ktec/staryu/rules.mk
deleted file mode 100755
index 8a6e2c7b71..0000000000
--- a/keyboards/ktec/staryu/rules.mk
+++ /dev/null
@@ -1,12 +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 = yes      # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/kv/revt/info.json b/keyboards/kv/revt/keyboard.json
similarity index 97%
rename from keyboards/kv/revt/info.json
rename to keyboards/kv/revt/keyboard.json
index 7697f2acbc..c54a4ba537 100644
--- a/keyboards/kv/revt/info.json
+++ b/keyboards/kv/revt/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x6520",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B7", "B6", "B5", "B4", "B3", "B2", "B14", "B1", "B15", "B0", "B9", "B10", "B11", "B12", "A14", "A13", "A4", "A5", "A7", "A8", "A15"],
         "rows": ["A6", "B13", "B8", "A0", "A1", "A2"]
diff --git a/keyboards/kv/revt/rules.mk b/keyboards/kv/revt/rules.mk
deleted file mode 100644
index 5356b24d77..0000000000
--- a/keyboards/kv/revt/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 = 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
diff --git a/keyboards/kwub/bloop/info.json b/keyboards/kwub/bloop/keyboard.json
similarity index 98%
rename from keyboards/kwub/bloop/info.json
rename to keyboards/kwub/bloop/keyboard.json
index d0a45bccfc..b482b571be 100644
--- a/keyboards/kwub/bloop/info.json
+++ b/keyboards/kwub/bloop/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x0001",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
     "matrix_pins": {
         "cols": ["B4", "B5", "B6", "F6", "F1", "F7", "F0", "B0", "B7", "D3", "D2", "D1", "D5", "D4", "D6"],
         "rows": ["F5", "F4", "C6", "C7", "D7"]
diff --git a/keyboards/kwub/bloop/rules.mk b/keyboards/kwub/bloop/rules.mk
deleted file mode 100644
index 3b6a1809db..0000000000
--- a/keyboards/kwub/bloop/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 = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
diff --git a/keyboards/ky01/info.json b/keyboards/ky01/keyboard.json
similarity index 96%
rename from keyboards/ky01/info.json
rename to keyboards/ky01/keyboard.json
index 3439c6d768..b9e4eeef70 100644
--- a/keyboards/ky01/info.json
+++ b/keyboards/ky01/keyboard.json
@@ -8,6 +8,14 @@
         "pid": "0x4B59",
         "device_version": "0.0.1"
     },
+    "features": {
+        "bootmagic": false,
+        "command": true,
+        "console": true,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": false
+    },
     "matrix_pins": {
         "cols": ["B3", "B7", "D0", "D1", "D2", "D3", "D5", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6"],
         "rows": ["E6", "B5", "B4", "D7", "D4", "D6"]
diff --git a/keyboards/ky01/rules.mk b/keyboards/ky01/rules.mk
deleted file mode 100644
index fce764c22d..0000000000
--- a/keyboards/ky01/rules.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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 = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output