Преглед изворни кода

Rename CLI from wobkey to qmk-rgb, remove Signed-off-by lines

- cmd/wobkey/ renamed to cmd/qmk-rgb/
- Module path: github.com/wobkey/rgb -> netdome.biz/paul/impact-80
- Binary name: wobkey -> qmk-rgb
- README: tool name changed to QMK VIA RGB Tool
- AGENTS.md: CLI references updated
- Strip Signed-off-by: Wobkey CLI Team from all commits in history
Paul Klumpp пре 2 недеља
родитељ
комит
fb0d207af3

+ 14 - 14
AGENTS.md

@@ -1,7 +1,7 @@
-# Agent Guidelines — Wobkey Impact 80 RGB CLI
+# Agent Guidelines — QMK VIA RGB Tool
 
 ## Objective
-Cross-platform Go CLI library for programmatic/agent-friendly control of VIA-compatible keyboard RGB lighting (starting with Wobkey Impact 80).
+Cross-platform Go CLI library for programmatic/agent-friendly control of VIA-compatible keyboard RGB lighting (starting with Impact 80).
 
 ## Architecture
 
@@ -16,17 +16,17 @@ keyboards.json          # VID/PID database + keyboard metadata
 ## CLI Interface
 
 ```
-wobkey keyboard info
-wobkey rgb effect breathing
-wobkey rgb effect rainbow_moving_chevron
-wobkey rgb effect rainbow_moving_chevron --zone backlight
-wobkey rgb brightness <val>       # 0-255
-wobkey rgb speed <val>            # 0-255
-wobkey rgb color <hex>            # Six hexadecimal digits
-wobkey rgb mode <index>           # Raw zone-specific effect ID
-wobkey rgb enable
-wobkey rgb disable
-wobkey rgb info
+qmk-rgb keyboard info
+qmk-rgb rgb effect breathing
+qmk-rgb rgb effect rainbow_moving_chevron
+qmk-rgb rgb effect rainbow_moving_chevron --zone backlight
+qmk-rgb rgb brightness <val>       # 0-255
+qmk-rgb rgb speed <val>            # 0-255
+qmk-rgb rgb color <hex>            # Six hexadecimal digits
+qmk-rgb rgb mode <index>           # Raw zone-specific effect ID
+qmk-rgb rgb enable
+qmk-rgb rgb disable
+qmk-rgb rgb info
 ```
 
 `rgb` has a persistent `--zone` flag accepting `logo`, `backlight`, or `side`.
@@ -79,7 +79,7 @@ prints JSON before returning non-zero.
 - RGB value IDs: brightness `0x01`, effect `0x02`, speed `0x03`, color `0x04`
 - No separate enable handshake is used
 
-## Keyboards (Known Wobkey VID/PID)
+## Keyboards (Known VID/PID)
 
 | Keyboard         | VID    | PID    |
 |------------------|--------|--------|

+ 37 - 37
README.md

@@ -1,6 +1,6 @@
-# Wobkey RGB CLI
+# QMK VIA RGB Tool
 
-Control the RGB lighting on QMK-compatible keyboards. Supports Wobkey Impact 80 and Rainy 75 out of the box, and any other keyboard running QMK with the RGB Matrix subsystem and VIA support.
+Control the RGB lighting on QMK-compatible keyboards. Supports Impact 80 and Rainy 75 out of the box, and any other keyboard running QMK with the RGB Matrix subsystem and VIA support.
 
 Cross-platform CLI for Linux, macOS, and Windows. Designed for automation, scripting, and agent consumption.
 
@@ -8,41 +8,41 @@ Cross-platform CLI for Linux, macOS, and Windows. Designed for automation, scrip
 
 ```bash
 git clone <repo-url>
-cd wobkey-rgb
-go build -o wobkey ./cmd/wobkey/
+cd impact-80
+go build -o qmk-rgb ./cmd/qmk-rgb/
 ```
 
 On Linux, `libudev-dev` is required for building (the hid library uses it for device discovery).
 Or install globally:
 
 ```bash
-go install ./cmd/wobkey/
+go install ./cmd/qmk-rgb/
 ```
 
 ## Usage
 
 ```bash
 # Discover connected keyboards
-./wobkey keyboard info
+./qmk-rgb keyboard info
 
 # RGB commands target Logo, Backlight, and Side by default
-./wobkey rgb effect breathing
-./wobkey rgb effect rainbow_moving_chevron
-./wobkey rgb effect rainbow_moving_chevron --zone backlight
-./wobkey rgb brightness 160
-./wobkey rgb speed 2
-./wobkey rgb color 00ff00
+./qmk-rgb rgb effect breathing
+./qmk-rgb rgb effect rainbow_moving_chevron
+./qmk-rgb rgb effect rainbow_moving_chevron --zone backlight
+./qmk-rgb rgb brightness 160
+./qmk-rgb rgb speed 2
+./qmk-rgb rgb color 00ff00
 # Raw mode IDs are zone-specific; ID 17 is Backlight-only
-./wobkey rgb mode 17 --zone backlight
-./wobkey rgb enable
-./wobkey rgb disable
-./wobkey rgb info
+./qmk-rgb rgb mode 17 --zone backlight
+./qmk-rgb rgb enable
+./qmk-rgb rgb disable
+./qmk-rgb rgb info
 
 # Select exactly one zone
-./wobkey rgb brightness 160 --zone side
+./qmk-rgb rgb brightness 160 --zone side
 
 # Specify a target device (when multiple are connected)
-./wobkey rgb --device /dev/hidraw0 enable
+./qmk-rgb rgb --device /dev/hidraw0 enable
 ```
 
 `--zone` is persistent on `rgb` and accepts `logo`, `backlight`, or `side`.
@@ -168,11 +168,11 @@ This works for the current session only. Permissions reset after reboot.
 
 #### Option 2: Permanent (udev Rule)
 
-Create a persistent rule for the Wobkey Impact 80:
+Create a persistent rule for the Impact 80:
 
 ```bash
 echo 'SUBSYSTEM=="hidraw", ATTRS{idVendor}=="36b0", ATTRS{idProduct}=="309f", MODE="0660", GROUP="adm"' \
-  | sudo tee /etc/udev/rules.d/99-wobkey.rules
+  | sudo tee /etc/udev/rules.d/99-qmk-rgb.rules
 
 sudo udevadm control --reload-rules
 sudo udevadm trigger
@@ -204,21 +204,21 @@ New keyboards can be added to `keyboards.json`.
 
 | Command                         | Description                              |
 |---------------------------------|------------------------------------------|
-| `wobkey keyboard info`          | Discover connected VIA-compatible keyboards |
-| `wobkey rgb enable`             | Enable selected lighting zones           |
-| `wobkey rgb disable`            | Disable selected lighting zones           |
-| `wobkey rgb info`               | Show per-zone RGB state (JSON)            |
-| `wobkey rgb effect <name>`      | Set a zone-aware effect by name           |
-| `wobkey rgb brightness <val>`   | Set brightness (0–255) on selected zones |
-| `wobkey rgb speed <val>`        | Set effect speed (0–255) on selected zones |
-| `wobkey rgb color <hex>`        | Set color (e.g. `ff0000`) on selected zones |
-| `wobkey rgb mode <index>`       | Set a raw zone-specific effect ID        |
-| `wobkey rgb --zone <zone> ...`  | Target `logo`, `backlight`, or `side`     |
-| `wobkey rgb --device <path> ...`| Specify HID device path                  |
-| `wobkey rgb save [name]`        | Save current RGB state to `profiles/<name>.json` |
-| `wobkey rgb load [name]`        | Load and apply a profile from `profiles/` |
-| `wobkey rgb list`               | List saved profiles                        |
-| `wobkey rgb delete [name]`      | Delete a saved profile                     |
+| `qmk-rgb keyboard info`          | Discover connected VIA-compatible keyboards |
+| `qmk-rgb rgb enable`             | Enable selected lighting zones           |
+| `qmk-rgb rgb disable`            | Disable selected lighting zones           |
+| `qmk-rgb rgb info`               | Show per-zone RGB state (JSON)            |
+| `qmk-rgb rgb effect <name>`      | Set a zone-aware effect by name           |
+| `qmk-rgb rgb brightness <val>`   | Set brightness (0–255) on selected zones |
+| `qmk-rgb rgb speed <val>`        | Set effect speed (0–255) on selected zones |
+| `qmk-rgb rgb color <hex>`        | Set color (e.g. `ff0000`) on selected zones |
+| `qmk-rgb rgb mode <index>`       | Set a raw zone-specific effect ID        |
+| `qmk-rgb rgb --zone <zone> ...`  | Target `logo`, `backlight`, or `side`     |
+| `qmk-rgb rgb --device <path> ...`| Specify HID device path                  |
+| `qmk-rgb rgb save [name]`        | Save current RGB state to `profiles/<name>.json` |
+| `qmk-rgb rgb load [name]`        | Load and apply a profile from `profiles/` |
+| `qmk-rgb rgb list`               | List saved profiles                        |
+| `qmk-rgb rgb delete [name]`      | Delete a saved profile                     |
 
 ## Profiles
 
@@ -231,8 +231,8 @@ files instead.
 ## Architecture
 
 ```
-cmd/wobkey/       # Cobra-based CLI
-cmd/wobkey/rgb/   # RGB subcommands
+cmd/qmk-rgb/       # Cobra-based CLI
+cmd/qmk-rgb/rgb/   # RGB subcommands
 internal/device/  # HID discovery + keyboards.json loader
 internal/hid/     # Cross-platform HID access (hidapi)
 internal/rgb/     # Effects, colors, state

+ 5 - 5
cmd/wobkey/main.go → cmd/qmk-rgb/main.go

@@ -6,8 +6,8 @@ import (
 	"os"
 
 	"github.com/spf13/cobra"
-	"github.com/wobkey/rgb/cmd/wobkey/rgb"
-	"github.com/wobkey/rgb/internal/device"
+	"netdome.biz/paul/impact-80/cmd/qmk-rgb/rgb"
+	"netdome.biz/paul/impact-80/internal/device"
 )
 
 // version is set at build time via -ldflags.
@@ -15,8 +15,8 @@ var version = "dev"
 
 func newRootCommand() *cobra.Command {
 	return &cobra.Command{
-		Use:           "wobkey",
-		Short:         "Wobkey RGB CLI — control VIA-compatible keyboard lighting",
+		Use:           "qmk-rgb",
+		Short:         "QMK VIA RGB CLI — control VIA-compatible keyboard lighting",
 		SilenceErrors: true,
 		SilenceUsage:  true,
 	}
@@ -119,5 +119,5 @@ func init() {
 	)
 	rootCmd.AddCommand(rgbCmd)
 	rootCmd.Version = version
-	rootCmd.SetVersionTemplate("wobkey {{.Version}}\n")
+	rootCmd.SetVersionTemplate("	qmk-rgb {{.Version}}\n")
 }

+ 0 - 0
cmd/wobkey/main_test.go → cmd/qmk-rgb/main_test.go


+ 0 - 0
cmd/wobkey/rgb/brightness.go → cmd/qmk-rgb/rgb/brightness.go


+ 1 - 1
cmd/wobkey/rgb/color.go → cmd/qmk-rgb/rgb/color.go

@@ -5,7 +5,7 @@ import (
 	"os"
 
 	"github.com/spf13/cobra"
-	"github.com/wobkey/rgb/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/rgb"
 )
 
 func NewColorCmd() *cobra.Command {

+ 2 - 2
cmd/wobkey/rgb/commands_test.go → cmd/qmk-rgb/rgb/commands_test.go

@@ -5,8 +5,8 @@ import (
 	"reflect"
 	"testing"
 
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 type commandReport struct {

+ 0 - 0
cmd/wobkey/rgb/disable.go → cmd/qmk-rgb/rgb/disable.go


+ 2 - 2
cmd/wobkey/rgb/effect.go → cmd/qmk-rgb/rgb/effect.go

@@ -6,8 +6,8 @@ import (
 	"strings"
 
 	"github.com/spf13/cobra"
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 var listEffects bool

+ 1 - 1
cmd/wobkey/rgb/effect_test.go → cmd/qmk-rgb/rgb/effect_test.go

@@ -6,7 +6,7 @@ import (
 	"strings"
 	"testing"
 
-	intrgb "github.com/wobkey/rgb/internal/rgb"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
 )
 
 func TestResolveEffectTargetsBacklightOnly(t *testing.T) {

+ 0 - 0
cmd/wobkey/rgb/enable.go → cmd/qmk-rgb/rgb/enable.go


+ 2 - 2
cmd/wobkey/rgb/info.go → cmd/qmk-rgb/rgb/info.go

@@ -6,8 +6,8 @@ import (
 	"fmt"
 
 	"github.com/spf13/cobra"
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 type infoGetter interface {

+ 2 - 2
cmd/wobkey/rgb/info_test.go → cmd/qmk-rgb/rgb/info_test.go

@@ -8,8 +8,8 @@ import (
 	"strings"
 	"testing"
 
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 type infoKey struct {

+ 0 - 0
cmd/wobkey/rgb/mode.go → cmd/qmk-rgb/rgb/mode.go


+ 2 - 2
cmd/wobkey/rgb/profile.go → cmd/qmk-rgb/rgb/profile.go

@@ -7,8 +7,8 @@ import (
 	"path/filepath"
 	"strings"
 
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 	"github.com/spf13/cobra"
 )
 

+ 3 - 3
cmd/wobkey/rgb/rgb.go → cmd/qmk-rgb/rgb/rgb.go

@@ -5,9 +5,9 @@ import (
 	"strconv"
 
 	"github.com/spf13/cobra"
-	intdevice "github.com/wobkey/rgb/internal/device"
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intdevice "netdome.biz/paul/impact-80/internal/device"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 var (

+ 2 - 2
cmd/wobkey/rgb/rgb_test.go → cmd/qmk-rgb/rgb/rgb_test.go

@@ -6,8 +6,8 @@ import (
 	"testing"
 
 	"github.com/spf13/cobra"
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 func TestLightingEnabledRequiresActiveEffectAndBrightness(t *testing.T) {

+ 0 - 0
cmd/wobkey/rgb/speed.go → cmd/qmk-rgb/rgb/speed.go


+ 2 - 2
cmd/wobkey/rgb/zones.go → cmd/qmk-rgb/rgb/zones.go

@@ -1,8 +1,8 @@
 package rgb
 
 import (
-	intrgb "github.com/wobkey/rgb/internal/rgb"
-	"github.com/wobkey/rgb/internal/via"
+	intrgb "netdome.biz/paul/impact-80/internal/rgb"
+	"netdome.biz/paul/impact-80/internal/via"
 )
 
 func selectedZones() ([]intrgb.Zone, error) {

+ 1 - 1
go.mod

@@ -1,4 +1,4 @@
-module github.com/wobkey/rgb
+module netdome.biz/paul/impact-80
 
 go 1.26.6
 

+ 1 - 1
internal/device/device.go

@@ -6,7 +6,7 @@ import (
 	"os"
 	"path/filepath"
 
-	"github.com/wobkey/rgb/internal/hid"
+	"netdome.biz/paul/impact-80/internal/hid"
 )
 
 // Keyboard represents a VIA-compatible keyboard from keyboards.json.

+ 2 - 2
internal/via/protocol.go

@@ -3,8 +3,8 @@ package via
 import (
 	"fmt"
 
-	"github.com/wobkey/rgb/internal/device"
-	"github.com/wobkey/rgb/internal/hid"
+	"netdome.biz/paul/impact-80/internal/device"
+	"netdome.biz/paul/impact-80/internal/hid"
 )
 
 type transport interface {