I like how your templating language is minimalistic (not embedding whole js syntax inside) and is valid HTML (could be prepared using HTML authoring tools).
I have few remarks comming from my expeirinece in wirting and using minimalistic templating engines.
--
This templates tightly integrate with html and magically interpret the view model values depending on the context they are used in html.
I think it could be better to explicitely indicate in place of use that the value will not be used directly.
Not
<div hidden="{{hide}}">
but <div :hidden="{{hide}}">
<div _hidden="{{hide}}">
<div :hidden="hide">
This would make it explicit, aria would not need to be an exception and HTML and your syntax would be clearly separated. You could just pass argument through funcion named `hidden` (or `class` or `style`) and even make whole thing pluggable with custom functions that preprocess the argument into the attribute. (Or even multiple attributes if necessary).---
Passing current item from `#each` loops into event handlers implicitly is very cool, but you might want to think about what if you have nested loops.
Maybe it would be cooler to pass not just the element but sort of `context` object that contains current elements of all nested loops and perhaps some other stuff in the future?
Also you might consider passing it not only into event handlers but all functions called from template.
Again you could use `:onclick` instead of `onclick` to indicate that there's some additional magic happening.
---
You might want to consider making loop variable optionally anonymous to reduce the noisiness of looping.
<!-- #each in people -->
<li>Hello {{ .name }}</li>
<!-- /each -->
---You could do form binding though `:name` to indicate that something beyond just usual HTML is happening and allow people to opt-out for some controls by using just `name` instead of `name`.
---
All of this could easily work with pre-rendering and hydration by not removing `:something` attributes when `something` function is called to do the appropriate magic.