turso-db

Implements Turso SQLite-compatible databases with SDKs, vector search, sync, and encryption.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/gmackie/agent-skills --skill turso-db-gmackie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: turso-db
Source: https://github.com/gmackie/agent-skills/tree/main/skills/turso-db
Command: npx skills add https://github.com/gmackie/agent-skills --skill turso-db-gmackie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Working with Turso (Limbo), the Rust-based SQLite-compatible database, requires knowing its beta constraints, choosing the right SDK per platform, and avoiding outdated libSQL documentation. This Skill provides decision trees, critical rules, and ready-to-use recipes so you write correct Turso code on the first attempt. ## Core Features & Use Cases - Multi-platform SDK guidance: Covers JavaScript/Node.js, serverless/edge, browser WASM with OPFS, React Native, Rust, Python, and Go with install commands and API references. - Feature recipes: In-depth references for vector search, full-text search (Tantivy-based), CDC, MVCC concurrent transactions, page-level encryption, and bidirectional remote sync with Turso Cloud. - Use Case: You are building an offline-first React Native app. The Skill directs you to @tursodatabase/sync-react-native, shows push/pull sync patterns, platform path handling, and optional remote encryption configuration. ## Quick Start Ask the AI to help you set up a Turso embedded database with vector similarity search in your Node.js project using the @tursodatabase/database SDK.

Frequently Asked Questions about turso-db

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use the Turso database in Node.js?▼

Install @tursodatabase/database with npm, then call connect('mydata.db') to open a database. Use db.prepare(sql) with async run, get, all, or iterate methods for queries, and db.exec for DDL statements.

How to add vector search to a SQLite database?▼

Turso supports vector search natively with vector32, vector64, vector8, and vector1bit types. Store embeddings as BLOB columns and query with vector_distance_cos, vector_distance_l2, or vector_distance_jaccard, ordering by distance ascending.

What is the difference between @tursodatabase/database and @tursodatabase/serverless?▼

The native SDK uses file I/O for Node.js and has synchronous prepare(), while the serverless SDK uses fetch() over HTTP for edge runtimes like Cloudflare Workers and has async prepare(). The serverless package also offers a libSQL compatibility layer.

Does Turso support offline-first sync with a remote database?▼

Yes, sync SDKs like @tursodatabase/sync provide explicit push() and pull() methods for bidirectional replication with Turso Cloud. There is no automatic background sync, and synced database files must only be opened through the sync SDK.

What are the limitations of Turso compared to SQLite?▼

Turso is beta software: it lacks multi-process file access, WITHOUT ROWID tables, and VACUUM, supports only UTF-8 and WAL journal mode. FTS requires a compile-time feature, and encryption and MVCC are experimental flags.

Can I run Turso in the browser with persistent storage?▼

Yes, @tursodatabase/database-wasm runs Turso via WebAssembly and persists data using OPFS. Your server must send Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers so SharedArrayBuffer is available.