Skip to content
STACK IT FAST

CopilotKit

Curated OSSAI-agentAI Copilot & Assistant SDK2-5 people

Audited from github.com/CopilotKit/CopilotKit

CopilotKit is an open-source SDK for building agent-native applications: shared frontend packages for React, Vue, Angular and React Native talk to a common AG-UI-protocol backend runtime, with adapters connecting the same agent to Slack, Microsoft Teams, Discord, Telegram and WhatsApp.

Language
TypeScript
Database
SQLite
License
MIT
Running for
1 year 6 months
Team
2-5 people

Why this architecture

A shared AG-UI protocol plus a PlatformAdapter-based channel architecture let one agent implementation power web, mobile and chat-platform surfaces from a single Nx/pnpm monorepo instead of building a separate integration per surface.

Tech stack by layer

9 technologies · audited Sep 17, 2026
Frontend & UI
  • ReactPrimary framework surface; @copilotkit/react-core and react-ui provide the copilot chat, generative UI and headless hooks.
  • VueVue package built via the same Nx pipeline (build:vue target) for the Vue surface.
  • Angular@copilotkit/angular wraps the same AG-UI client for Angular 22, built with ng-packagr.
  • React Native@copilotkit/react-native ships polyfills (streams, encoding, crypto, DOM) so the same headless core runs on mobile.
  • Tailwind CSSStyles the chat UI, web components and web inspector; each package runs its own build:css step against tailwindcss.
  • ZodSchema validation and JSON-schema generation (zod-to-json-schema) in the core client.
Backend & APIs
  • Model Context Protocolpackages/mcp-apps-renderer implements the app<->host protocol (ext-apps AppBridge) and sandbox proxy shared by the React, Vue and Angular frontends.
  • Pythonsdk-python ships a Poetry-packaged SDK (copilotkit) integrating with LangGraph, LangChain and CrewAI for Python-based agents.
  • Slackchannels-slack adapts the shared channel engine to Slack via Block Kit and Socket Mode.
  • Microsoft Teamschannels-teams adapts the channel engine to Teams using Adaptive Cards and Microsoft's M365 Agents SDK.
  • Discordchannels-discord implements the PlatformAdapter for Discord bots.
Data & Persistence
  • SQLitepackages/sqlite-runner provides a SQLite-backed state-store implementation used for conformance testing across channel adapters.(inferred)
Infrastructure & Deploy
  • NxOrchestrates builds, tests, type-checks and caching across the whole workspace (nx run-many targets in root package.json).
  • pnpmWorkspace package manager; pnpm-workspace.yaml enumerates every package/example glob, including exclusions for demos that need canary protocol versions.
  • GitHub ActionsRuns canary/stable release pipelines, quality gates and a showcase test/deploy suite (canary.yml, publish-release.yml, static_quality.yml).
Tooling, Testing & Ops
  • AG-UICopilotKit's agent-to-UI streaming protocol (@ag-ui/client); one pinned version across core, angular, agentcore-runner and demo-agents.
  • LangGraphintelligence-langgraph (TS) and intelligence-langgraph-python deliver "learned skills" to LangGraph agents.
  • Mastraintelligence-mastra delivers the same learned-skill mechanism to Mastra agents.
  • Google ADKcopilotkit-intelligence-adk (intelligence-adk-python) delivers learned skills to native Google ADK agents, depending on google-adk.
  • AWS Bedrock@copilotkit/agentcore-runner is an AWS Bedrock AgentCore-compatible agent runner.

CopilotKit architecture diagram

Open SVG
CopilotKit architecture diagramReact & Vue & Angular → Runtime (AG-UI); React Native → Runtime (AG-UI); Chat platforms → Runtime (platform adapters); Runtime → Agent adapters (run agent); Runtime → MCP Apps renderer (render); Runtime → State store (persist); Agent adapters → Agents & LLMs (calls)CLIENTSSERVICESWORKERS & JOBSDATA & STORAGEEXTERNALReact & Vue & Angularcopilot UIReact Nativeheadless clientChat platformsSlack · Teams · DiscordRuntimeAG-UI protocolAgent adaptersLangGraph · Mastra · ADKMCP Apps renderersandboxed appsState storeSQLite runnerAgents & LLMsBedrock · frameworksAG-UIAG-UIplatform adaptersrun agentrenderpersistcalls
How the main components of CopilotKit connect, drawn from the audited repository.
Diagram as text
  • React & Vue & Angular (copilot UI) → Runtime (AG-UI protocol): AG-UI
  • React Native (headless client) → Runtime (AG-UI protocol): AG-UI
  • Chat platforms (Slack · Teams · Discord) → Runtime (AG-UI protocol): platform adapters
  • Runtime (AG-UI protocol) → Agent adapters (LangGraph · Mastra · ADK): run agent
  • Runtime (AG-UI protocol) → MCP Apps renderer (sandboxed apps): render
  • Runtime (AG-UI protocol) → State store (SQLite runner): persist
  • Agent adapters (LangGraph · Mastra · ADK) → Agents & LLMs (Bedrock · frameworks): calls

Key architectural decisions

8 decisions
  1. 01

    One agent transport (AG-UI) instead of a bespoke protocol per surface

    packages/core, packages/angular, packages/agentcore-runner and packages/demo-agents all depend on the same @ag-ui/client version, so React, Vue, Angular, React Native and the AWS Bedrock runner exchange agent events in one wire format rather than each surface inventing its own.

  2. 02

    Five backend runtimes implement the same protocol in different languages

    The workspace contains packages/runtime (Node/TypeScript), runtime-python, runtime-go, runtime-ruby and runtime-dotnet; root package.json has a dedicated build:native-runtimes Nx target for them, so teams can self-host the Copilot Runtime in whichever backend language their app already uses.

  3. 03

    Chat platforms are swappable PlatformAdapters behind one engine, not separate frameworks

    packages/channels-core exposes createChannel, Thread, PlatformAdapter and ActionStore; packages/channels-slack, channels-teams, channels-discord, channels-telegram and channels-whatsapp each implement only the platform-specific piece (Slack Block Kit/Socket Mode, Teams Adaptive Cards/M365 Agents SDK, Telegram via grammy, WhatsApp Cloud API).

  4. 04

    Agent-framework integrations are per-framework "intelligence" adapters over a shared core

    packages/intelligence-langgraph, intelligence-mastra, intelligence-langgraph-python, intelligence-adk-python and intelligence-agent-framework-dotnet each build on packages/intelligence-delivery-core (or intelligence-delivery-python-core) rather than the runtime hard-coding support for every agent framework.

  5. 05

    MCP Apps get one framework-agnostic renderer instead of three UI implementations

    packages/mcp-apps-renderer's own description states it is "the app<->host protocol (ext-apps AppBridge), sandbox proxy, and shared renderer consumed by the React, Vue, and Angular frontends" — the MCP UI logic lives once, not per framework package.

  6. 06

    The showcase demo needing unreleased protocol versions sits outside the pnpm workspace

    pnpm-workspace.yaml documents that examples/showcases/reskinnable-demo ships its own lockfile and installs canary @ag-ui/*/@copilotkit/* builds from npm because the released @ag-ui/client 0.0.57 "rejects SUBAGENT_* events in the HTTP transport"; keeping it out of the workspace avoids forcing that canary onto every other package, at the documented cost that the demo is currently unbuilt and untype-checked in CI.

  7. 07

    Linting and formatting run on oxlint/oxfmt rather than ESLint/Prettier

    Root package.json defines "lint": "oxlint ." and "format": "oxfmt --write .", configured via .oxlintrc.json and .oxfmtrc.json, replacing the more common ESLint/Prettier pairing for a large TypeScript monorepo.

  8. 08

    Build and release versioning run on Nx + Changesets across pnpm workspaces

    nx.json defines cached build/test/check-types targets with dependsOn: ["^build"] graph ordering, pnpm-workspace.yaml lists packages/*, tools/*, and multiple examples/* globs, and a .changeset directory holds pending release notes consumed by the publish-release.yml workflow.

How CopilotKit is built

How CopilotKit is structured

The repository is an Nx-orchestrated pnpm monorepo (nx.json, pnpm-workspace.yaml) with three main groupings under packages/: frontend bindings (react-core, react-ui, angular, vue, react-native, web-components, web-inspector), backend runtimes (runtime, runtime-python, runtime-go, runtime-ruby, runtime-dotnet, sdk-js, sdk-python), and the newer agent-native surface (channels-core plus five per-platform channel adapters, mcp-apps-renderer, agentcore-runner, and five intelligence-* packages for framework-specific "learned skill" delivery). examples/ and showcase/ hold demo applications — showcase/ in particular is a large internal app (its own docker-compose.*.yml files, a pocketbase directory, and shell/shell-dashboard/shell-docs/shell-dojo sub-apps) used to validate integrations end-to-end. skills/ and .claude, .mcp.json, AGENTS.md, CLAUDE.md at the repo root show the project also maintains its own agent-facing developer tooling.

Frontend

React is the primary surface (packages/react-core, versioned 1.72.0), with @copilotkit/vue and @copilotkit/angular (built against Angular 22 via ng-packagr) as parallel framework bindings, and @copilotkit/react-native shipping its own polyfills (streams, encoding, crypto, dom) so the same headless core runs on mobile. Styling runs through Tailwind CSS, built per-package with a build:css script (react-core, angular, web-inspector), and @copilotkit/web-components and web-inspector use Lit for framework-agnostic shadow-DOM elements. packages/core (the framework-agnostic base) depends on zod/zod-to-json-schema for schema handling and rxjs for event streams.

Backend & APIs

The "Copilot Runtime" exists in five language implementations under packages/runtime* — TypeScript, Python, Go, Ruby and .NET — each presumably speaking the same AG-UI protocol so a team can self-host the runtime in their own backend stack; the root package.json has a dedicated build:native-runtimes Nx target covering the non-TypeScript ones. sdk-python is a separate Poetry package (copilotkit) that integrates directly with LangGraph, LangChain and CrewAI. packages/mcp-apps-renderer implements the MCP Apps host protocol (its description: "the app<->host protocol (ext-apps AppBridge), sandbox proxy, and shared renderer") consumed by all three web frontends. packages/agentcore-runner is described as "AWS Bedrock AgentCore-compatible."

Data & persistence

There is no primary application database in the core packages; packages/sqlite-runner (present in the tree) provides a SQLite-backed implementation used for state-store conformance testing (tools/runtime-conformance, tools/learned-skill-conformance), and the showcase/ demo app bundles pocketbase as a self-contained backend for its own demos. Persistence for a production deployment is otherwise left to whatever the host application already uses, matching the "layer, not a platform" positioning in the README.

Realtime / collaboration

Realtime behavior runs through the AG-UI protocol's event stream (@ag-ui/client), which the pnpm-workspace.yaml comments describe in detail: it standardizes agent events like SUBAGENT_* across every package. On the channel side, channels-slack uses Slack's Socket Mode for realtime bot events, and channels-core's Thread/PlatformAdapter abstractions let a single agent session stream updates into a web UI and a chat platform (Slack, Teams, Discord, Telegram, WhatsApp) concurrently.

Build, test & deploy

Nx caches and orders build, test, check-types and test:coverage targets across the workspace (nx.json), invoked through root package.json scripts like nx run-many -t build --projects=packages/**. Linting and formatting use oxlint and oxfmt (.oxlintrc.json, .oxfmtrc.json) instead of ESLint/Prettier. CI is an extensive GitHub Actions suite (.github/workflows): canary.yml and stable-release.yml for releases, static_quality.yml/static_compat.yml/static_bundle_size.yml for gates, test_unit.yml/test_e2e-dojo.yml/test_unit-python-sdk.yml for tests across languages, and a large showcase_* set (showcase_build.yml, showcase_deploy.yml, showcase_eval.yml) for the demo application. Version bumps flow through .changeset and publish-release.yml, publish-nuget.yml and publish-rubygems.yml for the non-npm runtimes.

Self-hosting notes

Because the Copilot Runtime ships as installable packages in five languages (packages/runtime, runtime-python, runtime-go, runtime-ruby, runtime-dotnet), teams self-host it inside their own backend rather than depending on a hosted CopilotKit service; the README frames the hosted "CopilotKit Intelligence" offering as an optional addition "when it goes to production," not a requirement to use the open-source packages.

What to copy (and what not to)

The channels-core PlatformAdapter pattern — one engine, thin per-platform adapters (channels-slack, channels-teams, channels-discord, channels-telegram, channels-whatsapp) — is a reusable template for any project that needs to expose the same logic to multiple chat platforms without duplicating session/thread handling. The documented decision to exclude examples/showcases/reskinnable-demo from the main pnpm workspace, rather than pin a canary protocol version repo-wide, is a good precedent for isolating a demo's bleeding-edge dependency from the packages that get published. Running five backend-runtime reimplementations of the same protocol is a heavyweight commitment that only makes sense for a project explicitly targeting "any backend language" as a selling point — most projects should not copy that part unless they have the same multi-language distribution goal.

Sources & repo audit

Audited
Sep 17, 2026
Commit
011538a
License
MIT

Independent analysis of repository at github.com/CopilotKit/CopilotKit. Spotted an inaccuracy? Use the claim form to request a correction.

Show this stack on your README or website
Tech stack of CopilotKit
[![Tech stack of CopilotKit on STACK IT FAST](https://stackitfast.com/badge/copilotkit.svg)](https://stackitfast.com/project/copilotkit)

Paste it into your README. It shows your current stack and links to this page.

Use this stack

Scaffold it with your agent

Paste this prompt into Claude Code, Cursor, Windsurf or AGY to start a project with CopilotKit's architecture.

  1. 1Copy the promptThe full markdown spec, with every layer and decision.
  2. 2Open your AI toolClaude Code, Cursor, Windsurf or Copilot, in a new repo.
  3. 3Paste and scaffoldUse it as the first instruction; review before you ship.
use-this-stack.md · 63 lines · 9.8 KB
# MISSION: Scaffold "CopilotKit" Production Architecture
You are an expert Senior Staff Software Architect and Full-Stack Engineer. Your mission is to scaffold and implement a production-grade, highly reliable, and modular codebase following the proven architecture of **CopilotKit**.
---
## 1. PROJECT SPECIFICATIONS & BENCHMARK
- **Reference Architecture**: CopilotKit
- **What It Does**: CopilotKit is an open-source SDK for building agent-native applications: shared frontend packages for React, Vue, Angular and React Native talk to a common AG-UI-protocol backend runtime, with adapters connecting the same agent to Slack, Microsoft Teams, Discord, Telegram and WhatsApp.
- **Domain & Category**: AI Copilot & Assistant SDK
- **Production Scale**: 2-5 people
- **Development Mode**: AI-AGENT
- **Architectural Rationale**: A shared AG-UI protocol plus a PlatformAdapter-based channel architecture let one agent implementation power web, mobile and chat-platform surfaces from a single Nx/pnpm monorepo instead of building a separate integration per surface.
- **Live Website Reference**: https://copilotkit.ai
- **Source Repository**: https://github.com/CopilotKit/CopilotKit
---
## 2. PRODUCTION TECH STACK
- **Full Stack Array**: TypeScript, React, Vue, Angular, React Native, Python, AG-UI, Model Context Protocol, LangGraph
- **Primary Language(s)**: TypeScript, Python, MDX
- **License of the reference repo**: MIT
- **Frontend**: React — Primary framework surface; @copilotkit/react-core and react-ui provide the copilot chat, generative UI and headless hooks.; Vue — Vue package built via the same Nx pipeline (build:vue target) for the Vue surface.; Angular — @copilotkit/angular wraps the same AG-UI client for Angular 22, built with ng-packagr.; React Native — @copilotkit/react-native ships polyfills (streams, encoding, crypto, DOM) so the same headless core runs on mobile.; Tailwind CSS — Styles the chat UI, web components and web inspector; each package runs its own build:css step against tailwindcss.; Zod — Schema validation and JSON-schema generation (zod-to-json-schema) in the core client.
- **Backend & APIs**: Model Context Protocol — packages/mcp-apps-renderer implements the app<->host protocol (ext-apps AppBridge) and sandbox proxy shared by the React, Vue and Angular frontends.; Python — sdk-python ships a Poetry-packaged SDK (copilotkit) integrating with LangGraph, LangChain and CrewAI for Python-based agents.; Slack — channels-slack adapts the shared channel engine to Slack via Block Kit and Socket Mode.; Microsoft Teams — channels-teams adapts the channel engine to Teams using Adaptive Cards and Microsoft's M365 Agents SDK.; Discord — channels-discord implements the PlatformAdapter for Discord bots.
- **Data & persistence**: SQLite — packages/sqlite-runner provides a SQLite-backed state-store implementation used for conformance testing across channel adapters.
- **Infrastructure & deploy**: Nx — Orchestrates builds, tests, type-checks and caching across the whole workspace (nx run-many targets in root package.json).; pnpm — Workspace package manager; pnpm-workspace.yaml enumerates every package/example glob, including exclusions for demos that need canary protocol versions.; GitHub Actions — Runs canary/stable release pipelines, quality gates and a showcase test/deploy suite (canary.yml, publish-release.yml, static_quality.yml).
- **Tooling, testing & ops**: AG-UI — CopilotKit's agent-to-UI streaming protocol (@ag-ui/client); one pinned version across core, angular, agentcore-runner and demo-agents.; LangGraph — intelligence-langgraph (TS) and intelligence-langgraph-python deliver "learned skills" to LangGraph agents.; Mastra — intelligence-mastra delivers the same learned-skill mechanism to Mastra agents.; Google ADK — copilotkit-intelligence-adk (intelligence-adk-python) delivers learned skills to native Google ADK agents, depending on google-adk.; AWS Bedrock — @copilotkit/agentcore-runner is an AWS Bedrock AgentCore-compatible agent runner.
---
## 3. KEY ARCHITECTURAL DECISIONS (audited from https://github.com/CopilotKit/CopilotKit @ 011538a)
1. **One agent transport (AG-UI) instead of a bespoke protocol per surface**: packages/core, packages/angular, packages/agentcore-runner and packages/demo-agents all depend on the same @ag-ui/client version, so React, Vue, Angular, React Native and the AWS Bedrock runner exchange agent events in one wire format rather than each surface inventing its own.
2. **Five backend runtimes implement the same protocol in different languages**: The workspace contains packages/runtime (Node/TypeScript), runtime-python, runtime-go, runtime-ruby and runtime-dotnet; root package.json has a dedicated build:native-runtimes Nx target for them, so teams can self-host the Copilot Runtime in whichever backend language their app already uses.
3. **Chat platforms are swappable PlatformAdapters behind one engine, not separate frameworks**: packages/channels-core exposes createChannel, Thread, PlatformAdapter and ActionStore; packages/channels-slack, channels-teams, channels-discord, channels-telegram and channels-whatsapp each implement only the platform-specific piece (Slack Block Kit/Socket Mode, Teams Adaptive Cards/M365 Agents SDK, Telegram via grammy, WhatsApp Cloud API).
4. **Agent-framework integrations are per-framework "intelligence" adapters over a shared core**: packages/intelligence-langgraph, intelligence-mastra, intelligence-langgraph-python, intelligence-adk-python and intelligence-agent-framework-dotnet each build on packages/intelligence-delivery-core (or intelligence-delivery-python-core) rather than the runtime hard-coding support for every agent framework.
5. **MCP Apps get one framework-agnostic renderer instead of three UI implementations**: packages/mcp-apps-renderer's own description states it is "the app<->host protocol (ext-apps AppBridge), sandbox proxy, and shared renderer consumed by the React, Vue, and Angular frontends" — the MCP UI logic lives once, not per framework package.
6. **The showcase demo needing unreleased protocol versions sits outside the pnpm workspace**: pnpm-workspace.yaml documents that examples/showcases/reskinnable-demo ships its own lockfile and installs canary @ag-ui/*/@copilotkit/* builds from npm because the released @ag-ui/client 0.0.57 "rejects SUBAGENT_* events in the HTTP transport"; keeping it out of the workspace avoids forcing that canary onto every other package, at the documented cost that the demo is currently unbuilt and untype-checked in CI.
7. **Linting and formatting run on oxlint/oxfmt rather than ESLint/Prettier**: Root package.json defines "lint": "oxlint ." and "format": "oxfmt --write .", configured via .oxlintrc.json and .oxfmtrc.json, replacing the more common ESLint/Prettier pairing for a large TypeScript monorepo.
8. **Build and release versioning run on Nx + Changesets across pnpm workspaces**: nx.json defines cached build/test/check-types targets with dependsOn: ["^build"] graph ordering, pnpm-workspace.yaml lists packages/*, tools/*, and multiple examples/* globs, and a .changeset directory holds pending release notes consumed by the publish-release.yml workflow.
---
## 4. NON-NEGOTIABLE ARCHITECTURAL GUARDRAILS
1. **Monorepo & Modular Separation**:
   - Structure as a Turborepo monorepo with strict package boundaries:
     - `apps/web`: Application UI, routing, layouts, and server endpoints.
     - `packages/ui`: Shared design tokens, CSS variables, and Radix UI primitive components.
     - `packages/db`: Database schemas, client singleton, declarative migrations, and seed scripts.
     - `packages/config`: Shared TypeScript, ESLint, and build configurations.
2. **Strict Type Safety & Zero `any` Policy**:
   - Enable `strict: true`, `noImplicitAny: true`, and `strictNullChecks: true`.
   - Validate ALL external inputs, API request bodies, and query parameters with **Zod** schemas before execution.
3. **Frontend & Rendering Guidelines**:
   - Utilize Expo Router v4 with file-based navigation. Apply NativeWind for cross-platform styling and wrap screens with SafeAreaProvider for native iOS and Android gesture and notch support.
4. **Design System & Aesthetics**:
   - Keep every color, radius, shadow and font in a single token file (CSS variables) and consume tokens everywhere; never hardcode hex values in components.
   - Prefer crisp 1px borders and one subtle shadow scale over blurry default shadows. Pair one sans-serif for body/headings with one monospace for tags, badges, metrics, and code.
5. **Data Layer & Reliability**:
   - Write declarative schema definitions with foreign keys, composite indexes on queried filters, and automated timestamp triggers.
   - Use connection pooling and prepared statements for serverless database execution.
---
## 5. STEP-BY-STEP SCAFFOLDING ROADMAP
- **Phase 1: Workspace & Root Config**: Initialize package manager, monorepo configuration (`turbo.json`, `tsconfig.base.json`, `package.json`).
- **Phase 2: Database Schema & Client**: Set up the data layer (SQLite): client, connection pool, models, and migration scripts.
- **Phase 3: Design Tokens & UI Primitives**: Build accessible `Button`, `Input`, `Card`, `Badge`, and layout wrappers inside `packages/ui`.
- **Phase 4: Core Application Routes & Handlers**: Implement primary authentication, user session handling, and application routes.
- **Phase 5: Quality Assurance & Build Verification**: Run `tsc --noEmit`, ESLint, Prettier, and smoke test suites to ensure zero compilation or runtime errors.
---
## 6. EXECUTION INSTRUCTIONS
1. Review all specifications, architectural guardrails, and stack choices above.
2. Present the full monorepo directory tree structure.
3. Systematically generate the complete, production-ready codebase according to the 5-phase roadmap above — starting with the root workspace setup, followed by the database schema, UI design system package, and full-stack application routes until the repository is fully scaffolded and ready to run.
Scaffolded something with this prompt?
Would you pick this stack for a ai copilot & assistant sdk project?

Frequently asked about CopilotKit

What is CopilotKit built with?

A TypeScript monorepo (Nx + pnpm workspaces) with framework packages for React, Vue, Angular and React Native sharing one AG-UI-protocol client, plus companion backend runtimes written in Python, Go, Ruby and .NET, and a separate Python SDK (sdk-python) for LangGraph/LangChain/CrewAI agents.

Does CopilotKit need a backend?

Yes. The Copilot Runtime (packages/runtime, with Python, Go, Ruby and .NET equivalents) is the server-side piece that talks to your agent and streams AG-UI protocol events to the frontend packages; the SDKs and framework adapters are built on top of it, not a replacement for it.

Can CopilotKit connect an agent to Slack, Microsoft Teams, Discord, Telegram or WhatsApp?

Yes. packages/channels-core defines a platform-agnostic channel engine (createChannel, PlatformAdapter, ActionStore), and dedicated adapter packages implement each platform: channels-slack (Block Kit/Socket Mode), channels-teams (Adaptive Cards/M365 Agents SDK), channels-discord, channels-telegram (via grammy) and channels-whatsapp (Cloud API).

Does CopilotKit support LangGraph, Mastra or other agent frameworks directly?

Yes, via dedicated "intelligence" adapter packages — intelligence-langgraph and intelligence-langgraph-python, intelligence-mastra, intelligence-adk-python (Google ADK) and intelligence-agent-framework-dotnet — each built on a shared intelligence-delivery-core package rather than framework support being hard-coded into the runtime.

How does CopilotKit render generative UI from MCP apps?

packages/mcp-apps-renderer implements a framework-agnostic app<->host protocol (its own description calls it "the ext-apps AppBridge") plus a sandbox proxy, and this single renderer is consumed by the React, Vue and Angular frontend packages instead of being reimplemented per framework.

One email a month: new deep dives and stack trends

New source-audited architectures, head-to-head comparisons and the monthly stack report. No spam, unsubscribe anytime.

use-this-stack.md