Files
endorsment/.github/skills/zustand-store-manager/SKILL.md

1.2 KiB

name, description, license, triggers
name description license triggers
zustand-store-manager Generates typed Zustand stores (usePaperStore, useAuthStore) with devtools and persist middleware for localStorage. MIT
create zustand store
generate usePaperStore
persist zustand

Zustand Store Manager

When to use this skill

  • Use when centralizing client state (papers, endorsements, likes, user profile) without a backend.
  • Triggered by requests to scaffold or update stores, add persistence, or wire devtools.

Instructions

  1. First Step: Create typed store files under src/stores/ (e.g., usePaperStore.ts) using create from zustand and persist/devtools middleware.

  2. Second Step: Expose actions and selectors that the UI will consume (addEndorsement, toggleLike, fetchPapers placeholder).

  3. Third Step: Document how to access state in components and how to reset/seed state for tests.

Examples

  • usePaperStore exposes papers, loading, addEndorsement(paperId, endorser) and reset().

Notes

  • Include clear type definitions for the store payloads to keep UI and store in sync.
  • Recommend zustand/middleware persist name (arxiv-social-storage) and a migration strategy when types change.