Skip to content

CycleWire documentation

CycleWire turns server-rendered HTML into instant interactivity on intent: one small delegated listener per event type, and action code imported only when someone reaches for it.

  1. Getting started: install, first action, first trigger.
  2. Concepts: how activation, preloading and the registry fit together, and how this compares with Qwik.
  3. Actions: writing handlers, and what the context object gives you.
  • TypeScript: typed handlers and props, and action names checked by the compiler.
  • Command line: cyclewire check finds unknown actions and invalid values in your templates; cyclewire types writes the declarations.
  • Vite plugin: an actions directory as chunks, edits without reloads, and the declarations kept up to date.
  • Devtools: an in-page inspector for actions, runs, the trace, triggers and bindings, as a plugin, from code or as a bookmarklet.
  • Core first, modules when you need them: what the core covers on its own, when to add each module, and how to load a module only with the action that needs it.
  • css: stylesheets that arrive with the actions that need them.
  • dom: html templates escaped by context, inert fragments, swap, transition.
  • morph: update the page from server HTML while keeping state.
  • signals: reactivity that resumes from state the server serialized.
  • stream: the server changes the page with HTML messages, over Server-Sent Events or in any response.
  • prefetch: data fetched on intent, next to the action’s code.
  • request: links, forms and buttons that fetch HTML and put it into the page, declared in markup.
  • early: taps and typing before CycleWire starts, kept and run once it does.
  • plugins: the Bootstrap data-API plugin, and writing your own.