By luisfurquim
Develop WINGS Go/WASM web component applications with integrated support for project scaffolding, component authoring, internationalization, theming, and UI widgets.
Set up, build, and serve a WINGS app — Go module setup, the WASM build (GOOS=js), copying the JS runtime helpers, a static dev server, and the cross-platform cmd/build orchestrator (targets + the camelCase binding lint + rebuild-on-save dev mode). Use when scaffolding a new WINGS project, configuring its build, wiring main.go, or setting up a dev server / dev loop.
Write a WINGS component (custom element in Go→WASM) — module file trio, wings.Register, the PranaMod lifecycle (InitData/Render), template binding syntax ({{expr}}, ?cond, *arr/**arr, &attr, @event), and parent-child events. Use when creating or editing a WINGS module, template, custom element, PranaMod, or any template binding.
Internationalize a WINGS app — author plain text that the gen_i18n build step extracts into per-language catalogs, runtime lookup via wi18n, translatable attributes, opting out, plurals/gender flexion ({{@g %n ~word}}), locale-aware formatting ({{%price}}), and runtime locale switching (SetLang). Use when adding translatable text, plurals/gender, number/currency/date formatting, or a language switcher.
Theme a WINGS app with --wings-* skin tokens — consume tokens in component CSS via var() with fallbacks, apply/compose built-in skins (ApplySkin), the nine disjoint skin categories and multi-skin composition, register your own skin, and private categories. Use when styling components to be theme-aware, applying or composing skins, or building a theme.
Use WINGS's built-in widgets instead of hand-rolling them — tabbed containers (w-tabs/w-tabbutton/w-tab), dialogs (w-dialog), multi-select combobox (w-combobox), record navbar (w-navbar), and the skin picker (skin-switcher). Use when an app needs tabs, a modal/dialog, a filtering select, record navigation, or a theme picker.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Web IN Go Sphere
Live Demo — try it in your browser, no install needed. Or run locally: clone the repo,
cd live-demo && bash build.sh && go run serve.goor jump to the Quick Start / Full Example
Build reactive Web Components in pure Go — no JavaScript framework required.
WINGS compiles to WebAssembly and gives you custom HTML elements with automatic data binding, conditional rendering, array iteration, two-way form binding, hash-based routing, and parent-child communication — all authored in Go and running natively in the browser.
| Pure Go | Write components, state, and logic entirely in Go. Templates stay in plain HTML. |
| Reactive | Change a value with Set() and the DOM updates automatically — no virtual DOM diffing overhead. |
| Lightweight | Direct DOM manipulation via targeted refs. No framework runtime to download beyond your WASM binary. |
| Encapsulated | Each component lives inside a Shadow DOM with scoped CSS — no style leaks, no naming collisions. |
| Two-Way Binding | The & prefix syncs <input>, <select>, and <textarea> with your Go data map in both directions. |
| Hash Routing | Built-in {{#}} binding and wings.GoTo() for SPA navigation without a router library. |
| Composable | Nest components freely. Parent-to-child data flows via attributes; child-to-parent events flow via @ triggers. |
| Standard Web | Uses native Custom Elements v1 and Shadow DOM — works alongside any existing page or framework. |
| Internationalized | Build-time text extraction + runtime catalog lookup, with plural/gender flexion and locale-aware number/date/measure formatting. |
| Themeable | Global --wings-* design tokens; compose multiple runtime skins (colours, geometry, depth, motion, atmosphere). |
| Testable in-web | Wrap any widget in <w-test> to spy its events and seal a pass/fail; modules declare self-tests via Testable(), and <w-test-report> collects the whole page (auto + visual) into one JSON report. |
| Zero-toolchain dev | A Docker dev container recompiles your wings.wasm and serves it on every save — iterate with no Go toolchain on the host, or run the same loop natively. |
Release highlights — full history in CHANGELOG.md.
go run ./cmd/build fuzz. The first run
already caught and fixed a currency-formatting bug.vulncheck build target — govulncheck over every module, native and
GOOS=js; deps and toolchain bumped to clear every finding it reported.npx claudepluginhub luisfurquim/wings --plugin wings-authoringOpinionated Go web app scaffolding with Templ + HTMX + Alpine.js + Tailwind
Enhances Claude for developing full-stack web apps with Wasp (React, Node.js, Prisma)
UI framework skills: daisyUI components, theming, and responsive design
wasmCloud development tools and CLI expertise
The maragu fabrik plugin.
Design Director for complete apps, sites, and SaaS. Multi-stack support (React/shadcn, Laravel/Livewire Flux, Swift/SwiftUI). Identity System, page layouts, motion system, palette generator, design audit. Anti-AI-Slop, WCAG 2.2, Gemini Design MCP.