# Spoosh React > Spoosh is a type-safe API toolkit with a powerful plugin system. Define your API schema once and get full TypeScript autocomplete everywhere. ## Docs - [Full Docs](https://spoosh.dev/docs/react/llms-full): Full React documentation. ## Getting Started - [Overview](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/getting-started/index.mdx): Getting started overview - [Installation](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/getting-started/installation.mdx): Install and setup Spoosh - [First API Call](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/getting-started/first-api-call.mdx): Make your first API call ## Core - [Overview](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/core/index.mdx): Core concepts overview - [Client](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/core/client.mdx): Creating and configuring clients - [Schema Definition](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/core/schema-definition.mdx): Define your API schema - [Response](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/core/response.mdx): Response format and handling ## Hooks - [Overview](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/hooks/index.mdx): React hooks overview - [useRead](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/hooks/use-read.mdx): Fetch data with automatic caching - [useWrite](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/hooks/use-write.mdx): Trigger mutations - [usePages](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/hooks/use-pages.mdx): Paginated data fetching - [useQueue](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/hooks/use-queue.mdx): Concurrent request queues with progress tracking ## Type Adapters - [Hono](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/type-adapters/hono.mdx): Hono server type adapter - [Elysia](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/type-adapters/elysia.mdx): Elysia server type adapter - [OpenAPI](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/type-adapters/openapi.mdx): Bidirectional OpenAPI conversion ## Plugins - [Overview](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/index.mdx): Plugin system overview ### Data Fetching - [Cache](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/cache.mdx): In-memory caching with stale-while-revalidate - [Deduplication](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/deduplication.mdx): Prevent duplicate concurrent requests - [Prefetch](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/prefetch.mdx): Preload data before navigation - [Initial Data](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/initial-data.mdx): SSR hydration support - [GC](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/gc.mdx): Garbage collection for cache management ### Mutations - [Invalidation](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/invalidation.mdx): Auto-refresh queries after mutations - [Optimistic](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/optimistic.mdx): Optimistic updates for instant UI feedback ### Resilience - [Retry](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/retry.mdx): Automatic retry with exponential backoff - [Throttle](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/throttle.mdx): Rate limiting for API calls - [Debounce](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/debounce.mdx): Debounce rapid requests ### Real-time - [Polling](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/polling.mdx): Periodic data refresh - [Refetch](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/refetch.mdx): Refetch on window focus or reconnect ### Data Transformation - [Transform](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/transform.mdx): Transform response data - [QS](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/qs.mdx): Query string serialization for nested objects ### Framework Integration - [Next.js](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/nextjs.mdx): Server-side cache revalidation ### Upload/Download - [Progress](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/progress.mdx): Upload/download progress tracking via XHR ### Developer Tools - [Debug](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugins/debug.mdx): Debug logging for development - [Devtool](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/devtool/index.mdx): Visual debugging panel with plugin execution visualization ## Plugin Development - [Overview](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/index.mdx): Building custom plugins - [Middleware Patterns](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/patterns.mdx): Intercepting and transforming requests - [After Response](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/after-response.mdx): Side effects that always run - [Lifecycle Hooks](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/lifecycle.mdx): Component mount/unmount/update hooks - [Meta Storage](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/meta-storage.mdx): Storing user-facing metadata - [Plugin Communication](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/plugin-communication.mdx): Inter-plugin and intra-plugin communication - [Instance API](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/instance-api.mdx): Adding methods to create() return - [Type Safety](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/type-safety.mdx): Type-safe plugins and options - [Architecture](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/architecture.mdx): Plugin system architecture - [Testing](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/plugin-development/advanced/testing.mdx): Testing custom plugins ## Guides - [Tags & Invalidation](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/guides/tags-and-invalidation.mdx): Tag modes, custom tags, invalidation strategies - [Infinite Queries](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/guides/infinite-queries.mdx): Infinite queries with usePages - [Authentication](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/guides/authentication.mdx): Token management and auth flows - [Error Handling](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/guides/error-handling.mdx): Global, per-request, and typed errors - [Lazy Loading](https://raw.githubusercontent.com/spooshdev/spoosh/main/docs/content/react/guides/lazy-loading.mdx): Control when data fetches with enabled and trigger