gsx
Skip to content
Appearance
gsxHTML as a first-class Go value<br>templ-style components, JSX-style markup, compiled to plain Go. A standard-library-only runtime.<br>Get started<br>Learn gsx<br>Playground
Type-safe by construction<br>Components lower to plain Go the compiler checks. Props are generated structs — gsx owns the field names, so there is no symbol-resolver guesswork.
Close to HTML, close to Go<br>JSX-style markup for templates; ordinary Go for everything else. Capitalization decides component-vs-element.
templ-compatible<br>gsx.Node has the identical method set to templ.Component, so gsx output drops into the templ ecosystem without importing templ.
Status — alpha. gsx is runnable end-to-end. gsx init scaffolds a Go and Vite application, and npm run dev starts the warm generation, server rebuild, browser error, and reload loop through gsx dev. The language and APIs are usable but may still change before a stable release.