{"id":47387506,"url":"https://github.com/standardagents/arrow-js","last_synced_at":"2026-04-02T20:14:42.232Z","repository":{"id":62920499,"uuid":"563574422","full_name":"standardagents/arrow-js","owner":"standardagents","description":"The first UI framework for the agentic era — tiny, performant, with WASM sandboxes for safe code execution.","archived":false,"fork":false,"pushed_at":"2026-03-26T21:05:41.000Z","size":2125,"stargazers_count":3182,"open_issues_count":28,"forks_count":65,"subscribers_count":32,"default_branch":"main","last_synced_at":"2026-03-27T01:24:08.211Z","etag":null,"topics":["declarative","reactive","rendering","ui","ux","web","webcomponents"],"latest_commit_sha":null,"homepage":"https://arrow-js.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/standardagents.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-08T22:29:40.000Z","updated_at":"2026-03-27T00:26:20.000Z","dependencies_parsed_at":"2024-09-24T16:01:53.328Z","dependency_job_id":null,"html_url":"https://github.com/standardagents/arrow-js","commit_stats":{"total_commits":143,"total_committers":19,"mean_commits":7.526315789473684,"dds":0.5244755244755245,"last_synced_commit":"156ec3b30a8e5ca8eeae39714c781a4b73989efc"},"previous_names":["standardagents/arrow-js"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/standardagents/arrow-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardagents%2Farrow-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardagents%2Farrow-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardagents%2Farrow-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardagents%2Farrow-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/standardagents","download_url":"https://codeload.github.com/standardagents/arrow-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/standardagents%2Farrow-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31315246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["declarative","reactive","rendering","ui","ux","web","webcomponents"],"created_at":"2026-03-19T21:00:32.639Z","updated_at":"2026-04-02T20:14:42.228Z","avatar_url":"https://github.com/standardagents.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/public/arrowjs-logo.png\" alt=\"ArrowJS\" width=\"360\" /\u003e\n\u003c/p\u003e\n\n![test badge](https://github.com/standardagents/arrow-js/actions/workflows/tests.yml/badge.svg)\n![size badge](https://img.shields.io/endpoint?url=https%3A%2F%2Farrow-js.com%2Fbadges%2Fcore-size.json)\n[![npm version](https://badge.fury.io/js/@arrow-js%2Fcore.svg)](https://badge.fury.io/js/@arrow-js%2Fcore)\n\n## The UI framework for coding agents\n\nArrowJS is a tiny, blazing-fast, type-safe reactive UI runtime built around platform primitives that coding agents deeply understand: JavaScript modules, template literals, and the DOM.\n\nUse `@arrow-js/core` when you want direct reactive DOM updates with minimal API surface. Add `@arrow-js/framework`, `@arrow-js/ssr`, and `@arrow-js/hydrate` when you need async components, server-side rendering, and client-side hydration on top of the same component model.\n\n[Documentation](https://arrow-js.com) · [API Reference](https://arrow-js.com/api) · [Playground](https://arrow-js.com/play/) · [Discord](https://discord.gg/fBy7csvmAt)\n\n## Core Package\n\n- `@arrow-js/core`: reactive state, tagged-template rendering, components, `pick()` / `props()`, and `nextTick()`\n\n## Framework Packages\n- `@arrow-js/framework`: async component runtime, `boundary()`, `render()`, `toTemplate()`, and document rendering helpers\n- `@arrow-js/ssr`: `renderToString()` and `serializePayload()` for server output\n- `@arrow-js/hydrate`: `hydrate()` and `readPayload()` for adopting SSR output in the browser\n- `@arrow-js/sandbox`: QuickJS/WASM-backed sandbox runtime for executing Arrow code off the host `window` realm while rendering into the real DOM\n- `@arrow-js/vite-plugin-arrow`: Vite integration package included in the monorepo\n\n## Install\n\nScaffold a complete Vite 8 Arrow app with SSR, hydration, and the full framework stack:\n\n```sh\npnpm create arrow-js@latest arrow-app\n```\n\nAgent skill: Equip your preferred coding agent to add Arrow to an existing project:\n\n```sh\nnpx @arrow-js/skill\n```\n\nCore-only:\n\n```sh\nnpm install @arrow-js/core\n```\n\nFull SSR + hydration stack:\n\n```sh\npnpm add @arrow-js/core @arrow-js/framework @arrow-js/ssr @arrow-js/hydrate\n```\n\nNo build step is required for the core runtime. You can also import it directly in the browser:\n\n```html\n\u003cscript type=\"module\"\u003e\n  import { html, reactive } from 'https://esm.sh/@arrow-js/core'\n\u003c/script\u003e\n```\n\n## Core Example\n\n```ts\nimport { component, html, reactive } from '@arrow-js/core'\n\nconst Counter = component(() =\u003e {\n  const state = reactive({ count: 0 })\n\n  return html`\u003cbutton @click=\"${() =\u003e state.count++}\"\u003e\n    Clicked ${() =\u003e state.count} times\n  \u003c/button\u003e`\n})\n\nhtml`${Counter()}`(document.body)\n```\n\n## Async Components, SSR, and Hydration\n\nAsync components use the same `component()` API, but they require the async runtime from `@arrow-js/framework`, `@arrow-js/ssr`, or `@arrow-js/hydrate` to be imported before rendering.\n\nThe current project structure keeps that layering explicit:\n\n- `@arrow-js/core` stays DOM-first and framework-agnostic.\n- `@arrow-js/framework` adds async render tracking and boundaries.\n- `@arrow-js/ssr` renders HTML and serializes async payloads on the server.\n- `@arrow-js/hydrate` adopts existing SSR HTML instead of replacing it on the client.\n\n## Editor Support\n\nInstall the official [ArrowJS Syntax](https://marketplace.visualstudio.com/items?itemName=StandardAgents.arrowjs-syntax) extension for VSCode to get syntax highlighting and autocomplete inside `html` template literals.\n\n## Community\n\n- [Discord](https://discord.gg/fBy7csvmAt) — ask questions, share what you're building, and connect with other Arrow developers\n- [GitHub Issues](https://github.com/standardagents/arrow-js/issues) — report bugs and request features\n- Follow [@jpschroeder](https://x.com/intent/follow?screen_name=jpschroeder) on X for updates and releases\n\n## Monorepo Development\n\n- `pnpm dev`: run the docs app locally\n- `pnpm test`: run Vitest\n- `pnpm test:e2e`: run Playwright tests\n- `pnpm typecheck`: run TypeScript across the workspace\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstandardagents%2Farrow-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstandardagents%2Farrow-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstandardagents%2Farrow-js/lists"}