The canonical API

Aegis exports a lot (about 260 names, most of them small helpers). You need about a dozen; the rest are for specific jobs. Older aliases still work, but they are marked @deprecated in aegis.d.ts and are not documented here.

Job Use Not
Component on a server page island(name, Component, { types }) register() (low-level; keep for { load })
Component anywhere else mount(el, Component) component()
Custom element element(tag, Component, { props }) defineElement()
State signal, computed, effect, reactive store()
Template html``, when, list, show text/attr/cls/style (for adopting existing DOM)
Data resource(url, { cache, offline, params, loader }), mutation, api, invalidate('/api/users*') / invalidate(['users']) cachedResource(), offlineResource()
Forms wireForm(formEl) for server forms, form(defaults) for virtual ones
Server HTML swap, adopt, boost innerHTML with data
Router router({ '/users/:id': { loader, component: Page } }, { outlet, hash })props = params + { data, query } handler + manual mount()

Component is one contract everywhere: ({ props, html, signal, on, … }) => Node | api | void.