mcpField
T
turso

turso

github.com/itechmeatData & databases2467 installsUpdated 1w ago
Repository

About turso

A skill guide for using Turso, a SQLite-compatible database built on libSQL, in applications, AI agents, and edge workloads. It covers embedded, cloud, and hybrid deployment, with guidance on encryption, authorization, synchronization, and agent databases.

Key features

  1. 01Embedded SQLite-compatible database
  2. 02Cloud and hybrid synchronization
  3. 03AEGIS-256 and AES-GCM encryption
  4. 04Authorization guidance
  5. 05Agent database patterns

Use cases

  1. 01Managing local state for AI agents
  2. 02Building offline-first applications
  3. 03Syncing local databases with Turso Cloud
  4. 04Using encrypted databases in edge workloads

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/itechmeat/llm-code --skill turso

After installing, type/tursoin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
agents.md
auth.md
encryption.md
installation.md
quickstart.md
sync.md

Details

From the project README

Turso Database

SQLite-compatible embedded database for modern applications, AI agents, and edge computing.

Links

Quick Navigation

TopicReference
Installationinstallation.md
Encryptionencryption.md
Authorizationauth.md
Syncsync.md
Agent DBsagents.md

When to Use

  • Embedded SQLite database with cloud sync
  • AI agent state management and multi-agent coordination
  • Offline-first applications
  • Encrypted databases (AEGIS, AES-GCM)
  • Edge computing and IoT devices

Core Concepts

libSQL

Turso is built on libSQL, an open-source fork of SQLite with:

  • Native encryption (AEGIS-256, AES-GCM)
  • Async I/O (Linux io_uring)
  • Cloud sync capabilities
Deployment Options
  1. Embedded — runs locally in your app
  2. Turso Cloud — managed platform with branching, backups
  3. Hybrid — local with cloud sync (push/pull)

Common Patterns

Encrypted Database
openssl rand -hex 32  # Generate key
tursodb --experimental-encryption "file:db.db?cipher=aegis256&hexkey=YOUR_KEY"
Cloud Sync
import { connect } from "@tursodatabase/sync";

const db = await connect({
  path: "./local.db",
  url: "turso://...", // also accepts "libsql://..." — both schemes work
  authToken: process.env.TURSO_AUTH_TOKEN,
});

await db.push(); // local → cloud
await db.pull(); // cloud → local
Agent Database
import { connect } from "@tursodatabase/database";

// Local-first
const db = await connect("agent.db");

// Or with sync
const db = await connect({
  path: "agent.db",
  url: "https://db.turso.io",
  authToken: "...",
  sync: "full",
});

Version

Based on product version: 0.7.2

Release Notes

0.7.1 – 0.7.2
  • JS/serverless SDK: transactionAsync() is the new closure-safe transaction API. transaction() is now deprecated — its closure semantics are unsound once transactions can run concurrently, because statements captured over the outer db/conn instance can be scheduled out of order. Migrate transaction callbacks to use the txn handle passed into transactionAsync() instead of closing over the outer instance (see references/agents.md).
  • Breaking: Connection.execute() was removed from the serverless driver's native-mirroring surface (connect()), which now matches @tursodatabase/database and exposes run/get/all/iterate/exec/batch/transaction(Async) instead. The libsql-compatible createClient() layer keeps its own execute() and is unaffected (see references/auth.md).
  • Fixed a stale inTransaction flag after execute()/batch() that could leave a server-side write transaction open past a constraint error.
  • Per-query requestHeaders, passed through the trailing query-options argument, let you attach custom headers (e.g. a request-identity header) to a single call instead of only at the connection level.
  • Sync engine: the remote pull protocol (page-based WAL vs. MVCC logical-log) is now auto-detected on first contact, so the old logical_mvcc_pull flag becomes an optional manual override instead of a requirement. A WAL-mode local replica is automatically converted to MVCC journal mode in place when it syncs against an MVCC remote.
  • Sync bindings (Rust, Python, JavaScript, Go, React Native) accept both turso:// and libsql:// remote URLs interchangeably.
  • Core fixes: an IN (...) list query-cost regression that degraded InSeek to a full scan, a missing index left behind after UPSERT due to a pre-constraint-check index mutation, a change-count leak from sequences under MVCC, and DELETE/upsert replay bugs for tables with composite or non-rowid primary keys.
0.7.0
  • SQL surface: SQL-standard scalar functions with PostgreSQL-compatible aliases, PostgreSQL-style sequences, MVCC-safe AUTOINCREMENT, window-function work (row_number() on VDBE aggregate machinery, FILTER in window clauses), and WITHIN GROUP ordered-set aggregates.
  • MVCC/durability: passive checkpoint for MVCC, portable logical-log metadata for Turso sync, and Aristo WAL verification.
  • Collations: core custom collation support and locale-backed collations.
  • .NET / platforms: NativeAOT static linking, remote transactions and batches, a Turso EF Core SQLite provider, NuGet native targets, and Windows ARM64 CLI releases.
Earlier (0.6.0)

JS/serverless timeouts, interactive transactions, Python SQLAlchemy improvements (sqlalchemy-libsql), npm-based CLI distribution, and a broader SQL surface for local-first/agent workloads — still in effect, see references/agents.md and references/installation.md.

Comments

Markdown supported