Skip to content

alpic-ai/skybridge

Repository files navigation

Skybridge

Skybridge

Build ChatGPT Apps. The Modern TypeScript Way.

The fullstack TypeScript framework for ChatGPT Apps.
Type-safe. React-powered. Zero config.


NPM Version NPM Downloads GitHub License


Documentation · Quick Start · Examples


✨ Why Skybridge?

ChatGPT Apps let you embed rich, interactive UIs directly in conversations. But the raw SDK is low-level—no hooks, no type safety, no dev tools, and no HMR.

Skybridge fixes that.

👨‍💻 Full Dev Environment — HMR, debug traces, and local devtools. No more refresh loops. End-to-End Type Safety — tRPC-style inference from server to widget. Autocomplete everywhere.
🔄 Widget-to-Model Sync — Keep the model aware of UI state with data-llm. Dual surfaces, one source of truth. ⚒️ React Query-style HooksisPending, isError, callbacks. State management you already know.

🚀 Get Started

Create a new ChatGPT app:

gh repo create my-app --template alpic-ai/apps-sdk-template --clone
cd my-app && pnpm install

Or add to an existing project:

npm i skybridge
yarn add skybridge
pnpm add skybridge
bun add skybridge
deno add skybridge

👉 Read the Docs 👈


📦 The Stack

  • skybridge/server — Drop-in MCP SDK replacement with widget registration and type inference.
  • skybridge/web — React hooks and components for ChatGPT's runtime.

Server

import { McpServer } from "skybridge/server";

server.registerWidget("flights", {}, {
  inputSchema: { destination: z.string() },
}, async ({ destination }) => {
  const flights = await searchFlights(destination);
  return { structuredContent: { flights } };
});

Widget

import { useToolInfo } from "skybridge/web";

function FlightsWidget() {
  const { output } = useToolInfo();

  return output.structuredContent.flights.map(f =>
    <FlightCard key={f.id} flight={f} />
  );
}

🎯 Features at a Glance

  • Live Reload — Vite HMR. See changes instantly without reinstalling.
  • Typed Hooks — Full autocomplete for tools, inputs, outputs.
  • Widget → Tool Calls — Trigger server actions from UI.
  • Dual Surface Sync — Keep model aware of what users see with data-llm.
  • React Query-style APIisPending, isError, callbacks.
  • MCP Compatible — Extends the official SDK. Works with any MCP client.

GitHub Discussions GitHub Issues Discord

See CONTRIBUTING.md for setup instructions


MIT License · Made with ❤️ by Alpic

About

Skybridge is a framework for building ChatGPT apps

Resources

License

Contributing

Stars

Watchers

Forks

Languages