Getting Started
Installation
Install the adapter for your stack. The React adapter re-exports all of core, so a React app needs just two packages.
React
pnpm add @secundus-studio/stift-react@0.4.0 @secundus-studio/stift-vite-plugin@0.4.0
@secundus-studio/stift-react@0.4.0 re-exports @secundus-studio/stift-core@0.4.0 — createStift, the Stift type, RegisteredLocale, PersisterAdapter, hooks, providers, all of it. Import everything from @secundus-studio/stift-react@0.4.0.
Vanilla TypeScript
pnpm add @secundus-studio/stift-core@0.4.0 @secundus-studio/stift-vite-plugin@0.4.0
Headless runtime with no React and no DOM — works in Node, browsers, and workers, anywhere TypeScript runs.
Offline storage (recommended)
pnpm add @secundus-studio/stift-persisters@0.4.0
One package, three backends plus a best-effort chain (OPFS → IndexedDB → Cache Storage → memory: first supported wins, never throws). Without a persister, packs are memory-only and re-fetched each boot. See Offline & Persistence.
Devtools (dev only)
pnpm add @secundus-studio/stift-tanstack-devtool-plugin@0.4.0
Panel inside the TanStack Devtools shell with live translation editing. The whole surface is gated by import.meta.env.DEV, so production builds drop it. See Devtools.
Works with React 18+ (the adapter is useSyncExternalStore-backed) and any Vite app for the build plugin. OPFS persistence requires a secure context (localhost is fine; production needs HTTPS) — otherwise the chain falls back to IndexedDB automatically.
Wanna see the finished wiring before you install? The canonical reference app is
examples/tanstack-spain the repo: config, instance, boot, and devtools all wired.
Next
Continue with the Quickstart to wire the plugin, write your config, and render your first key.