Welcome to TeaQL
TeaQL is a generated business API platform for AI-native software. It turns a domain model into type-safe, human-readable APIs that can be used by application developers and AI coding tools without asking them to guess SQL, table relationships, DTO shapes, or runtime policy.
TeaQL has two current centers of gravity:
- Java-proven productivity for enterprise systems, Spring Boot services, rich domain models, and maintainable business queries.
- Rust-powered runtime work for MySQL, PostgreSQL, SQLite, embedded SQLite, in-memory tests, edge deployments, and agent memory.
The short version:
Generated Business APIs. Java-proven. Rust-powered. Multi-database ready.
Choose Your Path
I want to try TeaQL in 5 minutes
Start from a starter model, then inspect the generated query APIs.
I want to understand the architecture
Learn why TeaQL is more than an ORM and how the generated API, runtime context, repositories, and providers fit together.
I want to use TeaQL with AI coding tools
Use generated business APIs as a stable layer between LLM-generated application code and your database/runtime implementation.
I want to run TeaQL Rust with MySQL, PostgreSQL, or SQLite
Use the Rust runtime provider model to choose SQLx PostgreSQL, SQLx MySQL, SQLx SQLite, rusqlite SQLite, or MemoryRepository.
Core Ideas
TeaQL keeps business API design separate from storage execution:
Domain Model
-> TeaQL Generator
-> Generated Q API
-> Runtime Provider
-> MySQL / PostgreSQL / SQLite / Memory / Edge / Agent
The same domain model can generate APIs that read like business intent:
User userOrderInfo = Q.users()
.filterWithId(userId)
.countOrder()
.facetByOrderStatus("statusWithCount", Q.orderStatus().countOrders())
.selectOrderList(
Q.ordersWithId()
.selectOrderId()
.selectDate()
.offset(0, 10)
.selectLineItemList(Q.lineItemsWithId().selectImageURL().limit(3))
.countLineItems()
)
.execute(context);
One business page can be expressed as one fluent API instead of scattered SQL, XML, DTO mapping, and manual stitching.
What to Read Next
- Cookbook for task-oriented recipes.
- Rust database providers for provider selection.
- Working with Spring Boot for Java service structure.
- Start from a starter model when you are ready to build your own domain API.