Commit 1d3d34608383

Vincent Demeester <vincent@sbr.pm>
2025-11-21 10:00:50
feat(keyboards): Add keymap drawing targets and standardize build commands
- Enable visual keymap documentation with SVG generation targets - Standardize command interface with keyboards/ prefix for clarity - Improve discoverability of keyboard build and visualization tools Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 2621d85
keyboards/Makefile
@@ -1,5 +1,6 @@
 .PHONY: help moonlander/build moonlander/flash moonlander/clean moonlander/update
-.PHONY: eyelash_corne/build eyelash_corne/flash corne/build corne/flash
+.PHONY: eyelash_corne/build eyelash_corne/flash
+.PHONY: draw moonlander/draw eyelash_corne/draw
 .PHONY: all clean
 
 # Default target
@@ -16,6 +17,11 @@ help:
 	@echo "  eyelash_corne/build  - Build Eyelash Corne firmware (aliases: corne/build)"
 	@echo "  eyelash_corne/flash  - Build and flash Eyelash Corne firmware (aliases: corne/flash)"
 	@echo ""
+	@echo "Keymap Drawing:"
+	@echo "  draw                 - Generate keymap SVGs for all keyboards"
+	@echo "  moonlander/draw      - Generate keymap SVG for Moonlander"
+	@echo "  eyelash_corne/draw   - Generate keymap SVG for Eyelash Corne"
+	@echo ""
 	@echo "Other:"
 	@echo "  all                  - Build all keyboards"
 	@echo "  clean                - Clean all build artifacts"
@@ -40,10 +46,15 @@ eyelash_corne/build:
 eyelash_corne/flash:
 	cd eyelash_corne && ./go.sh flash
 
-# Convenient aliases for eyelash_corne
-corne/build: eyelash_corne/build
+# Keymap drawing targets
+draw:
+	./generate-keymaps.sh all
 
-corne/flash: eyelash_corne/flash
+moonlander/draw:
+	./generate-keymaps.sh moonlander
+
+eyelash_corne/draw:
+	./generate-keymaps.sh eyelash_corne
 
 # Composite targets
 all: moonlander/build eyelash_corne/build
keyboards/README.org
@@ -12,13 +12,26 @@
 * Quick Start
 
 #+begin_src bash
-# Build and flash
-make moonlander/build    # or moonlander/flash
-make eyelash_corne/build # or eyelash_corne/flash (alias: corne/build)
+# Moonlander (QMK)
+make moonlander/build    # Build firmware
+make moonlander/flash    # Build and flash firmware
+make moonlander/update   # Update QMK submodules
+make moonlander/clean    # Clean build artifacts
+
+# Eyelash Corne (ZMK)
+make eyelash_corne/build # Build firmware
+make eyelash_corne/flash # Build and flash firmware
+make corne/build         # Alias for eyelash_corne/build
+make corne/flash         # Alias for eyelash_corne/flash
+
+# Keymap Drawing
+make draw                # Generate keymap SVGs for all keyboards
+make draw/moonlander     # Generate keymap SVG for Moonlander
+make draw/eyelash_corne  # Generate keymap SVG for Eyelash Corne
 
 # Other targets
 make all                 # Build all keyboards
-make clean               # Clean build artifacts
+make clean               # Clean all build artifacts
 make help                # Show all targets
 #+end_src
 
CLAUDE.md
@@ -162,10 +162,15 @@ go test ./...
 
 ```bash
 # Build Moonlander QMK firmware in folder keyboards/moonlander of the git repository
-./go.sh build
+make keyboards/moonlander/build
 
 # Build eyelash_corne ZMK firmware in folder keyboards/eyelash_corne of the git repository
-./go.sh build
+make keyboards/eyelash_corne/build
+
+# Generate keymap SVGs for visualization
+make keyboards/draw                # Generate SVGs for all keyboards
+make keyboards/moonlander/draw     # Generate SVG for Moonlander only
+make keyboards/eyelash_corne/draw  # Generate SVG for Eyelash Corne only
 ```
 
 ## Special Notes
Makefile
@@ -71,32 +71,36 @@ dots:
 	@$(MAKE) -C dots
 
 # Keyboards
-.PHONY: keyboards moonlander/build moonlander/flash moonlander/update moonlander/clean
-.PHONY: eyelash_corne/build eyelash_corne/flash corne/build corne/flash
+.PHONY: keyboards keyboards/moonlander/build keyboards/moonlander/flash keyboards/moonlander/update keyboards/moonlander/clean
+.PHONY: keyboards/eyelash_corne/build keyboards/eyelash_corne/flash
+.PHONY: keyboards/draw keyboards/moonlander/draw keyboards/eyelash_corne/draw
 
-moonlander/build:
+keyboards/moonlander/build:
 	@$(MAKE) -C keyboards moonlander/build
 
-moonlander/flash:
+keyboards/moonlander/flash:
 	@$(MAKE) -C keyboards moonlander/flash
 
-moonlander/update:
+keyboards/moonlander/update:
 	@$(MAKE) -C keyboards moonlander/update
 
-moonlander/clean:
+keyboards/moonlander/clean:
 	@$(MAKE) -C keyboards moonlander/clean
 
-eyelash_corne/build:
+keyboards/eyelash_corne/build:
 	@$(MAKE) -C keyboards eyelash_corne/build
 
-eyelash_corne/flash:
+keyboards/eyelash_corne/flash:
 	@$(MAKE) -C keyboards eyelash_corne/flash
 
-corne/build:
-	@$(MAKE) -C keyboards corne/build
+keyboards/draw:
+	@$(MAKE) -C keyboards draw
 
-corne/flash:
-	@$(MAKE) -C keyboards corne/flash
+keyboards/moonlander/draw:
+	@$(MAKE) -C keyboards moonlander/draw
+
+keyboards/eyelash_corne/draw:
+	@$(MAKE) -C keyboards eyelash_corne/draw
 
 keyboards:
 	@$(MAKE) -C keyboards help
README.org
@@ -164,14 +164,15 @@
 - =make pre-commit= - Run pre-commit checks
 
 *** Keyboards
-- =make moonlander/build= - Build Moonlander QMK firmware
-- =make moonlander/flash= - Build and flash Moonlander firmware
-- =make moonlander/update= - Update QMK submodules
-- =make moonlander/clean= - Clean Moonlander build artifacts
-- =make eyelash_corne/build= - Build Eyelash Corne ZMK firmware
-- =make eyelash_corne/flash= - Build and flash Eyelash Corne firmware
-- =make corne/build= - Alias for eyelash_corne/build
-- =make corne/flash= - Alias for eyelash_corne/flash
+- =make keyboards/moonlander/build= - Build Moonlander QMK firmware
+- =make keyboards/moonlander/flash= - Build and flash Moonlander firmware
+- =make keyboards/moonlander/update= - Update QMK submodules
+- =make keyboards/moonlander/clean= - Clean Moonlander build artifacts
+- =make keyboards/eyelash_corne/build= - Build Eyelash Corne ZMK firmware
+- =make keyboards/eyelash_corne/flash= - Build and flash Eyelash Corne firmware
+- =make keyboards/draw= - Generate keymap SVGs for all keyboards
+- =make keyboards/moonlander/draw= - Generate keymap SVG for Moonlander
+- =make keyboards/eyelash_corne/draw= - Generate keymap SVG for Eyelash Corne
 
 See [[file:keyboards/README.org][keyboards/README.org]] for detailed keyboard documentation.