Bob a new way to write SQL
Bob is under development! Use at your own risk.

Meet Bob

Bob is a new way to write SQL. With bob, you can write a simple DSL that generates SQL for SQLite, MariaDB, and Postgres. Reduce boilerplate, simplify logic, and use the same lang across every ecosystem.

  • CLI you can use anywhere
  • Powerful JavaScript SDK for seamless integration

Why Choose Bob?

Bob combines the simplicity of modern syntax with the power of SQL, giving you the best of both worlds.

CLI TOOLS

Try our custom CLI to transpile easily your bob queries into SQL. It's super easy to use and super fast.
terminal
$ bob -i ./input/ -d sqlite -o ./sql/
✨ Successfully transpiled
🚀 Generated SQL for SQLite database!
input
user.bob
product.bob
get-user-by-name.bob
get-product-by-id.bob
output
tables.sql
actions
get-user-by-name.sql
get-product-by-id.sql

PLAYGROUND

# Welcome to playground table Profiles { id id avatar string } table Users { id id name string email string unique index created_at current Profiles id optional } table Posts { title string content string rating int Users } get Users { id name email if email = "test@test.com" -> Profile { if avatar != "default.png" } } new Users { name "John Doe" email "johndoe@test.com" } set Users { name "Public" if name = "Anon" } get Users { name -> Profiles { avatar } } get Posts { rating total_posts: count(id) group rating if count(id) > 10 } delete Users { if id = 1 }