Native First
Stays close to SurrealDB’s native capabilities, avoiding unnecessary abstractions that hide SurrealDB’s powerful features.
Native First
Stays close to SurrealDB’s native capabilities, avoiding unnecessary abstractions that hide SurrealDB’s powerful features.
Type Safety
Full TypeScript type inference for your schema, queries, and results without runtime overhead.
Schema Generation
Generate valid SurrealDB schema definitions directly from your TypeScript code.
Query Building
Type-safe query building that mirrors SurrealQL syntax while providing autocomplete and type checking.
AI Friendly
Includes dedicated llms.txt and llms-full.txt context files for a superior experience with LLMs and AI tools.
// Define your schemaconst User = Table.normal({ name: 'user', fields: { name: Field.string(), email: Field.string({ assert: surql`string::is::email($value)` }), createdAt: Field.datetime({ default: surql`time::now()` }), },});
// Type-safe queries with bound parametersconst pattern = '%@example.com';const users = await User.select(db, { where: surql`email LIKE ${pattern}`, limit: 10,});