A native Postgres workbench for macOS, Linux, and Windows. A Postico replacement, written entirely in TypeScript and compiled to native binaries by Perry.
Tusk — the application: a connection chooser, a multi-window workbench (one window per database), schema sidebar, and the five inspector modes you'd want from a database GUI (Content / Structure / Indexes / Info / Query). Inline editing writes back through generated UPDATE … WHERE pk = $1. Cancellable queries through a separate Postgres backend channel. Structured PgError surfaced everywhere a query can fail.
It runs as a native binary on each desktop OS, not in a webview.
Three small libraries you can use independently or wire together:
| Repo | What it is |
|---|---|
TuskQuery/grid |
Virtualized data grid. Type-aware cell renderers, inline edit. Postgres-agnostic — takes any rows. |
TuskQuery/sql-editor |
Minimal SQL editor with a hand-rolled tokenizer and colorized rendering. |
TuskQuery/app |
The full Tusk application — connection store, schema introspection, all five modes. |
The Postgres wire driver lives next door at PerryTS/postgres (@perry/postgres) — a pure-TypeScript Postgres driver that runs on Node, bun, and Perry-native. It's the same driver Tusk uses; you can use it directly in any other Perry/Node app.
Pre-release. The driver works end-to-end on Perry-native (SCRAM auth, simple + extended-protocol queries, type codecs, transactions). The application is at the scaffold-and-empty-window stage; we're filling in milestones in order — schema sidebar → content mode → query mode → inline edit → packaging.
Track progress in the app repo's spec.
MIT across the board.