# golang-ui/nuklear

This project provides Go bindings for nuklear.h — a small ANSI C GUI library.

Repository: https://github.com/golang-ui/nuklear
Canonical: https://ross.abutalabs.com/products/golang-ui-nuklear
Homepage: https://github.com/vurtun/nuklear
Language: C
License: MIT
License Family: permissive
Last push: 2025-12-29T09:12:46+00:00

## Health v2 (maintenance only)
Score: 69/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 59, release rhythm 63, longevity 100
- inputs: {"age_days": 3633, "days_push": 247, "days_rel": 247, "gap_med": 0, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1603, forks 101 (observed 2026-08-28T04:05:09.834654+00:00)

## What it is
Go bindings (package nk) for nuklear.h, a small ANSI C immediate-mode GUI single-header toolkit. It lets Go applications build lightweight, fully skinnable user interfaces with GLFW/OpenGL or SDL2 backends, plus Android support via OpenGL ES.

## Use cases
- build a desktop GUI in Go
- add an immediate mode UI to a Go application
- create lightweight tool UIs with minimal dependencies
- render debug or tool windows over OpenGL in Go
- build a cross-platform Go app with GLFW or SDL2
- embed a small customizable GUI with low memory footprint
- make an Android Go app with a native UI

## When to choose
- you want a tiny, dependency-free immediate mode GUI in Go
- you need full control over memory and rendering backends
- you are already using GLFW, OpenGL, or SDL2 in Go
- you want a fully skinnable, embeddable UI without hidden global state

## When to avoid
- you need an idiomatic, high-level Go GUI API with wrappers
- you want retained-mode widgets or native OS look-and-feel
- you need a mature, actively developed upstream (the referenced vurtun/nuklear repo is archived)
- you want rich built-in controls like tables, trees, or complex layouts

## Facets
- artifact type: library
- maturity: maintenance
- function: gui, ui-components, graphics
- domain: desktop-applications, cross-platform, developer-tools
- platform: windows, go, cpp, cross-platform
- tags: immediate-mode-gui, c-bindings, golang-bindings, nuklear, opengl, glfw, sdl2, single-header-library, game-development, macos, linux, android

## Member repositories
- golang-ui/nuklear (main) score 69

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:09.834654+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:52:23.299473+00:00, confidence not recorded.
  - readme: https://github.com/golang-ui/nuklear (fetched 2026-08-28T04:05:09.834654+00:00, sha 214f13a3ab83)
  - homepage: https://github.com/vurtun/nuklear (fetched 2026-08-29T11:24:02.922345+00:00, sha 60f9010405cc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
