The @executor-js/react package is the shared UI foundation for all Executor host environments (Desktop, Local, Cloud, and Self-Host). It provides a registry-grade minimal design system, a library of domain-specific React components, and the core "Console" dashboard used to manage integrations, tools, and policies.
The frontend is built on React, Tailwind CSS 4, and TanStack Router. State management is handled primarily via Effect atoms, which provide a reactive bridge between the UI and the underlying Executor SDK.
The design follows a "registry-grade" aesthetic, prioritizing high-contrast typography (Geist and Geist Mono) and minimal use of color packages/react/src/styles/globals.css52-55 It supports native-feeling experiences across platforms, including specific CSS overrides for the macOS Desktop app to handle frameless window controls (traffic lights) packages/react/src/styles/globals.css170-173
The package provides two primary shell implementations:
apps/local and the Desktop app. It focuses on single-user, local-first management packages/app/src/web/shell.tsx155-160useAuth() hook and supports organization switching packages/react/src/multiplayer/shell.tsx32-38The following diagram illustrates how UI concepts map to specific code entities within the @executor-js/react package.
UI Component to Code Mapping
Sources: packages/react/src/multiplayer/shell.tsx50-55 packages/react/src/components/command-palette.tsx31-35 packages/react/src/components/wordmark.tsx11-14 packages/react/src/components/integration-favicon.tsx20-24
The Console is the central hub for managing the Executor instance. It includes:
integrationsOptimisticAtom packages/app/src/web/shell.tsx101-105/{$orgSlug}/policies) packages/react/src/multiplayer/shell.tsx74-75For details on navigation and page structure, see Console UI Pages and Routing.
The library includes specialized components for registering new tool sources. It uses a "detection-first" approach where users provide a URL, and the system analyzes it to suggest the correct plugin (e.g., detecting an OpenAPI spec vs. an MCP endpoint) packages/react/src/components/command-palette.tsx115-120
For details on the registration lifecycle, see Integration Registration UI.
A robust set of shared components tailored for developer tools:
⌘K interface for navigating integrations and adding new sources packages/react/src/components/command-palette.tsx37-43integrations.sh) packages/react/src/components/integration-favicon.tsx180-186For details on individual components, see Shared UI Components.
State is managed using Effect Atoms, allowing the UI to reactively update when the underlying database or SDK state changes.
Frontend Data Flow
Sources: packages/app/src/web/shell.tsx7-10 packages/react/src/components/command-palette.tsx65-70 packages/app/src/web/shell.tsx102-105
Add*Source components, the MCP probe state machine, and the OAuth template editor.Sources: