refactor: restructure to standard Go project layout (cmd/ + internal/)
- Move entry point to cmd/streamdeck-lets-go/ - Split package main into internal packages: - internal/deck: hardware control (Deck, events, brightness) - internal/render: key rendering, icons, fonts, PageManager - internal/web: HTTP API + embedded SPA - internal/daemon: event loop, autoswitch, screensaver, actions - Add ConfigDir() to internal/config - Export cross-package API (Deck, PageManager, WebServer, etc.) - Move dist/arch/ → packaging/ with updated PKGBUILD/.SRCINFO - Add Makefile (build, test, vet, fmt, install) - Update README with new build commands and project structure - Delete unused media.go stub
This commit is contained in:
@@ -27,7 +27,9 @@
|
||||
### Install from source
|
||||
|
||||
```bash
|
||||
go build -o streamdeck-lets-go .
|
||||
make build
|
||||
# or
|
||||
go build -o streamdeck-lets-go ./cmd/streamdeck-lets-go
|
||||
```
|
||||
|
||||
### Run
|
||||
@@ -47,7 +49,19 @@ Open `http://localhost:9090` in your browser.
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
## Project structure
|
||||
|
||||
```
|
||||
cmd/streamdeck-lets-go entry point (CLI: daemon, switch, discover)
|
||||
internal/
|
||||
config JSON config model, load/save/validate
|
||||
deck Stream Deck hardware: open, render, brightness, events
|
||||
render Key rendering, icon/fonts, PageManager, display outputs
|
||||
web HTTP API + embedded Alpine.js SPA
|
||||
daemon Event loop, autoswitch, screensaver, actions, gestures
|
||||
packaging/ AUR PKGBUILD, systemd unit, udev rule
|
||||
Makefile build, test, vet, fmt, install
|
||||
```
|
||||
|
||||
The config file is stored at `~/.config/streamdeck-lets-go/config.json`. You can edit it manually or through the web UI.
|
||||
|
||||
@@ -371,9 +385,9 @@ After a configurable idle period the deck dims or shows a custom image.
|
||||
## Building from source
|
||||
|
||||
```bash
|
||||
git clone git@git.totmin.ru:en2zmax/streamdeck-lets-go.git
|
||||
git clone git@github.com:totmin/streamdeck-lets-go.git
|
||||
cd streamdeck-lets-go
|
||||
go build -o streamdeck-lets-go .
|
||||
make build
|
||||
```
|
||||
|
||||
Dependencies:
|
||||
|
||||
Reference in New Issue
Block a user