From 76b5cef79345cdb42bbcb42417f56881c4e59b2d Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Wed, 29 Jan 2025 19:17:29 +0000
Subject: [PATCH] Reject keyboard.json next to info.json (#24882)

---
 lib/python/qmk/info.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 38ca89697c0..d70e7ee1b37 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -99,6 +99,13 @@ def _validate_build_target(keyboard, info_data):
             if info_file != keyboard_json_path:
                 _log_error(info_data, f'Invalid keyboard.json location detected: {info_file}.')
 
+    # No keyboard.json next to info.json
+    for conf_file in config_files:
+        if conf_file.name == 'keyboard.json':
+            info_file = conf_file.parent / 'info.json'
+            if info_file.exists():
+                _log_error(info_data, f'Invalid info.json location detected: {info_file}.')
+
     # Moving forward keyboard.json should be used as a build target
     if keyboard_json_count == 0:
         _log_warning(info_data, 'Build marker "keyboard.json" not found.')