An adapter converts the compiler's IR into a template your server can render. The same JSX source produces correct output for any adapter.

JSX Source

[Phase 1] → IR (backend-agnostic)

[Phase 2a] IR → Adapter → Marked Template  (server)
[Phase 2b] IR → Client JS                  (browser)

#Available Adapters

Adapter Output Backend Package
HonoAdapter .tsx Hono / JSX-based servers @barefootjs/hono
GoTemplateAdapter .tmpl + _types.go Go html/template @barefootjs/go-template
CSR — (client-rendered) None (browser-only) @barefootjs/client

CSR is not an IR→template adapter. It renders components directly in the browser using client-side template functions — use it when the server can't (or shouldn't) emit the initial HTML.

#Pages

Topic Description
Adapter Architecture How adapters work, the TemplateAdapter interface, and the IR contract
Hono Adapter Configuration and output format for Hono / JSX-based servers
Go Template Adapter Configuration and output format for Go html/template
CSR Client-side rendering without a server-rendered template
Writing a Custom Adapter Step-by-step guide to implementing your own adapter