Bang tags
Use `` and GOOD upgrades the comment node into a Custom Element.
GOOD keeps your UI stack simple: no build step, no VDOM, and no custom DSL. Just HTML, CSS, and a tiny runtime that upgrades bang tags into Custom Elements.
<script src=https://unpkg.com/bang.html></script>
<script>
use('sg-counter');
setState('ctr', {count: 0});
</script>
<!sg-counter state=ctr />
Use `` and GOOD upgrades the comment node into a Custom Element.
Updates apply directly to text, attributes, and list items. No VDOM and no shadow DOM diffing.
Drop `markup.html`, `style.css`, and `script.js` in `components/name/` and you are done.
Promises and async functions resolve right inside `${...}` slots.
This is the same warm-greeter used in the README tutorial, rendered via the local `components/` directory.
components/
warm-greeter/
markup.html
style.css
script.js
Each file is optional. Use only what you need.
use('my-component');
setState('key', {value: 1});
getState('key');
cloneState('key');
patchState('key', {value: 2});