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 |