Springbok

DocumentationExamplesAPI Reference
Inspired by Zustand

Springbok

A minimal state management library for modern applications. Simple, fast, and TypeScript-first.

Vanilla JavaScript
npm i @cn-m/springbok-core
React
npm i @cn-m/springbok-react

Why Springbok?

Minimal & Fast

Zero dependencies and a tiny bundle size. Built for performance without sacrificing developer experience.

TypeScript First

Built with TypeScript from the ground up. Get full type safety and excellent IntelliSense support out of the box.

Framework Agnostic

Use with React, Vue, or vanilla JavaScript. Adapters available for popular frameworks with consistent APIs.

Simple to Use

Create a Store
import { create } from '@cn-m/springbok-react'

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}))
Use in Components
function Counter() {
  const { count, increment, decrement } = useStore()
  
  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>+</button>
      <button onClick={decrement}>-</button>
    </div>
  )
}

Roadmap

Core Library ReleaseCompleted

Initial release with TypeScript support, React adapter, and vanilla JavaScript core.

DevTools IntegrationIn Progress

Browser extension for debugging state changes, time-travel debugging, and performance monitoring.

Framework AdaptersPlanned

Official adapters for Vue.js, Svelte, and Angular with framework-specific optimizations.

Persistence LayerFuture

Built-in persistence with localStorage, sessionStorage, and IndexedDB support with automatic hydration.

Springbokv1.0.0

Ntsako Mbhalati