Providers
Mount the providers in your root +layout.svelte and every rune state class below picks
them up via context. Two separate trees so you can mount either or both — they don't share state.
CStarLibraryProvider
src/routes/+layout.svelte
<script>
import { CStarLibraryProvider } from '@cstar.help/svelte';
let { children } = $props();
</script>
<CStarLibraryProvider teamSlug="acme">
{@render children()}
</CStarLibraryProvider>CStarChatProvider
src/routes/+layout.svelte
<script>
import { CStarChatProvider } from '@cstar.help/svelte';
let { children } = $props();
</script>
<CStarChatProvider teamSlug="acme">
{@render children()}
</CStarChatProvider>Stack both
src/routes/+layout.svelte
<CStarLibraryProvider teamSlug="acme">
<CStarChatProvider teamSlug="acme">
{@render children()}
</CStarChatProvider>
</CStarLibraryProvider>SSR
Both providers are SSR-safe — they skip the realtime/subscription wiring during server render. See the SSR safety page for the full story.