@elench/shell
v0.1.70
Published
Reusable desktop shell packaged behind a public domain API.
Readme
@elench/shell
Reusable React shell for Elench desktop-style workspaces.
The package owns the shell frame, FlexLayout substrate, activity rail, sidebar,
workspace tabs, inspector, search bar, status bar, keyboard shortcuts, state
persistence, and shell styling. Product code consumes only the public
API exported from @elench/shell.
Public API
import {
ShellWorkbench,
defineWorkbenchApp,
defineWorkbenchTab,
} from "@elench/shell";
import "@elench/shell/styles.css";Product code defines sections, tabs, resources, commands, and declarative view nodes. The shell adapts those definitions into its internal layout substrate; consumers should not import FlexLayout, shell internals, package source paths, or UI primitives directly.
Codex App Server
The browser-safe API includes Codex app-server protocol types, a WebSocket client, React provider/hooks, generic Codex workbench view nodes, and reusable thread/request rendering primitives. The default transcript renderer is text-first: user messages are compact bubbles, Codex output is plain text, commands preserve ANSI output, and file edits render as CLI-style unified diffs with line numbers and syntax highlighting.
import {
CodexAppServerProvider,
CodexThreadSidebar,
CodexThreadWorkspace,
CodexThreadInspector,
} from "@elench/shell";Node-only process helpers are exported separately:
import { startCodexAppServerHost } from "@elench/shell/node";Use the Node export from an Electron main process or local server boundary, then pass the WebSocket endpoint to the renderer through application-owned host plumbing.
Commands
npm run typecheck
npm test
npm run build