---
title: Core
---

The core is Arc's frontend layer **beneath React** — the framework-agnostic TypeScript that the React
hooks build on. Most apps consume it indirectly through [React](/arc/frontend/react/); reach for it
directly when you're working outside React (a service layer, a worker, a vanilla-TS integration) or you
need lower-level control over how commands and queries execute.

| Topic | What it covers |
| ------- | ----------- |
| [Commands](/arc/frontend/core/commands/) | Instantiating and executing commands without React — the runtime behind the hooks. |
| [Queries](/arc/frontend/core/queries/) | Retrieving data and subscribing to observable queries at the core level. |
| [Validation](/arc/frontend/core/validation/) | The validation rules and results that flow through commands and queries. |
| [Identity](/arc/frontend/core/identity/) | The user-context primitives the higher layers expose. |
| [Messaging](/arc/frontend/core/messaging/) | The messaging and communication patterns Arc uses under the hood. |

Building UI? You almost certainly want [React](/arc/frontend/react/) instead — it wraps everything here in
hooks.
