Arrow is a UI framework that combines reactive state management with template literal rendering and WebAssembly sandboxes for safe code execution in agentic applications.
The framework addresses the need for UI systems that work naturally with how coding agents understand code—JavaScript modules, template literals, and direct DOM manipulation. It provides a layered architecture where the core package handles reactive DOM updates through a minimal API, while optional framework packages add async components, server-side rendering, hydration, and sandboxed code execution. The sandbox runtime uses QuickJS compiled to WebAssembly, allowing agent-generated code to run in isolation from the host window realm while still rendering into the actual DOM.
Developers should choose this tool if they are building applications where coding agents generate or manipulate UI code, or if they need a lightweight reactive framework with explicit layering between core DOM reactivity and higher-level features like server rendering. The core package requires no build step and can be imported directly in the browser, making it suitable for incremental adoption. The framework packages stack cleanly on top of the core, so teams can start with basic reactivity and add async components, SSR, and hydration only when needed. The tool is designed around platform primitives rather than abstractions, which aligns with how agents reason about code.
The project maintains a monorepo structure with separate packages for core functionality, framework features, server-side rendering, hydration, sandboxing, and Vite integration. Development includes automated testing via Vitest and Playwright, with TypeScript type checking across the workspace. The team provides official editor support through a VSCode syntax extension for template literals and maintains active community channels for questions and feature discussion.