Skip to content

hpkv-io/zustand-multiplayer

Repository files navigation

Zustand Multiplayer Logo

Zustand Multiplayer

Transform any Zustand store into a real-time synchronized multiplayer experience

License: MIT TypeScript CI Status


This monorepo contains the Zustand Multiplayer middleware and related packages. Zustand Multiplayer enables real-time synchronization of Zustand stores across multiple clients without requiring you to set up WebSocket servers or handle complex synchronization logic.

📦 Packages

This monorepo is organized using pnpm workspaces and Turborepo.

Core Package

Package Version Description
@hpkv/zustand-multiplayer npm Real-time multiplayer middleware for Zustand

Internal Packages

Package Description
@repo/eslint-config Shared ESLint configurations
@repo/typescript-config Shared TypeScript configurations

📚 Examples

Explore our example applications to see Zustand Multiplayer in action:

Example Description Next.js React TypeScript JavaScript Vite Express
Next.js Chat App Real-time chat application with message synchronization and user management
JavaScript Chat App Framework-free vanilla JavaScript chat with Vite development setup
Next.js Collaborative Todo Full-stack todo application with real-time task synchronization
JavaScript Collaborative Todo Vanilla JavaScript todo app with minimal Express.js backend
Next.js Tic-Tac-Toe Game Multiplayer tic-tac-toe game with live scoreboard and turn management
Next.js Collaborative Drawing Real-time collaborative drawing canvas with live cursors and synchronized strokes
React Live Cursors Real-time collaborative cursor tracking
JavaScript Live Cursors Vanilla JavaScript live cursor tracking with real-time synchronization
Next.js Collaborative Spreadsheet Real-time collaborative spreadsheet with formulas, formatting, and multi-user editing

🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, creating examples, or improving documentation, your help makes Zustand Multiplayer better for everyone.

Quick Start for Contributors

  1. Fork & Clone the repository
  2. Install dependencies: pnpm install
  3. Build the core package: pnpm turbo build --filter=@hpkv/zustand-multiplayer
  4. Make your changes following our guidelines
  5. Test thoroughly: pnpm turbo test lint type-check
  6. Submit a Pull Request

Ways to Contribute

  • 🐛 Report bugs or suggest features via GitHub Issues
  • 💻 Submit code improvements, bug fixes, or new features
  • 📚 Add examples showcasing new use cases or frameworks
  • 📖 Improve documentation and help others get started
  • 🎥 Create tutorials or blog posts about the library
  • 💬 Help others in GitHub Discussions

For detailed contribution guidelines, development setup, code standards, and testing procedures, please see our Contributing Guide.

📞 Support

About

Multiplayer middleware for Zustand

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published