Pure CSS. Semantic HTML. No Node.js, no npm, no bundled JavaScript. First-class Go and templ support, with styles embedded directly in your binary.
Documentation · Component catalog · Playground · Examples
| Build with | What you get |
|---|---|
| Any HTML stack | One semantic stylesheet for native elements, forms, cards and layouts. |
| Go | Embedded assets and a standard-library HTTP handler. Build and ship one executable. |
| templ | Typed component props and composable content slots; generated Go ships with the module. |
| Optional HTMX | Explicit request attributes and page/fragment helpers. Your app supplies the runtime. |
Light, dark and system themes. Responsive layouts. Configurable spacing and surfaces. Native interactions, keyboard access and bounded CSS motion.
Use Go 1.26+ and the pinned preview:
go get github.com/Tend-Stack/TendUI/[email protected]
The asset package uses only Go's standard library. Components use templ
v0.3.1100 as their one direct runtime dependency. No generator is required to
consume the included components from Go; writing your own .templ files needs
the matching templ generator.
package main import ( "log" "net/http" "github.com/Tend-Stack/TendUI/v2026" "github.com/Tend-Stack/TendUI/v2026/components" "github.com/a-h/templ" ) func main() { mux := http.NewServeMux() mux.Handle(tendui.AssetPath, tendui.AssetHandler()) page := components.Layout(components.LayoutProps{ Title: "Hello, TendUI", Language: "en", Theme: components.ThemeLight, }, components.Card(components.CardProps{ Body: components.Button(components.ButtonProps{ Text: "Build something thoughtful", Primary: true, }), })) mux.Handle("/", templ.Handler(page)) log.Fatal(http.ListenAndServe("127.0.0.1:8080", mux)) }
Follow the tested Go/templ quickstart, use
Go html/template with embedded CSS and no templ components,
or start with plain HTML and CSS with no Go dependency. Run the full local
showcase with go run ./examples/basic -open.
| I want to… | Start here |
|---|---|
| Find a component and copy a recipe | Live catalog |
| Customize themes, forms and layouts | Library guide |
| Test interactions and appearance | Playground · Motion and surfaces |
| Work with Codex or Claude Code | Agent setup |
| Add TendUI to an application | Integration guide |
| Understand compatibility and verification | API policy · Development guide |
This is a preview; APIs may change before a stable release. Install a fixed
version and review release notes when
upgrading. Versions follow YEAR.RELEASE.FIX, with -preview.N for previews.
The Go module uses /v2026 for the 2026 major-version line.
Your application owns routing, authentication, request protection, persistence and sessions. HTMX is optional and requires application-supplied JavaScript.
Contributions are welcome under MIT + DCO. Contributors retain copyright;
a human reviews and signs off every contribution. Start with
CONTRIBUTING.md, open issues,
or the coding-agent instructions. CLAUDE.md imports the same guidance.
Security reports · Code of conduct · MIT license · Website source