Agent skill · software engineering · aradotso

gova-declarative-gui

Build native desktop apps in Go using Gova's declarative, component-based GUI framework with reactive state and platform-native integrations.

Why this skill is useful

Provides specific commands and patterns for building native desktop apps in Go that the AI wouldn't reliably generate on its own.

What it needs

Requires go installed locally. About 5k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.

What this skill does

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 ✅ ✅ ✅ …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/gova-declarative-gui

View the source on GitHub

Browse the @skills marketplace