# create-slot A React plugin registry: features declare UI contributions, and the application renders them at named points without importing the features. - [Overview](/index): A React plugin registry. Features declare UI contributions; the application decides where they render. - [Get started](/get-started): Install create-slot and contribute UI to a host from anywhere in the tree. - [Slots, hosts & fills](/slots): The four parts of a slot — a name, a host, a contribution and the host's props — and how they fit together. - [Two channels](/channels): A contribution is either data plus a component in the registry, or an element in the createSlot façade. The two never merge, and that difference decides everything else. - [Use with AI agents](/ai-agents): Install the create-slot skill and point a coding agent at the current documentation instead of its training data. - [Plugin registry](/registry): The declarative channel — defineSlot, definePlugin, resolvePlugins and SlotProvider — and the Resolution a server can hand across an RSC boundary. - [Ordering](/ordering): order is a priority, not an array index. Ties break by plugin position, overrides can re-rank, and a façade fill reads its order once. - [Server rendering](/server-rendering): The one SSR requirement, the two React Server Components tiers, and how streaming works per contribution. - [Failure isolation](/failure-isolation): One broken contribution costs its own line, not the page — on the client and on the server. - [Plugin state](/state): The manifest is open data. Extend it with your own fields, and assemble state from the catalog before render. - [Performance](/performance): What a re-render costs, what the host compares, and why an inline resolvePlugins re-renders shells and nothing else. - [Recipes](/recipes): Visibility, turning features off, code splitting, per-row hosts, empty states, exclusive claims, an inventory and tests — the patterns the library deliberately leaves to you. - [API](/api): Every export of create-slot and create-slot/core, with the types twoslash infers from the real package. - [Errors](/errors): Every message create-slot throws, every diagnostic the resolver reports, and the type errors that catch the same mistakes before they run. - [Examples](/examples): One CRM, three shells — the same features rendered by a SPA, a Next.js pages router and the app router. - [FAQs](/faqs): React versions, multiple hosts, SSR, RSC, ordering ties, portals, testing, and the questions that come up once it is in a real application. - [Migrating to 4.0](/migrating): The registry became a resolver — what to rename, what the required contribution id buys, and why the createSlot façade needs no changes.