TursoDB uses a special way to handle input and output tasks. Instead of using Rust's built-in async system, it uses cooperative yielding with explicit state machines. This means a function can pause itself and wait for an IO operation to finish before continuing.
The core type IOResult tells you if an operation is done or needs IO. Functions return this and must be called again until they're done. Completion and CompletionGroup track single or multiple IO operations. You can wait for several at once.
A big pitfall is re-entrancy. If you change shared state before a yield point, the function may run again and change it twice. The fix is to mutate state only after the IO is complete or use a state machine to track progress. This guide helps you write safe and correct async code in TursoDB's core.
Global
mkdir -p ~/.claude/skills/async-io-modelProject
mkdir -p .claude/skills/async-io-modelSource Repository
Supabase Postgres Best Practicessupabase/agent-skills
Follow Supabase's expert guidelines for faster Postgres queries and smarter schema design
Firebase Data Connectfirebase/agent-skills
Build secure PostgreSQL backends with Firebase using GraphQL schemas and type-safe SDKs
Convex Migration Helperget-convex/agent-skills
Plan and run safe Convex schema migrations without downtime or data loss
Firebase Firestorefirebase/agent-skills
Master Cloud Firestore setup, queries, full-text search, security rules, and indexes
Neon Postgresneondatabase/agent-skills
Set up and manage Neon Serverless Postgres with ease and speed
Firebase Firestore Standardfirebase/agent-skills
Set up and secure Cloud Firestore with clear provisioning rules and SDK guides
Firebase Firestore Enterprise Native Modefirebase/agent-skills
Master Firestore Enterprise Native Mode provisioning data modeling security rules and SDK usage
Postgresql Table Designwshobson/agents
Design PostgreSQL tables with best practices for performance and reliability