● v0.1 MIT Rust

Fast, vim-native SQL client.

No Electron. No JVM. No bullshit.

Native Rust. Instant startup. Terminal or GUI. MySQL, Postgres, SQLite.

sqeel — shop
Explorer — (6)
> analytics
> billing
v shop
   v users
     id: bigint(20)
     email: varchar
     name: varchar
     status: varchar
     created_at: timestamp
   > orders
   > products
   > sessions
> mysql
> information_schema
scratch_001.sql
select * from shop.users
Results (188 rows)
select * from shop.users

id   is_active  first_name  last_name   email              status
101  true       Ada         Lovelace    ada@sample.com     active
102  true       Grace       Hopper      grace@sample.com   active
103  false      Alan        Turing      alan@sample.com    pending
104  true       Linus       Torvalds    linus@sample.com   active
105  false      Margaret    Hamilton    mh@sample.com      inactive
NORMAL shop :: scratch_001.sql

features

Everything a keyboard-driven DB jockey wants.

01 — CORE

Native Rust

Instant startup. No JVM, no Node, no runtime tax. Small binary, small RSS.

02 — INPUT

First-class vim

Normal/insert/visual/command modes. Search, leader chords, query history via Ctrl+P/Ctrl+N.

03 — UIS

TUI or GUI

sqeel for terminal (ratatui), sqeel-gui for native (iced). Same core, your choice.

04 — DB

MySQL · Postgres · SQLite

Powered by sqlx. Per-file TOML connections, live switcher.

05 — LSP

sqls integration

Completions and diagnostics from any SQL LSP. Errors jump editor to line:col.

06 — SYNTAX

tree-sitter highlighting

Dialect-aware. Fast, accurate, no regex soup.

07 — TABS

Editor tabs

Lazy load, 5-minute RAM eviction. Auto-save SQL buffers, result history, query history.

08 — PANES

tmux-aware nav

Ctrl+HJKL across schema / editor / results. Mouse works everywhere too.

09 — SCHEMA

Schema browser

Expand DB → tables → columns with types inline. Click or keyboard, fuzzy search across objects.

layout

Panes that get out of your way.

Explorer
> shop
> analytics
> billing
> mysql
scratch_001.sql
Editor · 50%
Results (188 rows) · 50%
NORMAL shop :: scratch_001.sql

Results hidden → editor fills the right pane. Query runs → results expand to 50%. Dismiss with q and the editor takes the room back.

No modal dialogs. No context switches. Just panes.

install

One line. Two binaries.

# terminal UI
$ cargo install --git https://github.com/kryptic-sh/sqeel --bin sqeel

# native GUI
$ cargo install --git https://github.com/kryptic-sh/sqeel --bin sqeel-gui
$ git clone https://github.com/kryptic-sh/sqeel
$ cd sqeel
$ cargo build --release

# binaries in target/release/{sqeel,sqeel-gui}
# ~/.config/sqeel/conns/prod.toml
url = "postgres://user:pass@host/db"

# ~/.config/sqeel/conns/local.toml
url = "mysql://localhost/mydb"

# filename = display name in the switcher

keybindings

Press ? for the full map.

Run statementCtrl+Enter
Run all statementsCtrl+Shift+Enter
Connection switcher<leader> c
New scratch tab<leader> n
Fuzzy file picker<leader><leader>
Focus schema / editor / resultsCtrl+H/L/J
Next / prev tabShift+L / Shift+H
Query historyCtrl+P / Ctrl+N
Dismiss resultsq
Quit:q

data

Where your stuff lives.

~/.local/share/sqeel/
queries/# auto-saved SQL buffers (per connection)
results/# last 10 successful results (JSON, per connection)
~/.config/sqeel/
config.toml# editor, LSP, leader key, mouse scroll
conns/# one .toml per connection