Build your app. HudsonKit supplies the workspace around it.
Navigation, side panels, command palettes, status bars, draggable windows, and an infinite canvas. Compose them into a single-app shell or a workspace where several apps share the same chrome. Your app owns its state and content; the shell handles the surrounding interface.
Explore HudsonKit · Try the workspace · Quickstart · API reference
ARC is a diagram editor built on HudsonKit’s AppShell. ARC supplies the diagram model, drawing tools, and inspector content; Hudson supplies the shell that holds them together. The screenshot shows the running editor with its built-in example diagram.
Studio is a design studio that lives in your repo. Studies are React components and docs are Markdown, kept beside the code they describe. Studio supplies the page registry, doc and code viewers, and agent feedback; Hudson supplies the shell with its sidebar, page strip, and status bar. The screenshot shows Studio’s own studio, which is also the hosted demo.
Try Studio → · Read the source →
bun add hudsonkitImport the prebuilt styles once in your app entry point:
import 'hudsonkit/styles';A plain React component can become a Hudson app:
'use client';
import { AppShell, createEmbedApp } from 'hudsonkit/app-shell';
const { app } = createEmbedApp({
id: 'hello',
title: 'My first app',
component: () => <div style={{ padding: 24 }}>Hello, Hudson.</div>,
});
export default function Page() {
return <AppShell app={app} />;
}For an app with its own state, panels, and commands, implement HudsonApp: a Provider owns state, slots supply content, and hooks connect commands, search, and status to the shell. Follow the quickstart or the building apps guide.
The web SDK targets React 19. Install a published package or a sealed tarball when consuming it outside this repository. See the consumer setup rules for Next.js and Tailwind configuration.
| Surface | Use it for |
|---|---|
AppShell |
One app with navigation, panels, commands, and status. |
WorkspaceShell |
Multiple apps in a shared canvas or panel workspace. |
| Canvas and windows | Pan, zoom, drag, resize, and persist window positions. |
| Optional AI backends | Provider-neutral AI integration through @hudsonkit/ai. |
| Apple-native SDKs | Swift packages for macOS shells, iOS shells, and Hudson Canvas. |
This repository includes the SDKs, the web workspace, developer tools, and Canvas, a native macOS app for terminals and workspace artifacts.
git clone https://github.com/arach/hudson.git
cd hudson
bun install
bun devOpen localhost:3500 for the web workspace. For the native Canvas app, see Hudson Canvas.
| Path | Contents |
|---|---|
packages/web/hudsonkit/ |
Web SDK, shell, and UI primitives |
packages/web/ai-backends/ |
Optional AI backends |
packages/web/admin/ |
Schema-driven admin surfaces |
packages/native/apple/HudsonKit/ |
Apple-native Swift package |
packages/tools/ |
Scaffolding and diagnostics tools |
apps/web/ |
Web workspace, example apps, and website |
apps/canvas/ |
Native macOS Canvas app |
docs/ |
Guides and reference material |
- Overview and architecture
- Building apps and API reference
- Drag, resize, and pan performance
- Agent reference
- Contributing
HudsonKit is still 0.x. Review the web SDK changelog when upgrading; APIs may change between releases.
The source in this repository is licensed under Apache 2.0. See NOTICE for third-party notices and separately licensed assets. Previously published package versions retain the license included with those releases.

