# SignalX > SignalX (sigx) — a fine-grained reactive TypeScript framework with signals, TSX components, typed server functions and actors. One core for web, native (Lynx) and terminal apps. Start with [SignalX for LLMs](https://sigx.dev/llms.md) — a condensed cheatsheet of the API and the semantics that differ from React/Vue/Solid (notably: `signal(primitive)` returns `{ value }`; `signal(object)` returns a reactive proxy; `$set()` exists only on object/array signals). The full docs corpus is at https://sigx.dev/llms-full.txt, and every docs page has a markdown rendition at its URL with the trailing slash replaced by `.md` (e.g. `/core/docs/signals.md`). ## Start Here - [SignalX for LLMs (cheatsheet)](/llms.md): condensed API + the gotchas code generators get wrong ## Core Guides - [Getting Started](/core/docs/getting-started.md): Learn how to build reactive web applications with SignalX - [Installation](/core/docs/installation.md): How to install SignalX in your project - [Signals](/core/docs/signals.md): Learn how to use signals for reactive state management in SignalX - [Effects](/core/docs/effects.md): React to changes with effects in SignalX - [Computed Values](/core/docs/computed.md): Derive reactive values from signals with computed - [Components](/core/docs/components.md): Learn how to create and compose SignalX components - [Lifecycle](/core/docs/lifecycle.md): Understanding component lifecycle in SignalX - [Data Loading](/core/docs/data-loading.md): Load async data with useData, run writes with useAction, combine with all, and stream text with useStream — SSR-aware with automatic hydration state transfer - [Error Handling](/core/docs/error-handling.md): Scope render and setup errors with errorScope, and catch everything else with app.onError — the value-first error model - [Keys](/core/docs/keys.md): Learn how to use keys for efficient list rendering and component identity - [Two-Way Binding](/core/docs/two-way-binding.md): Learn how to use model binding for two-way data synchronization in SignalX - [Directives](/core/docs/directives.md): Create reusable element-level behavior with the directive system - [DOM Properties](/core/docs/dom-properties.md): Control how props are applied to DOM elements — attributes vs properties and the prop prefix - [App & Plugins](/core/docs/app-plugins.md): Application bootstrap, plugin system, dependency injection, and lifecycle hooks - [Portal](/core/docs/portal.md): Render content outside the component tree in SignalX - [Lazy Loading](/core/docs/lazy-loading.md): Code splitting and async component loading in SignalX with lazy() and Defer - [Advanced Reactivity](/core/docs/advanced/reactivity.md): Advanced reactivity utilities in SignalX - batch, untrack, effectScope, and more - [Factories](/core/docs/advanced/factories.md): Injectable factory pattern for services in SignalX - [Messaging](/core/docs/advanced/messaging.md): Pub/sub communication pattern in SignalX - [Globals on the page](/core/docs/advanced/globals.md): The __SIGX_* names a sigx page defines — which are visible and why, what lands in the data cache, and the rule for a pack stamping its own seam ## Core API - [Overview](/core/api.md): Complete SignalX API reference - [Reactivity](/core/api/reactivity.md): SignalX reactivity API reference - [Components](/core/api/components.md): SignalX components API reference - [Lifecycle](/core/api/lifecycle.md): SignalX component lifecycle hooks API reference - [Dependency Injection](/core/api/di.md): SignalX dependency injection API reference - [App](/core/api/app.md): SignalX application and plugin API reference - [Types](/core/api/types.md): SignalX TypeScript type helpers reference - [Advanced](/core/api/advanced.md): SignalX advanced utilities API reference ## Error Codes - [Error codes](/errors.md): Every SignalX runtime error code (SIGX###) — what it means, why it fired, and how to fix it - [SIGX001 · No mount function](/errors/SIGX001.md): SIGX001 — no mount function was provided and no platform package set a default - [SIGX100 · Render target not found](/errors/SIGX100.md): SIGX100 — the selector passed to render() matched no element - [SIGX101 · Mount target not found](/errors/SIGX101.md): SIGX101 — the selector passed to app.mount() matched no element - [SIGX102 · Async setup is SSR-only](/errors/SIGX102.md): SIGX102 — a component's setup function returned a promise on the client - [SIGX103 · errorScope() outside setup](/errors/SIGX103.md): SIGX103 — errorScope() must be called synchronously during component setup - [SIGX200 · defineProvide outside setup](/errors/SIGX200.md): SIGX200 — defineProvide must be called inside a component setup function - [SIGX201 · defineProvide with an invalid injectable](/errors/SIGX201.md): SIGX201 — defineProvide needs a function created by defineInjectable or defineFactory - [SIGX202 · Required injectable not provided](/errors/SIGX202.md): SIGX202 — a required injectable was used without ever being provided - [SIGX203 · defineFactory returned a primitive](/errors/SIGX203.md): SIGX203 — a defineFactory setup must return an object or a function - [SIGX300 · Hook called outside setup](/errors/SIGX300.md): SIGX300 — useData, useAction and useStream must be called synchronously during setup - [SIGX400 · Subscribed to a destroyed topic](/errors/SIGX400.md): SIGX400 — subscriptions made after a topic is destroyed can never fire - [SIGX401 · Topic created on a destroyed group](/errors/SIGX401.md): SIGX401 — a topic group cannot create new topics after it is destroyed - [SIGX500 · Write to a read-only property signal](/errors/SIGX500.md): SIGX500 — toSignal cannot write back to a property whose source object rejects the assignment - [SIGX600 · Hydration container not found](/errors/SIGX600.md): SIGX600 — app.hydrate() was given a container that isn't in the document - [SIGX601 · No root component to hydrate](/errors/SIGX601.md): SIGX601 — app.hydrate() was called on an app created without a root component - [SIGX602 · Outlet marker not found in template](/errors/SIGX602.md): SIGX602 — renderDocument could not find the outlet marker it replaces with the app HTML - [SIGX700 · Revalidation trigger threw while subscribing](/errors/SIGX700.md): SIGX700 — the @sigx/cache revalidateTrigger threw when the store tried to install it ## Core Packages - [Reactivity](/core/packages/reactivity/overview.md): Signals, computed & effects - [Runtime Core](/core/packages/runtime-core/overview.md): Renderer-agnostic component model - [Runtime DOM](/core/packages/runtime-dom/overview.md): The DOM renderer - [Cache](/core/packages/cache/overview.md): Cache policy for value-first async ## Router - [Getting Started](/router/docs/getting-started.md): Get started with @sigx/router - the declarative router for SignalX - [Defining Routes](/router/docs/routes.md): Learn how to define routes in @sigx/router - [Navigation](/router/docs/navigation.md): Learn how to navigate programmatically with @sigx/router - [Route Guards](/router/docs/guards.md): Protect routes with guards in @sigx/router - [SSR Routing](/router/docs/ssr.md): Configure @sigx/router for server-side rendering with memory history and client hydration - [Advanced Patterns](/router/docs/advanced-patterns.md): Advanced routing patterns for @sigx/router - pattern matching, nested layouts, dynamic routes, and more - [API Reference](/router/api.md): API reference for @sigx/router ## Store - [Getting Started](/store/docs/getting-started.md): @sigx/store — centralized state on signals - [Installation](/store/docs/installation.md): Install @sigx/store and wire it into a SignalX project - [Defining a Store](/store/docs/defining-a-store.md): State, derived values, actions, and events with defineStore - [Actions & Async](/store/docs/actions-and-async.md): pending, action lifecycle events, error semantics, and async patterns - [Events & Observability](/store/docs/events-and-observability.md): State events, action events, custom events, and the inspection registry - [Lifetimes & DI](/store/docs/lifetimes-and-di.md): scoped, singleton, and transient stores; defineProvide overrides; disposal ownership; SSR - [Using Stores in Components](/store/docs/using-in-components.md): Read store state in render, share instances, and control lifetimes - [Persistence](/store/docs/persistence.md): Persist store state to localStorage or any sync/async storage with @sigx/store/persist - [SSR state transfer](/store/docs/ssr-state.md): Seed a store on hydration from the server render with ssrState — fetch on the server, no client refetch - [Composables & Plugins](/store/docs/composables-and-plugins.md): Reusable setup composables and global onStoreCreated plugins - [TypeScript](/store/docs/typescript.md): The store typing contract — inference, action signatures, $patch/$events keys, and policies - [Patterns](/store/docs/patterns.md): Multi-slice stores, composition, optimistic updates, request races, and undo - [API Reference](/store/docs/api.md): @sigx/store — centralized state on signals — API reference ## Use - [Overview](/use/docs/overview.md): @sigx/use — tree-shakable, reactive composables built on signals - [Conventions](/use/docs/conventions.md): The shared patterns behind every @sigx/use composable — MaybeSignal, toValue, reactive-view returns, element targets, and the cross-platform contracts - [useToggle](/use/docs/use-toggle.md): A boolean signal with a toggler — flip with no argument, set with a boolean - [useCounter](/use/docs/use-counter.md): A numeric signal with clamped inc/dec/set/reset mutators - [usePrevious](/use/docs/use-previous.md): A read-only signal holding the value a source had before its latest change (lag-by-one) - [useCycleList](/use/docs/use-cycle-list.md): Cycle through a (possibly reactive) list with wrap-around next/prev/go - [useDebouncedSignal](/use/docs/use-debounced-signal.md): A read-only signal that trails a source, collapsing bursts of changes into one update - [useThrottledSignal](/use/docs/use-throttled-signal.md): A read-only signal that follows a source at most once per window - [watchDebounced](/use/docs/watch-debounced.md): watch with a debounced callback — bursts of source changes collapse into one run carrying the latest value - [watchThrottled](/use/docs/watch-throttled.md): watch with a throttled callback — runs at most once per window, always with the latest value - [useIntervalFn](/use/docs/use-interval-fn.md): Run a callback on an interval, with pause/resume controls and a reactive period that restarts the timer - [useTimeoutFn](/use/docs/use-timeout-fn.md): A restartable one-shot timer — cb fires once after a delay, with start/stop controls and a reactive isPending flag - [useNow](/use/docs/use-now.md): The current time as a reactive Date, updated on an interval — optionally with pause/resume controls - [createGlobalState](/use/docs/create-global-state.md): Wrap a state factory so it runs once in a detached scope and every later call returns the same cached result — app-wide shared signals without a store - [createSharedComposable](/use/docs/create-shared-composable.md): Reference-counted sharing of an effect-ful composable — N callers share one instance, torn down when the last subscriber leaves - [toValue](/use/docs/to-value.md): Resolve a MaybeSignal to its current value — call getters, unwrap { value } handles, pass everything else through - [tryOnScopeDispose](/use/docs/try-on-scope-dispose.md): Register teardown with the active scope — returns false when there's no scope, so the caller knows it owns disposal - [tryOnMounted](/use/docs/try-on-mounted.md): Run fn after mount inside a component, or immediately when standalone — defer environment reads without failing outside components - [unrefElement](/use/docs/unref-element.md): Resolve an element target — raw element, getter, signal, computed, or a sigx template-ref — to the raw DOM element or null - [useEventListener](/use/docs/use-event-listener.md): Attach a DOM event listener scoped to the owning component — re-attached when the target changes, removed on scope disposal - [useResizeObserver](/use/docs/use-resize-observer.md): Observe element size changes with a ResizeObserver that follows reactive targets and disconnects with the owning scope - [useElementSize](/use/docs/use-element-size.md): An element's content size as one reactive { width, height } object, driven by a ResizeObserver - [useIntersectionObserver](/use/docs/use-intersection-observer.md): Observe viewport intersection with an IntersectionObserver that follows reactive targets, pauses without losing config, and disconnects with the owning scope - [useElementVisibility](/use/docs/use-element-visibility.md): Whether an element intersects the viewport (or a scroll container), as a reactive boolean over an IntersectionObserver - [useMouse](/use/docs/use-mouse.md): Reactive pointer position as one { x, y, sourceType } object — per-key tracked, passive listeners, detaches with the owning scope - [useWindowSize](/use/docs/use-window-size.md): Reactive window inner size as one { width, height } view — on the cross-platform WindowSizeState contract - [useScroll](/use/docs/use-scroll.md): Reactive scroll position with edge-arrival and direction detection — writing x/y scrolls the target - [useMediaQuery](/use/docs/use-media-query.md): Reactive matchMedia — a media query string as a boolean signal, re-subscribing when the query changes - [useBreakpoints](/use/docs/use-breakpoints.md): Reactive breakpoint queries over a { name: width } map — greater/smaller/between and the active breakpoint - [useColorScheme](/use/docs/use-color-scheme.md): The system light/dark preference as the cross-platform ColorScheme contract — the same shape Lynx returns - [useNetwork](/use/docs/use-network.md): Reactive network state on the cross-platform NetworkState contract, with web-only Network Information API extras - [useOnline](/use/docs/use-online.md): Reactive navigator.onLine — the sugar form of the cross-platform connectivity contract - [useDocumentVisibility](/use/docs/use-document-visibility.md): Reactive document.visibilityState via the visibilitychange event - [useStorage](/use/docs/use-storage.md): A signal persisted to storage — object defaults become a deep-reactive proxy that auto-persists, with cross-tab sync - [useLocalStorage](/use/docs/use-local-storage.md): A useStorage preset backed by window.localStorage — persists across sessions, with cross-tab sync - [useSessionStorage](/use/docs/use-session-storage.md): A useStorage preset backed by window.sessionStorage — persists for the current tab session only - [useClipboard](/use/docs/use-clipboard.md): Clipboard writes on the cross-platform UseClipboardReturn contract, with a copied flag for Copied! UI - [useTitle](/use/docs/use-title.md): A two-way binding to document.title — a signal you write to set the tab title, for post-load dynamic titles ## Internationalization - [Overview](/i18n/docs/overview.md): @sigx/i18n — reactive localization for SignalX: namespaces, a master locale with automatic fallback, detection and SSR-safe state transfer - [Installation](/i18n/docs/installation.md): Install @sigx/i18n, its entry points, and the Vite plugin that generates types from your catalogs - [Translating](/i18n/docs/usage.md): useTranslation, the component, namespaces, plurals and rich text - [Locales](/i18n/docs/locales.md): Detecting, switching and persisting the locale — plus the load-error surface - [Runtime catalogs](/i18n/docs/runtime-catalogs.md): Messages that come from a CMS or database — runtimeNamespaces, useDynamicTranslation and invalidation - [Server & SSR](/i18n/docs/server.md): Resolving the request locale, translating outside a component, and rendering into a locale other than the active one - [API reference](/i18n/docs/api.md): Every export of @sigx/i18n, grouped by entry point ## Mermaid Diagrams - [Overview](/mermaid/docs/overview.md): @sigx/mermaid — a component for any sigx app, plus drop-in mermaid fence support for @sigx/ssg - [Usage](/mermaid/docs/usage.md): The component, global configuration, theming and colour-scheme detection - [SSG integration](/mermaid/docs/ssg.md): Rendering mermaid fences in an @sigx/ssg site — remarkMermaid, the client enhancer and the theme contribution - [API reference](/mermaid/docs/api.md): Every export of @sigx/mermaid, grouped by entry point ## daisyUI Components - [Getting Started](/daisyui/docs/getting-started.md): Get started with @sigx/daisyui - beautiful UI components for SignalX - [Components](/daisyui/docs/components.md): Browse all available @sigx/daisyui components - [Theming](/daisyui/docs/theming.md): Customize themes and colors with @sigx/daisyui - [Text](/daisyui/docs/components/text.md): Typography components for consistent text styling - [Button](/daisyui/docs/components/button.md): Interactive button component with multiple variants, sizes, and states - [Dropdown](/daisyui/docs/components/dropdown.md): Dropdown component for action menus and context menus - [Accordion](/daisyui/docs/components/accordion.md): Collapsible content panels for organizing and hiding content - [Avatar](/daisyui/docs/components/avatar.md): User profile images with various sizes and shapes - [Stats](/daisyui/docs/components/stat.md): Display statistics with title, value, description, figure, and actions - [Card](/daisyui/docs/components/card.md): Flexible container component for grouping related content - [Carousel](/daisyui/docs/components/carousel.md): Carousel component for sliding content - [Chat](/daisyui/docs/components/chat.md): Chat bubble components for messaging interfaces - [Table](/daisyui/docs/components/table.md): Data table components for displaying structured data with zebra striping, pinned rows/columns, and size variants - [Menu](/daisyui/docs/components/menu.md): Vertical menu component for navigation - [Tabs](/daisyui/docs/components/tabs.md): Tabbed navigation for organizing content - [Steps](/daisyui/docs/components/steps.md): Steps component for showing progress through a multi-step process - [Alert](/daisyui/docs/components/alert.md): Alerts inform users about important events - [Badge](/daisyui/docs/components/badge.md): Badges are used to inform the user of the status of specific data - [Loading](/daisyui/docs/components/loading.md): Loading indicators for async operations - [Countdown](/daisyui/docs/components/countdown.md): Countdown gives you a transition effect of changing numbers - [Diff](/daisyui/docs/components/diff.md): Diff component shows a comparison between two items with a draggable resizer - [Indicator](/daisyui/docs/components/indicator.md): Indicator is used to place an element on the corner of another element - [Kbd](/daisyui/docs/components/kbd.md): Kbd is used to display keyboard keys and shortcuts - [Skeleton](/daisyui/docs/components/skeleton.md): Animated loading placeholder for content that is being fetched - [Progress](/daisyui/docs/components/progress.md): Progress bar shows the progress of a task - [Radial Progress](/daisyui/docs/components/radial-progress.md): Radial progress shows a circular progress indicator with customizable size and color - [Status](/daisyui/docs/components/status.md): A small indicator to visually show the current status of an element - [Swap](/daisyui/docs/components/swap.md): Swap component toggles between two states with rotate or flip animation - [Tooltip](/daisyui/docs/components/tooltip.md): Tooltip displays informational text when hovering over or focusing on an element - [Timeline](/daisyui/docs/components/timeline.md): Timeline component for displaying chronological events with connectors and icons - [Modal](/daisyui/docs/components/modal.md): Modal dialog for focused content or user confirmation - [Toast](/daisyui/docs/components/toast.md): Toast positions notifications at the corner of the page - [Rating](/daisyui/docs/components/rating.md): Star rating component with model binding for user ratings - [Input](/daisyui/docs/components/input.md): Text input fields for forms with model binding, validation states, and sizes - [Select](/daisyui/docs/components/select.md): Dropdown select component for choosing from a list of options - [Textarea](/daisyui/docs/components/textarea.md): Multi-line text input for longer text content - [Checkbox](/daisyui/docs/components/checkbox.md): Checkboxes are used to select or deselect a value - [File Input](/daisyui/docs/components/file-input.md): File Input is a styled file upload control - [Toggle](/daisyui/docs/components/toggle.md): Toggle switch for on/off boolean states - [Radio](/daisyui/docs/components/radio.md): Radio button group for single selection from multiple options - [Range](/daisyui/docs/components/range.md): Range slider for selecting numeric values within a range - [Fieldset](/daisyui/docs/components/fieldset.md): Container for grouping related form elements with a legend and labels - [FormField](/daisyui/docs/components/form-field.md): Form field wrapper with label, hint text, and validation error support using daisyUI fieldset/legend/label/validator-hint classes - [Join](/daisyui/docs/components/join.md): Container for grouping multiple items with connected styles - [Flex / Row / Col](/daisyui/docs/components/flex.md): Flexible layout components using Tailwind CSS flex utilities - [Stack](/daisyui/docs/components/stack.md): Stack visually puts elements on top of each other, creating a layered card effect - [Drawer](/daisyui/docs/components/drawer.md): Side panel component for navigation and mobile menus - [Hero](/daisyui/docs/components/hero.md): Hero section component for landing pages and headers - [API Reference](/daisyui/api.md): API reference for @sigx/daisyui ## Static Site Generation - [Getting Started](/ssg/docs/getting-started.md): @sigx/ssg — static site generation with MDX and island hydration - [Installation](/ssg/docs/installation.md): Install @sigx/ssg, its peer dependencies, and the required config / Vite wiring - [Configuration & Content](/ssg/docs/configuration.md): File-based routing, layouts, collections, navigation, MDX, hydration, and sitemap with @sigx/ssg - [Commands](/ssg/docs/commands.md): Every sigx ssg command with its usage, flags, and behavior - [Client Runtime](/ssg/docs/client-runtime.md): The @sigx/ssg/client helpers: the package-manager switcher, built-in search, copy-code buttons, prefetch, and SPA navigation - [Themes](/ssg/docs/themes.md): Author and consume @sigx/ssg themes, and the prebuilt @sigx/ssg-theme-daisyui - [API Reference](/ssg/docs/api.md): @sigx/ssg — static site generation with MDX and island hydration — API reference ## Server (SSR, server functions, resume & serialize) - [Server Renderer](/server/packages/server-renderer/overview.md): Streaming SSR & hydration - [Islands](/server/packages/ssr-islands/overview.md): Selective hydration via client:* - [Server Functions](/server/packages/server/overview.md): Type-safe server functions - [Resume](/server/packages/resume/overview.md): Resumable SSR & boundary refresh - [Serialize](/server/packages/serialize/overview.md): Custom-type serialization codec ## Vite Plugin - [Getting Started](/vite/docs/getting-started.md): @sigx/vite — Vite plugin with HMR for SignalX components - [Installation](/vite/docs/installation.md): Install @sigx/vite — peer dependencies, versions, and required Vite/TypeScript wiring - [HMR for Components](/vite/docs/hmr.md): How @sigx/vite hot-reloads SignalX components while preserving per-instance signal state - [Library Builds](/vite/docs/library-builds.md): Build @sigx/* libraries with defineLibConfig from @sigx/vite/lib - [SSR mode](/vite/docs/ssr.md): Build a server-rendered SignalX app with @sigx/vite — one vite build for both client and server, the islands transform, and the dev request handler - [Deploy adapters](/vite/docs/deploy-adapters.md): The SigxAdapter build seam — ssr.adapter, platform entries, and the virtual:sigx-app build artifact - [Commands](/vite/docs/commands.md): The sigx-types CLI — generate component type definitions for tag-named components - [API Reference](/vite/docs/api.md): @sigx/vite — Vite plugin with HMR for SignalX components — API reference ## Deploying (Node, Cloudflare, Deno, Bun, Vercel, Netlify) - [Deploying SignalX](/deploy/docs/overview.md): Deploy your SSR app to Node, Cloudflare Workers, Deno, Bun, Vercel or Netlify — one fetch handler, an adapter per platform - [Node](/deploy/docs/node.md): The default deployment — nodeAdapter(), the externalized build, server.mjs and one sigx-app.js import - [Deno & Deno Deploy](/deploy/docs/deno.md): Deploying to Deno — the inline SigxAdapter (no package), the bundled build, and the serveDir static tier - [Bun](/deploy/docs/bun.md): Deploying to Bun — the shared external build, Bun.serve({ fetch }) and Bun.file statics ## Deploy Adapters - [Cloudflare](/deploy/packages/cloudflare/overview.md): Bundled workerd worker + wrangler scaffold - [Vercel](/deploy/packages/vercel/overview.md): Build Output API v3 generation - [Netlify](/deploy/packages/netlify/overview.md): Frameworks API function generation ## Actors (virtual actors, jobs & clustering) - [Actors](/actors/docs/overview.md): Virtual actors for SignalX — addressable, single-threaded, persistent server objects that ride the serverFn wire - [Actors or server functions?](/actors/docs/actors-or-server-functions.md): When to reach for @sigx/actors and when a plain serverFn is the better answer — and why actors are built on top of server functions, not instead of them - [Installation](/actors/docs/installation.md): Install @sigx/actors, add the Vite plugin, and write the app module that dev and production both load - [Your first actor](/actors/docs/your-first-actor.md): Build a persistent, live-updating counter end to end — the actor, the app module, the browser call and the dev server - [The app](/actors/docs/the-app.md): defineActorApp — one typed config that every runtime starts, the plugin registry, and how plugins add typed members to ctx - [The actor model](/actors/docs/actor-model.md): Activation, turns, identity and deactivation — what the runtime guarantees about an actor and what it costs - [Turns & concurrency](/actors/docs/turns.md): What a turn is, the two lanes an activation runs them in, and why an await blocks the serial one — the single idea the rest of the actor model rests on - [State & persistence](/actors/docs/state-and-persistence.md): ctx.save(), write-behind, rich types across storage, and migrateState for records whose shape predates this deploy - [Reentrancy & interleaving](/actors/docs/reentrancy.md): reentrant: 'call-chain' and 'always', per-method methodReentrancy, and what interleaving changes about saves and lifecycle - [Lifecycle](/actors/docs/lifecycle.md): onActivate, onDeactivate and why it ran — idleAfterMs, maxActivations, deactivation reasons and seeing which actors are live - [Authorization](/actors/docs/guards.md): authorize, methodAuthorize and allowAnonymous — per-instance policies over ctx.principal, run outside the turn sequence on every transport - [Errors](/actors/docs/errors.md): The actor error kinds — deadlock, activation, state conflict, wrong host, unreachable, timeout — and what each one means you should do - [Wire protocol](/actors/docs/wire-protocol.md): The actor endpoint is the serverFn protocol verbatim — the request shape, the callable surface, reserved symbols and the GET form - [The client](/actors/docs/client.md): configureActors, transports and routers — calling actors from a browser, a native app or another service - [Reads & writes in components](/actors/docs/in-components.md): useActorState and useActorAction — reading an actor method as component data, writes that refresh what they staled, and free SSR seeding - [Live reads](/actors/docs/live-reads.md): useActorState({ live: true }) — the actor re-runs your read after every mutating turn and pushes the result, over one connection per page - [Cacheable reads](/actors/docs/cacheable-reads.md): The reads: declaration, GET on the actor endpoint, and the ordering guarantee you give up in exchange for cache hits - [One-way calls](/actors/docs/one-way-calls.md): with({ oneWay: true }) — resolve when the target accepts the call instead of when the turn completes, and where the failure line falls - [Socket sessions](/actors/docs/socket-sessions.md): createActorSocketSession — one session per connection, the upgrade-time posture it pins, the caps HTTP used to give implicitly, and session lifetime - [Streams](/actors/docs/streams.md): The streams: factory — server-to-client async generators over NDJSON, why bodies are observers rather than turns, and when to prefer a live read - [Timers & reminders](/actors/docs/timers-and-reminders.md): ctx.timer for volatile ticks and ctx.reminders for durable wake-ups that re-activate an idle or restarted actor - [Topics](/actors/docs/topics.md): Actor-to-actor pub/sub — declarative subscriptions, best-effort at-most-once delivery, and a settlement report the publisher can act on - [Tasks](/actors/docs/tasks.md): The tasks: factory — long-running work that runs outside the turn sequence, ctx.turn() for safe state writes, and built-in crash resume - [Jobs](/actors/docs/jobs.md): defineJob — one durable long-running operation per actor, with the state machine, progress, checkpoints and client surface already decided - [Stateless workers](/actors/docs/stateless-workers.md): defineWorker — interchangeable activations for pure compute, always local, with the identity-bound surface structurally removed - [The Vite plugin](/actors/docs/vite-plugin.md): sigxActors() — the build swap that keeps implementations out of the browser, the dev host, and what HMR does to actor state - [Running a host on Node](/actors/docs/node.md): createAppHandler, the production entry, and the graceful-shutdown recipe that retires keep-alive sockets properly - [Storage](/actors/docs/storage.md): The ActorStorage seam — load, save and clear with etags — the shipped providers, and what to run in production - [Shipping actors in a package](/actors/docs/shipping-actors-in-packages.md): The dual-package client swap an npm package must do itself, and the four things that become the author's responsibility - [Clustering](/actors/docs/clustering.md): The cluster() plugin — membership, the actor directory, and the shutdown sequence that keeps a rolling restart from resetting connections - [Placement policies](/actors/docs/placement-policies.md): Where a new activation goes — the measured comparison, why the default is random, and when preferLocal or activationCount wins - [Host transports](/actors/docs/transports.md): Which host-to-host transport to use — the measured table, why HTTP stays the default, and the two caveats to carry - [Locality routing](/actors/docs/locality-routing.md): The routing token, load-balancer recipes, and onMiss redirect with client follow — getting the edge to send a call to the host that owns the actor - [Rebalancing](/actors/docs/rebalancing.md): cluster({ rebalance }) — shedding your own idlest actors down toward the mean, and why it cannot oscillate - [Metrics](/actors/docs/metrics.md): The metrics() plugin, the queueMs vs turnMs split that tells you which problem you have, the runtime toggle and what it costs - [Health & readiness](/actors/docs/health-and-readiness.md): health() — why liveness and readiness are allowed to disagree, the fenced state, and the fatal flag that forces a restart - [The ops endpoint](/actors/docs/ops-endpoint.md): ops() — the authenticated view inside a running host, the reportOps seam, and why the secret is mandatory - [Cluster stats](/actors/docs/cluster-stats.md): clusterStats() — a partial-tolerant fan-out across the view, why latency merges rather than averages, and the counters worth watching - [Observability](/actors/docs/observability.md): Prometheus exposition and OpenTelemetry traces via @sigx/actors-otel — the cardinality rule and the reset caveat - [Kubernetes](/actors/docs/kubernetes.md): Deploying an actor cluster on Kubernetes — probes, the preStop and shutdown ordering, and Lease-based membership - [Cloudflare Workers](/actors/docs/cloudflare-workers.md): Running actors on Durable Objects — the one-bundle setup, the app factory, and three gotchas each worth its own callout - [Entry points](/actors/docs/entry-points.md): The twelve subpath exports of @sigx/actors, what each contains and which runtimes each is safe on - [Design notes & limits](/actors/docs/design-notes.md): What v1 deliberately does not do, the reserved names, and where the extension seams are ## Actor Backends & Transports - [Redis](/actors/packages/actors-redis/overview.md): Membership, directory & storage on Redis - [Postgres](/actors/packages/actors-pg/overview.md): Membership, directory, storage & reminders on Postgres - [SurrealDB](/actors/packages/actors-surreal/overview.md): Membership, directory, storage & reminders on SurrealDB 3 - [Kubernetes](/actors/packages/actors-k8s/overview.md): Host liveness on coordination.k8s.io Leases - [TCP](/actors/packages/actors-tcp/overview.md): Framed, multiplexed host-to-host TCP - [WebSocket](/actors/packages/actors-ws/overview.md): Browser to host, over one socket - [Cloudflare](/actors/packages/actors-cloudflare/overview.md): One Durable Object per actor - [CLI](/actors/packages/actors-cli/overview.md): sigx actors — a terminal dashboard - [OpenTelemetry](/actors/packages/actors-otel/overview.md): Prometheus exposition & OTel traces ## CLI - [Getting Started](/cli/docs/getting-started.md): @sigx/cli — project scaffolding, plugin discovery and platform commands - [Installation](/cli/docs/installation.md): Install @sigx/cli, understand its peer/plugin packages, and wire up the commands - [Commands](/cli/docs/commands.md): Every sigx CLI command with its usage, flags, and behavior - [Authoring Plugins](/cli/docs/plugins.md): Extend the sigx CLI with your own commands using the plugin API - [The Shell Runtime](/cli/docs/shell.md): Host a persistent TUI dashboard from a plugin command with runShell - [API Reference](/cli/docs/api.md): @sigx/cli — project scaffolding, plugin discovery and platform commands — API reference ## Terminal UIs - [Getting Started](/terminal/docs/getting-started.md): @sigx/terminal — build TUIs with TSX - [Architecture](/terminal/docs/architecture.md): How @sigx/terminal is split into a renderer, a headless foundation, a themed UI library and an args parser - [Installation](/terminal/docs/installation.md): Install @sigx/terminal and wire up the TSX runtime - [Components](/terminal/docs/components.md): Every @sigx/terminal-ui component, grouped by category - [Input](/terminal/docs/components/input.md): Single-line text field with two-way model binding - [TextArea](/terminal/docs/components/textarea.md): Growing multi-line text editor on the headless text buffer - [Checkbox](/terminal/docs/components/checkbox.md): Focusable boolean toggle with two-way model binding - [Confirm](/terminal/docs/components/confirm.md): Inline yes/no toggle with custom active and inactive labels - [Select](/terminal/docs/components/select.md): Single-choice menu with keyboard navigation and optional descriptions - [Radio](/terminal/docs/components/radio.md): Single-choice group with every option always visible - [MultiSelect](/terminal/docs/components/multiselect.md): Checkbox list with a movable cursor and optional group headers - [Table](/terminal/docs/components/table.md): Columns and rows of text data - [QRCode](/terminal/docs/components/qrcode.md): A scannable QR code rendered as terminal cells - [DataTable](/terminal/docs/components/datatable.md): A table with a cursor, a viewport and a sort — the shape a dashboard needs - [Sparkline](/terminal/docs/components/sparkline.md): A time series in one line — the 'is this going up?' glyph - [Meter](/terminal/docs/components/meter.md): A bare gauge for a single ratio, sized to sit in a table cell - [Trend](/terminal/docs/components/trend.md): A value with its direction of travel — and whether that direction is good news - [BarChart](/terminal/docs/components/barchart.md): Labelled horizontal bars, all measured against one shared scale - [DetailList](/terminal/docs/components/detaillist.md): Aligned label/value pairs — the detail pane beside a table - [StatusGrid](/terminal/docs/components/statusgrid.md): A dense grid of status cells — many things at a glance - [Gradient](/terminal/docs/components/gradient.md): Multi-stop colored text, optionally animated - [Shimmer](/terminal/docs/components/shimmer.md): An animated highlight sweep across text - [Banner](/terminal/docs/components/banner.md): Large block-font headings with gradient fills - [PixelArt](/terminal/docs/components/pixelart.md): Palette-mapped pixel grids drawn with terminal cells - [TaskList](/terminal/docs/components/tasklist.md): A build-pipeline status list with per-task status glyphs - [LogView](/terminal/docs/components/logview.md): A scrollable log viewport backed by a LogStore - [LogPanel](/terminal/docs/components/logpanel.md): A bounded log tail with bar, plain or panel chrome - [Tabs](/terminal/docs/components/tabs.md): Horizontal tab switcher with two-way model binding - [StatusBar](/terminal/docs/components/statusbar.md): A footer of keyed status chips - [KeyHints](/terminal/docs/components/keyhints.md): A single-line key-shortcut footer - [SuggestionList](/terminal/docs/components/suggestionlist.md): An intellisense-style completion popup that overlays an input - [ProgressBar](/terminal/docs/components/progressbar.md): Determinate progress indicator with solid, gradient and rainbow variants - [Spinner](/terminal/docs/components/spinner.md): Animated activity indicator that resolves to a check or cross - [Badge](/terminal/docs/components/badge.md): A small labelled tag in solid, accent or bracket styles - [Shell](/terminal/docs/components/shell.md): A dashboard frame that owns the chrome and tells the body what is left - [Card](/terminal/docs/components/card.md): A titled panel container - [Layout & Styling](/terminal/docs/layout-and-styling.md): Boxes, borders, colors and the terminal line layout model - [Render modes](/terminal/docs/render-modes.md): Inline vs fullscreen rendering, the non-TTY fallback, resize handling and clean exits - [Input & Interactive Components](/terminal/docs/input-and-components.md): Focus, keyboard input and the built-in terminal widgets - [Typography](/terminal/docs/typography.md): Token-aware Text and Heading spans, and the SGR text attributes the renderer supports - [Theming](/terminal/docs/theming.md): The token contract, the built-in themes, resolveColor and the screen canvas - [Prompts](/terminal/docs/prompts.md): Imperative CLI prompts — text, password, select, multiselect, confirm, spinner, and intro/outro/note/cancel - [API Reference](/terminal/docs/api.md): @sigx/terminal — build TUIs with TSX — API reference ## Terminal Packages - [Runtime Terminal](/terminal/packages/runtime-terminal/overview.md): The cell renderer - [Terminal Zero](/terminal/packages/terminal-zero/overview.md): Tokens, theme engine, layout & prompts engine - [Terminal UI](/terminal/packages/terminal-ui/overview.md): Themed components — the SigX-tui skin - [Terminal Dev](/terminal/packages/terminal-dev/overview.md): HMR dev runner - [Args](/terminal/packages/args/overview.md): Fluent, type-aware argument parser ## DevTools - [Getting Started](/devtools/docs/getting-started.md): @sigx/devtools — inspect signals and the reactive graph at runtime - [Installation](/devtools/docs/installation.md): Install @sigx/devtools and wire the plugin into your app - [Connecting an inspector](/devtools/docs/connecting-an-inspector.md): Choose a transport and connect a browser extension or external inspector to @sigx/devtools - [Tuning what gets traced](/devtools/docs/tuning-what-gets-traced.md): Control reactivity volume, observe stores and the router, and understand how @sigx/devtools serializes values - [API Reference](/devtools/docs/api.md): @sigx/devtools — inspect signals and the reactive graph at runtime — API reference ## Monaco Editor - [Getting Started](/monaco/docs/getting-started.md): @sigx/monaco-editor — pluggable Monaco editor wrapper with prebundled assets and a Vite plugin - [Installation](/monaco/docs/installation.md): Install @sigx/monaco-editor, peer deps, and the required Vite wiring - [Language packs and IntelliSense](/monaco/docs/language-packs.md): Register TS/JSX, HTML, CSS, and JSON language packs, themes, and extra type defs with configureMonaco - [Imperative editors and Shiki highlighting](/monaco/docs/imperative-and-shiki.md): Create editors imperatively with createEditor and add TextMate-grade highlighting with the Shiki subpath - [API Reference](/monaco/docs/api.md): @sigx/monaco-editor — pluggable Monaco editor wrapper with prebundled assets and a Vite plugin — API reference ## Lynx (native iOS & Android) - [Overview](/lynx/docs/overview.md): SignalX Lynx — write one component tree, render real native views on iOS and Android - [Installation](/lynx/docs/installation.md): Install SignalX Lynx and set up the native toolchain - [Your first app](/lynx/docs/your-first-app.md): Scaffold, run and make your first SignalX Lynx app reactive - [Project layout](/lynx/docs/project-layout.md): How a SignalX Lynx project is organized - [Native elements](/lynx/docs/elements.md): The built-in Lynx elements — View, Text, Image, ScrollView and friends - [Styling & layout](/lynx/docs/styling.md): Flexbox layout and the styling model on Lynx - [Reactivity bridge](/lynx/docs/reactivity.md): How signals cross the background → main-thread boundary - [Platform-specific code](/lynx/docs/platform-specific-code.md): Branch between iOS, Android and web — at runtime, at build time, or per file - [Directives](/lynx/docs/directives.md): Element-level use:* directives — lifecycle hooks on a native view, plus the built-in show ## Lynx Modules - [Build Plugin](/lynx/modules/plugin/overview.md): Rspack / Rspeedy plugin - [CLI Plugin](/lynx/modules/cli/overview.md): @sigx/cli plugin - [Runtime](/lynx/modules/runtime/overview.md): Background-thread renderer - [Main Runtime](/lynx/modules/runtime-main/overview.md): Main-thread (Lepus) runtime - [Native Bridge](/lynx/modules/core/overview.md): Low-level NativeModules bridge - [Biometric](/lynx/modules/biometric/overview.md): Face ID / Touch ID auth - [Camera](/lynx/modules/camera/overview.md): Camera capture - [Clipboard](/lynx/modules/clipboard/overview.md): System clipboard - [File System](/lynx/modules/file-system/overview.md): Sandboxed file access - [Haptics](/lynx/modules/haptics/overview.md): Haptic feedback - [Image Picker](/lynx/modules/image-picker/overview.md): Pick / capture images - [Linking](/lynx/modules/linking/overview.md): Deep links & URL schemes - [Location](/lynx/modules/location/overview.md): GPS coordinates - [Network](/lynx/modules/network/overview.md): Connectivity status - [Notifications](/lynx/modules/notifications/overview.md): Local notifications - [Permissions](/lynx/modules/permissions/overview.md): Permission helper - [Safe Area](/lynx/modules/safe-area/overview.md): Safe-area insets - [Secure Storage](/lynx/modules/secure-storage/overview.md): Encrypted KV storage - [Share](/lynx/modules/share/overview.md): Native share sheet - [Storage](/lynx/modules/storage/overview.md): Persistent KV store - [WebSocket](/lynx/modules/websocket/overview.md): WebSocket global - [Gestures](/lynx/modules/gestures/overview.md): Frame-locked touch handling - [Motion](/lynx/modules/motion/overview.md): Animation drivers - [DaisyUI](/lynx/modules/daisyui/overview.md): Component library - [Icons](/lynx/modules/icons/overview.md): Icon component + registry - [FA Icons](/lynx/modules/icons-fa/overview.md): Font Awesome adapter - [Lucide Icons](/lynx/modules/icons-lucide/overview.md): Lucide adapter - [Navigation](/lynx/modules/navigation/overview.md): Type-first native navigator - [List](/lynx/modules/list/overview.md): Data-driven virtualized list - [Bottom Sheet](/lynx/modules/sheet/overview.md): Route-free bottom sheet - [Dev Client](/lynx/modules/dev-client/overview.md): On-device dev menu - [Testing](/lynx/modules/testing/overview.md): Component testing - [Appearance](/lynx/modules/appearance/overview.md): System color scheme & bars - [Audio](/lynx/modules/audio/overview.md): Recording & playback - [Background Tasks](/lynx/modules/background/overview.md): Periodic sync & fetch - [File Picker](/lynx/modules/file-picker/overview.md): Document picker - [HTTP](/lynx/modules/http/overview.md): WHATWG fetch transport - [Keyboard](/lynx/modules/keyboard/overview.md): Soft-keyboard handling - [Date/Time Picker](/lynx/modules/datetime-picker/overview.md): Native date & time picker - [Emoji Picker](/lynx/modules/emoji/overview.md): Themable emoji picker - [Maps](/lynx/modules/maps/overview.md): Native map view - [Markdown](/lynx/modules/markdown/overview.md): Streaming markdown renderer - [Rich Text](/lynx/modules/richtext/overview.md): Native rich-text input - [Video](/lynx/modules/video/overview.md): Native video player - [WebView](/lynx/modules/webview/overview.md): Native web view - [HeroUI](/lynx/modules/heroui/overview.md): HeroUI design system - [Zero](/lynx/modules/zero/overview.md): Headless design-system foundation - [SQLite](/lynx/modules/sqlite/overview.md): Embedded SQLite database - [WebRTC](/lynx/modules/webrtc/overview.md): W3C-shaped WebRTC - [OTA Updates](/lynx/modules/updates/overview.md): OTA bundle updates - [OTA Update UI](/lynx/modules/updates-ui/overview.md): Prebuilt OTA update UI - [OTA Publisher](/lynx/modules/updates-publisher/overview.md): CI bundle publisher - [Web Auth](/lynx/modules/webauth/overview.md): System web-auth session for OAuth ## Docs sets - [SignalX Core](/core/llms.txt): The sigx reactive component framework — signals, computed, effects, components. - [SignalX Lynx](/lynx/llms.txt): Native iOS & Android from one SignalX component tree, plus its native modules.