# Grove > Documentation for Grove, version 1.x. > Every entry links to the page's markdown source. Repository: https://github.com/xraph/grove Site: https://www.xraph.com/docs/grove ## Pages - [Go Packages](https://www.xraph.com/docs/grove/api-reference/go-packages.md): Reference for all Grove Go packages. - [Architecture](https://www.xraph.com/docs/grove/architecture.md): How Grove's packages, drivers, and query pipeline work together. - [Benchmarks](https://www.xraph.com/docs/grove/concepts/benchmarks.md): Performance comparison: Grove vs raw SQL, Bun, and GORM - [Dual Tag System](https://www.xraph.com/docs/grove/concepts/dual-tags.md): Define models with grove tags or use existing bun tags as fallback. - [Errors](https://www.xraph.com/docs/grove/concepts/errors.md): Sentinel errors returned by Grove operations. - [Schema & Models](https://www.xraph.com/docs/grove/concepts/models.md): Complete reference for Grove model definitions, field options, relations, the schema registry, and driver-specific behavior. - [Multi-Tenancy](https://www.xraph.com/docs/grove/concepts/multi-tenancy.md): How Grove enables tenant data isolation through privacy hooks. - [Native Query Syntax](https://www.xraph.com/docs/grove/concepts/native-syntax.md): Each Grove driver exposes its database's native query idioms. - [Type-Safe IDs](https://www.xraph.com/docs/grove/concepts/type-ids.md): Grove uses TypeIDs for type-safe, K-sortable entity identifiers across the Forge ecosystem. - [Zero-Reflection Hot Path](https://www.xraph.com/docs/grove/concepts/zero-reflection.md): How Grove achieves near-raw performance by reflecting once at startup. - [API Reference](https://www.xraph.com/docs/grove/crdt/api-reference.md): Complete Go API reference for the Grove CRDT package — types, plugin, clock, merge, sync, transport, server, hooks, and options. - [Getting Started](https://www.xraph.com/docs/grove/crdt/getting-started.md): Set up CRDT-enabled models, create the plugin, ensure shadow tables, and perform your first sync. - [CRDT Overview](https://www.xraph.com/docs/grove/crdt.md): Conflict-Free Replicated Data Types for offline-first, multi-node, and eventually-consistent applications with Grove. - [Plugin System](https://www.xraph.com/docs/grove/crdt/plugins.md): Intercept merge, metadata, presence, room, time-travel, and connection events with server-side and client-side CRDT plugins. - [Presence & Awareness](https://www.xraph.com/docs/grove/crdt/presence.md): Ephemeral real-time presence for collaborative features — typing indicators, cursor tracking, active users, and user metadata. - [Room Management](https://www.xraph.com/docs/grove/crdt/rooms.md): Scoped collaborative spaces with participant limits, cursor tracking, typing indicators, and lifecycle hooks. - [SSE Streaming](https://www.xraph.com/docs/grove/crdt/streaming.md): Real-time change propagation via Server-Sent Events with auto-reconnect, query parameters, and combined sync strategies. - [Sync Protocol](https://www.xraph.com/docs/grove/crdt/sync.md): Transport interface, HTTP client, Syncer orchestration, multi-peer topologies, and sync hooks. - [Time-Travel & History](https://www.xraph.com/docs/grove/crdt/time-travel.md): Query CRDT state at any point in time, view field-level history, and build audit trails with opt-in time-travel. - [CRDT Types](https://www.xraph.com/docs/grove/crdt/types.md): Deep dive into LWW-Register, PN-Counter, OR-Set, RGA List, and Nested Document merge semantics, algorithms, and use cases. - [TypeScript Client](https://www.xraph.com/docs/grove/crdt/typescript-client.md): Using @grove-js/crdt for browser-based CRDT sync with HTTP pull/push, SSE streaming, client-side merge, and React hooks. - [WebSocket Transport](https://www.xraph.com/docs/grove/crdt/websocket.md): Bidirectional multiplexed CRDT sync over a single persistent WebSocket connection. - [ClickHouse](https://www.xraph.com/docs/grove/drivers/clickhouse.md): ClickHouse driver for OLAP analytics with MergeTree engines and columnar storage. - [Elasticsearch](https://www.xraph.com/docs/grove/drivers/elasticsearch.md): Elasticsearch driver with native JSON query DSL, aggregations, bulk operations, and scroll support. - [MongoDB](https://www.xraph.com/docs/grove/drivers/mongodb.md): MongoDB driver with native BSON syntax and aggregation pipeline support. - [MySQL](https://www.xraph.com/docs/grove/drivers/mysql.md): MySQL driver with native syntax, ? placeholders, and backtick quoting. - [PostgreSQL](https://www.xraph.com/docs/grove/drivers/postgres.md): PostgreSQL driver with native syntax, $1 placeholders, and pgx pool. - [SQLite](https://www.xraph.com/docs/grove/drivers/sqlite.md): SQLite driver with pure-Go implementation via modernc.org/sqlite. - [Turso / libSQL](https://www.xraph.com/docs/grove/drivers/turso.md): Turso driver for distributed SQLite at the edge via libSQL. - [Getting Started](https://www.xraph.com/docs/grove/getting-started.md): Install Grove and run your first database query. - [Basic CRUD](https://www.xraph.com/docs/grove/guides/basic-crud.md): A step-by-step guide to creating, reading, updating, and deleting records with Grove. - [Migrating from Bun](https://www.xraph.com/docs/grove/guides/bun-migration.md): How to migrate existing bun ORM projects to Grove with zero downtime. - [CRDT: Multi-Node Sync](https://www.xraph.com/docs/grove/guides/crdt-multi-node.md): Set up multi-node CRDT sync with Grove — hub-and-spoke, peer-to-peer, and full Forge integration examples. - [CRDT: Offline-First App](https://www.xraph.com/docs/grove/guides/crdt-offline-first.md): Build an offline-first Go application with Grove CRDTs — local operations, queue-and-sync, error handling, and tombstone cleanup. - [CRDT: Collaborative Presence](https://www.xraph.com/docs/grove/guides/crdt-presence.md): Build real-time collaborative features — active users, typing indicators, and cursor tracking — using Grove CRDT presence. - [CRDT: React App](https://www.xraph.com/docs/grove/guides/crdt-react-app.md): Build a collaborative React application with real-time CRDT sync using @grove-js/crdt and Grove. - [Hooks Overview](https://www.xraph.com/docs/grove/hooks/overview.md): Privacy and query hooks that run before and after every database operation. - [Tenant Isolation Hook](https://www.xraph.com/docs/grove/hooks/tenant-isolation.md): Automatic tenant data isolation via query-level hook injection. - [Grove: A Polyglot Go ORM](https://www.xraph.com/docs/grove.md): Grove is a high-performance Go ORM with native query syntax per database, dual tag system, modular migrations, and privacy hooks. - [Configuration](https://www.xraph.com/docs/grove/integration/configuration.md): Configure Grove via YAML files, environment variables, or programmatic options. - [Forge Extension](https://www.xraph.com/docs/grove/integration/forge-extension.md): Use Grove as a first-class Forge extension with YAML configuration, DI, migrations, CRDT sync, multi-database support, and lifecycle management. - [Plugin System](https://www.xraph.com/docs/grove/integration/plugin-system.md): Extend Grove with plugins for audit logging, metrics, and custom behavior. - [Codecs](https://www.xraph.com/docs/grove/kv/codecs.md): Serialization codecs for Grove KV: JSON, MsgPack, Protobuf, Gob, and how to implement custom codecs. - [CRDT Integration](https://www.xraph.com/docs/grove/kv/crdt/overview.md): Overview of CRDT support in Grove KV for distributed, eventually-consistent key-value storage. - [Sync Engine](https://www.xraph.com/docs/grove/kv/crdt/sync-engine.md): Cross-store CRDT synchronization with the Grove KV Syncer — bidirectional merge, background sync loops, and key pattern filtering. - [CRDT Types](https://www.xraph.com/docs/grove/kv/crdt/types.md): Available CRDT data types in Grove KV — Counter, Register, Set, Map, List, and Document — with API reference, merge semantics, and usage examples. - [Badger Driver](https://www.xraph.com/docs/grove/kv/drivers/badger.md): Badger embedded LSM-tree driver for Grove KV with native TTL, Scan, Batch, CAS, and Transaction support. - [BoltDB Driver](https://www.xraph.com/docs/grove/kv/drivers/boltdb.md): BoltDB (bbolt) embedded driver for Grove KV with emulated TTL, Scan, Batch, CAS, and Transaction support. - [DynamoDB Driver](https://www.xraph.com/docs/grove/kv/drivers/dynamodb.md): AWS DynamoDB driver for Grove KV with TTL, Batch, CAS, and Transaction support. - [Memcached Driver](https://www.xraph.com/docs/grove/kv/drivers/memcached.md): Memcached driver for Grove KV with CAS (Compare-And-Swap) support. - [Redis Driver](https://www.xraph.com/docs/grove/kv/drivers/redis.md): Redis driver for Grove KV with support for TTL, CAS, Scan, Batch, PubSub, Transactions, and Streams. - [Atomic Counter](https://www.xraph.com/docs/grove/kv/extensions/counter.md): Distributed atomic counter with increment, decrement, get, set, and reset operations backed by Grove KV. - [Distributed Lock](https://www.xraph.com/docs/grove/kv/extensions/distributed-lock.md): Mutual exclusion lock backed by Grove KV with TTL-based expiry, retry support, and token-based ownership. - [Leaderboard](https://www.xraph.com/docs/grove/kv/extensions/leaderboard.md): Sorted leaderboard with ranked member/score entries, top-N queries, and rank lookups backed by Grove KV. - [Extensions Overview](https://www.xraph.com/docs/grove/kv/extensions/overview.md): Higher-level abstractions built on the Grove KV Store interface -- distributed locks, rate limiters, sessions, counters, leaderboards, and job queues. - [Job Queue](https://www.xraph.com/docs/grove/kv/extensions/queue.md): Simple distributed FIFO job queue with visibility timeout, acknowledgment, and background task processing backed by Grove KV. - [Rate Limiter](https://www.xraph.com/docs/grove/kv/extensions/rate-limiter.md): Distributed rate limiting with a sliding window counter approach, backed by any Grove KV store. - [Session Store](https://www.xraph.com/docs/grove/kv/extensions/session-store.md): HTTP session storage backed by Grove KV with auto-generated cryptographic IDs, configurable TTL, and touch-to-refresh support. - [Getting Started with KV](https://www.xraph.com/docs/grove/kv/getting-started.md): Install Grove KV, connect to a backend, and run your first Get/Set operations in under 5 minutes. - [Keyspaces](https://www.xraph.com/docs/grove/kv/keyspaces.md): Typed, namespaced key-value partitions with automatic prefix management, per-keyspace codecs, default TTLs, and type-safe access. - [L1 Cache Middleware](https://www.xraph.com/docs/grove/kv/middleware/cache.md): In-memory read-through cache that reduces backend load for frequently accessed keys. - [Circuit Breaker Middleware](https://www.xraph.com/docs/grove/kv/middleware/circuit-breaker.md): Circuit breaker pattern for fault tolerance -- fail fast when the backend is unavailable. - [Compression Middleware](https://www.xraph.com/docs/grove/kv/middleware/compression.md): Transparent gzip compression and decompression for KV values. - [Encryption Middleware](https://www.xraph.com/docs/grove/kv/middleware/encryption.md): Transparent AES-GCM encryption for KV values at rest. - [Logging Middleware](https://www.xraph.com/docs/grove/kv/middleware/logging.md): Structured logging for every KV operation with latency tracking. - [Namespace Middleware](https://www.xraph.com/docs/grove/kv/middleware/namespace.md): Automatic key prefixing for multi-tenant isolation in KV stores. - [Middleware Overview](https://www.xraph.com/docs/grove/kv/middleware/overview.md): KV middleware system overview -- composable hooks for logging, caching, encryption, and more. - [Retry Middleware](https://www.xraph.com/docs/grove/kv/middleware/retry.md): Automatic retry with exponential backoff and jitter for transient KV failures. - [Stampede Protection Middleware](https://www.xraph.com/docs/grove/kv/middleware/stampede.md): Singleflight-based cache stampede prevention for concurrent KV reads. - [Grove KV Overview](https://www.xraph.com/docs/grove/kv/overview.md): A command-oriented data access layer for key-value stores with typed keyspaces, middleware hooks, CRDT integration, and pluggable backends. - [Store Interface](https://www.xraph.com/docs/grove/kv/store-interface.md): Complete API reference for the Grove KV Store: core commands, raw access, multi-key operations, TTL, scanning, options, hooks, and the batch builder. - [Multi-Module Migrations](https://www.xraph.com/docs/grove/migrations/multi-module.md): How Forge extensions and Go modules compose migrations with dependency ordering. - [Migrations Overview](https://www.xraph.com/docs/grove/migrations/overview.md): Modular, Go-code migrations with dependency-aware ordering. - [Change Data Capture](https://www.xraph.com/docs/grove/streaming/changefeed.md): Real-time change streams for reacting to database inserts, updates, and deletes. - [Streaming Overview](https://www.xraph.com/docs/grove/streaming/overview.md): Lazy, pull-based iteration over large result sets using server-side cursors. - [Pipeline Transforms](https://www.xraph.com/docs/grove/streaming/transforms.md): Composable Map, Filter, Reduce, Chunk, Take, and ForEach operations on streams.