A tiny, performant, type-safe reactive UI runtime built around JavaScript modules, template literals, and the DOM for the agentic era.
ArrowJS is a reactive UI runtime built for the agentic era, offering a tiny and performant framework centered on JavaScript modules, template literals, and the DOM. It solves the need for a minimal, type-safe UI framework that coding agents can easily understand and manipulate, with optional WASM sandboxes for safe code execution.
Developers and coding agents building modern web applications who prioritize minimal API surfaces, direct DOM updates, and seamless integration with platform primitives.
Developers choose ArrowJS for its extreme minimalism, performance, and safety features like WASM sandboxes, combined with a familiar template-literal syntax and full TypeScript support, making it ideal for agentic workflows and reactive UI development.
The first UI framework for the agentic era — tiny, performant, with WASM sandboxes for safe code execution.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The @arrow-js/core package is under 3KB and works without a build step, allowing direct ESM imports in browsers, as shown in the installation example with browser imports via esm.sh.
ArrowJS is built with TypeScript from the ground up, providing type safety and autocomplete for reactive state and template literals, as emphasized in the key features.
Designed around platform primitives like JavaScript modules and template literals, making it deeply understandable by coding agents, which is core to its philosophy for the agentic era.
Includes @arrow-js/sandbox for executing Arrow code in isolated QuickJS/WASM environments off the host window realm, enhancing security for untrusted code execution.
Advanced features like async components and SSR require installing and configuring multiple separate packages (@arrow-js/framework, ssr, hydrate), adding complexity compared to all-in-one frameworks.
As a newer framework, ArrowJS lacks the extensive community-driven libraries, tools, and integrations available in more established alternatives, which can increase development time for custom needs.
The tagged-template rendering approach, while efficient, may be less intuitive for developers accustomed to JSX, and editor support is primarily limited to a dedicated VSCode extension.