Build your own frontend
Build your own frontend
The SDK is a set of TypeScript packages for reading content that was published with SkyScribe (or the older Scribe CMS). You write and organise the content; the SDK is for developers who want to display it in a site or app they build themselves, rather than using a hosted SkyScribe Site.
What it does
Published content is stored on the author's AT Protocol Personal Data Server (PDS) — a public, decentralised data store. The SDK handles everything between "I have an author's handle" and "I have their articles":
- Resolving a handle (
alice.bsky.social) to the author's stable DID - Discovering which server hosts the author's data
- Fetching and normalising the site and article records
- Wiring up request cancellation so you don't have to
Note
The SDK's API predates SkyScribe's naming, so it calls things by their AT Protocol names: Site (a Publication), Group (a Category), Article (a Document). This whole section uses the SDK's names; SDK concepts has the mapping.
Which package do you need?
| Package | For | Provides |
|---|---|---|
@scribe-atp/core | Any framework, or none. Start here if unsure. | Pure async functions, no runtime dependencies |
@scribe-atp/react | React SPA / client-rendered components | useSite, useArticle hooks |
@scribe-atp/react-router-framework | React Router v7/v8 framework (server) mode | Loader factories that wire up request.signal |
@scribe-atp/next | Next.js 13+ App Router | generateStaticParams / generateMetadata factories |
@scribe-atp/nuxt | Nuxt 3+ | Full module — auto-imports, useAsyncData integration |
@scribe-atp/vue | Vue 3+ | useScribeSite, useScribeArticle composables |
@scribe-atp/angular | Angular 16+ | ScribeService (Observables), injectSite / injectArticle (Signals) |
@scribe-atp/social | React | LikeButton, SubscribeButton, ShareButton — reader engagement |
@scribe-atp/styles | Any framework | Themeable CSS for rendering article content |
For SvelteKit, Astro, or any other meta-framework with server-side data
loading, install @scribe-atp/core and call fetchSite / fetchArticle
directly in your loaders or server components — see
Other frameworks.
Requirements
- Node.js 22 or later
- TypeScript 5.0 or later (optional but recommended — every package ships full type declarations)
Next steps
- Read SDK concepts for the AT Protocol identity model and how content is organised.
- Follow the Quickstart to fetch your first Site and Article.
- Switch to your framework's guide for idiomatic integration.