Official JavaScript/TypeScript SDKs for b10cks β a modern headless CMS and content management platform.
This monorepo contains multiple packages that enable seamless integration of b10cks into your web applications.
Framework-agnostic core for communicating with the b10cks Data API.
- Type-safe HTTP client
- Shared
B10cksDataApiabstraction - Automatic pagination handling
- Revision and version tracking
- Works in browsers and Node.js
npm install @b10cks/clientVue 3 integration for building interactive content management experiences.
- Vue 3 plugin with global directives
- Data composables built on
@b10cks/client - Editable content directives (
v-editable,v-editable-field) - Reusable component system
- Preview bridge support
npm install @b10cks/vue @b10cks/clientNuxt 4 module for zero-config integration with Nuxt applications.
- Auto-configured b10cks integration
- Shared composables via
@b10cks/vue - Runtime configuration
- Built on top of
@b10cks/vue
npm install @b10cks/nuxtReact integration with provider, hooks, and block rendering.
B10cksProvidercontext for client/data API- Typed hooks (
useB10cksApi) - Preview bridge integration
npm install @b10cks/react @b10cks/clientSvelte integration with context, stores, and actions.
- Svelte context setup (
createB10cksContext) - Typed async stores (
createB10cksStores) editableandeditableFieldactions
npm install @b10cks/svelte @b10cks/clientNext.js integration layer on top of the React SDK.
- Next-friendly provider (
B10cksNextProvider) - Server helper (
createB10cksNextApi) - Config helper (
withB10cks)
npm install @b10cks/next @b10cks/react @b10cks/client// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@b10cks/nuxt'],
b10cks: {
accessToken: 'your-access-token',
apiUrl: 'https://api.b10cks.com/api',
},
})import { createApp } from 'vue'
import { B10cksVue } from '@b10cks/vue'
const app = createApp(App)
app.use(B10cksVue, {
apiClientOptions: {
token: 'your-access-token',
baseUrl: 'https://api.b10cks.com/api',
},
})
app.mount('#app')import { ApiClient } from '@b10cks/client'
import { createB10cksDataApi } from '@b10cks/client'
const client = new ApiClient(
{
baseUrl: 'https://api.b10cks.com/api',
token: 'your-access-token',
fetchClient: fetch,
},
new URL(window.location.href)
)
const dataApi = createB10cksDataApi(client)
const blocks = await dataApi.getBlocks()- b10cks Documentation
- Individual package READMEs:
- Node.js 24.7.0 or higher
- pnpm 10.15.1 or higher
# Install dependencies
pnpm install
# Build all packages
pnpm run build
# Run tests
pnpm run test
# Lint and fix code
pnpm run lint:fixsdk/
βββ packages/
β βββ client/ # Core API client
β βββ vue/ # Vue 3 plugin
β βββ react/ # React SDK
β βββ svelte/ # Svelte SDK
β βββ nuxt/ # Nuxt module
β βββ next/ # Next.js integration
βββ scripts/ # Build and utility scripts
βββ .changeset/ # Changesets for versioning
We welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Setting up your development environment
- Making code changes
- Writing tests
- Submitting pull requests
MIT β see LICENSE for details
- Discord: Join our community
- Issues: GitHub Issues
Made with β€οΈ in Austria by Coder's Cantina