Installation
Syncblocks components are distributed via the shadcn registry. Each component is added to your project as editable source code — no package to maintain.
Prerequisites
- React 18 or 19
- Tailwind CSS v4
- shadcn/ui initialised on the Base UI component library (see below)
- TypeScript (recommended)
Quick start
Initialise shadcn/ui on Base UI
Syncblocks is built on the Base UI flavour of shadcn/ui — the base-nova
preset. Pass --base base so the CLI writes that configuration:
pnpm dlx shadcn@latest init --base baseYour components.json should end up with:
{
"style": "base-nova"
}This is not a cosmetic preference. On the Radix flavour ("style" of
new-york or default) the primitives expose a different API — asChild
instead of render, string-only Select values — and most Syncblocks
components will fail to compile. If you are adding Syncblocks to an existing
project, check "style" in components.json before you install.
Register the @syncblocks namespace
Syncblocks is a private registry, so the CLI needs both its URL and an access
token. Add the namespace to your components.json:
{
"registries": {
"@syncblocks": {
"url": "https://registry.websiteprojectupdates.com/r/{name}.json",
"headers": {
"Authorization": "Bearer ${SYNCBLOCKS_REGISTRY_TOKEN}"
}
}
}
}Then put the token your team gave you in .env.local — never commit it:
SYNCBLOCKS_REGISTRY_TOKEN=your_token_herecomponents.json is committed; .env.local is not. The ${...} syntax is
expanded by the CLI at install time, so the literal token never lands in git.
Add the component you need
pnpm dlx shadcn@latest add @syncblocks/workspaceThe CLI automatically installs peer dependencies and resolves registry
dependencies — workspace will pull in workspace-tabs automatically.
Manual installation
Each component page has a Manual tab in the installation section with the full source and dependency list.