aradotso/trending-skills/gova-declarative-gui
Claude Code and agent skill by aradotso/trending-skills
- community
Checking that the SKILL.md file is still in the repository.
Build native desktop apps in Go using Gova's declarative, component-based GUI framework with reactive state and platform-native integrations.
Install
npx vskill@latest install aradotso/trending-skills/gova-declarative-guiSKILL.md
Gova Declarative GUI Framework
Skill by ara.so — Daily 2026 Skills collection.
Gova is a declarative GUI framework for Go that builds native desktop apps for macOS, Windows, and Linux from a single codebase. Views are plain Go structs, state is explicit via a Scope, and go build produces one static binary. Internally powered by Fyne (BSD-3), but the public API is stable and renderer-independent.
Install
Optional CLI:
Prerequisites:
- Go 1.26+
- C toolchain: Xcode CLT (macOS),
build-essential+libgl1-mesa-dev(Linux), MinGW (Windows)
Key CLI Commands
| Command | Purpose | |
|---|---|---|
gova dev ./path/to/app | Hot reload — watch .go files, rebuild and relaunch on save | |
gova build ./path/to/app | Compile to ./bin/<name> static binary | |
gova run ./path/to/app | Build and launch once, no file watching | |
go build -ldflags "-s -w" | Stripped binary (~23 MB for simple apps) |
Core Concepts
1. Components as Structs
A component is a Go struct implementing Body(s *g.Scope) g.View. Fields on the struct are typed props; zero values are defaults.
2. Reactive State with Scope
State lives on the *g.Scope passed to Body. No hidden scheduler, no hook-ordering rules.
3. Entry Point
Layout Primitives
Spacing Constants
| Constant | Use | |
|---|---|---|
g.SpaceSM | Small gaps | |
g.SpaceMD | Medium gaps | |
g.SpaceLG | Large padding |
Built-in Views
Font Constants
g.Title, g.Headline, g.Body, g.Caption, g.Mono
State Patterns
Basic State
Derived / Computed State
Effects (side effects on state change)
Persisted State (survives hot reload)
Full Example: Todo App
Native Dialogs (macOS: NSAlert / NSOpenPanel; other platforms: Fyne fallback)
Platform Integration (macOS Dock)
Theming and Colors
Component Composition with Viewable
Navigation / Multi-View
App Icon at Runtime
Hot Reload with PersistedState
When using gova dev, use g.PersistedState to keep UI state across rebuilds:
Project Structure (recommended)
Platform Support Matrix
| Feature | macOS | Windows | Linux | |
|---|---|---|---|---|
| Core UI | ✅ | ✅ | ✅ | |
| Hot reload | ✅ | ✅ | ✅ | |
| App icon | ✅ | ✅ | ✅ | |
| Native dialogs | NSAlert/NSOpenPanel | Fyne fallback | Fyne fallback | |
| Dock/taskbar | NSDockTile ✅ | Planned | Planned |
Troubleshooting
`cgo: C compiler not found`
- macOS:
xcode-select --install - Linux:
sudo apt install build-essential libgl1-mesa-dev - Windows: Install MinGW-w64 and add to PATH
`go build` fails with OpenGL errors on Linux
Hot reload not picking up changes
- Ensure you're using
gova dev, notgo run - Confirm
.gofiles are in a directory watched bygova dev ./path
Binary is large (~32 MB)
- Strip symbols:
go build -ldflags "-s -w" -o ./bin/myapp - Result: ~23 MB. This is expected — Fyne (OpenGL renderer) is bundled.
State not updating the UI
- Always call
count.Set(...)— mutating a slice/map in place withoutSetwon't trigger re-render - For slices: copy, modify, then set:
list := todos.Get(); list[i] = newVal; todos.Set(list)
API breakage (pre-1.0)
- Pin a specific tag:
go get github.com/nv404/gova@v0.x.y - Check the CHANGELOG before upgrading
Useful Links
- Docs: https://gova.dev
- Getting started: https://gova.dev/docs/getting-started/installation
- State & effects: https://gova.dev/docs/state/state
- Native dialogs: https://gova.dev/docs/overlays/native-dialogs
- CLI reference: https://gova.dev/docs/cli/overview
- pkg.go.dev: https://pkg.go.dev/github.com/nv404/gova
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gova-declarative-gui/SKILL.md
Popularity
- Repository stars
- 73
- Repository forks
- 13
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 Aug 2026, 2 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aradotso/trending-skills/gova-declarative-gui)