Skip to content

Repository files navigation

TableCraft logo

TableCraft

A desktop database IDE in the spirit of JetBrains DataGrip

Connections, a database explorer, SQL consoles with schema-aware completion, a result grid, a table data editor, DDL and SQL generation, query history and EXPLAIN plans. Databases are reached through datasource plugins loaded at runtime.

Release License Built with TypeScript Built with Electron CI Downloads

Releases · Documentation · Contributing · Report a bug

Supported databases · Highlights · Install · Quick start · How it works · Agents · License

TableCraft.mp4

Supported databases

Database Plugin Since
SQLite In the box v0.1.0
MySQL, MariaDB, TiDB In the box v0.1.0
PostgreSQL npm v0.1.0
Redis npm v1.3.0
Oracle npm v1.11.0
SQL Server, Azure SQL npm v1.11.0
etcd npm v1.18.0
DuckDB npm v1.28.0

In the box means the plugin ships inside the app and works offline; the others download from npm the first time you add such a data source (Plugins).

Highlights

  • DataGrip's keymap and layout: tool windows, ⇧⇧ Search Everywhere, ⇧⌘A Find Action, and the chords your hands already know.
  • Import your connections: from DataGrip, TablePro, MySQL Workbench or Beekeeper Studio, with SSH tunnels, folders and colours.
  • An MCP server for AI agents: Claude Code, OpenCode or Cursor list schemas and run queries; each data source starts off, and writes wait for your approval.
  • Completion that knows your schema: tables after FROM, whole join conditions after JOIN, and the columns of an alias after o..
  • A table editor that shows its SQL: edit cells, add and delete rows, preview the statements, and submit them in one transaction.
  • An ER diagram that guesses missing keys: a schema's tables and keys, with the customer_id columns a database never declared drawn dashed; hide a wrong guess, add a missed one.
  • Explain Plan as a tree: estimated and actual rows, costs and timings; Explain Analyse asks before it runs a write.
  • Query history and a Services tree: every statement you ran, per data source, with its outcome, row count and duration.
  • Large results stay responsive: rows stay in the engine process and the grid reads windows of them, so a million-row result does not freeze the window.
  • Themes, fonts and density: Dark, Light, High contrast, 43 ported themes such as Gruvbox, Nord and Solarized, or your own theme file, three font roles, and a compact layout.
  • Redis, standalone and Cluster: a key tree that scans instead of blocking, typed key tabs with guarded edits, a redis-cli console with completion from the server, and a Server tab.
  • etcd, from keys to cluster: guarded key editing with history and merge, leases, live Watch, members and maintenance, users and roles, and a visual transaction builder.
  • Oracle without the Instant Client: schemas, packages and their members in the tree, DBMS_OUTPUT in Output, every SQL function of the manual in completion, sessions and plans.
  • Plugins for any database: PostgreSQL, MySQL, SQLite, Oracle and SQL Server are plugins, loaded the same way yours would be. SQLite and MySQL come in the box; PostgreSQL, Oracle, SQL Server, DuckDB (Parquet and csv.zst files too), Redis and etcd download the first time you need them.

Install

Download the latest build for your platform below, or pick any version on the Releases page. Once installed, TableCraft updates itself.

Platform Download
macOS (Apple silicon) TableCraft-arm64.dmg
macOS (Intel) TableCraft-x64.dmg
Windows x64 TableCraft-x64.exe
Linux x64 TableCraft-x86_64.AppImage

The builds are not signed with a paid certificate, so the first launch needs one extra step:

  • macOS: see Running the unsigned macOS app.
  • Windows: SmartScreen says Windows protected your PC; click More info, then Run anyway.
  • Linux: make the AppImage executable with chmod +x TableCraft-*.AppImage and run it.

Quick start

  1. Press ⌘N (Ctrl+N) in the Database pane, or pick New Data Source… from the data source widget in the toolbar, and choose PostgreSQL, MySQL, SQLite or Oracle. PostgreSQL and Oracle show Download the first time: TableCraft fetches the plugin, then opens the form (Databases in the box and on demand).
  2. Fill in the connection, click Test Connection, then OK. The data source appears in the Database tree.
  3. Select it and press ⇧⌘L (Ctrl+Shift+L) to open a console. Type a query and press ⌘↩ (Ctrl+Enter) to run the statement at the caret.
  4. Select a table in the tree and press F4 to open its data in the table editor.

How it works

TableCraft runs three kinds of process. The main process owns windows, menus and saved settings, and holds no database state. Each connected data source gets its own engine, an Electron utility process that loads the plugin and runs the queries, so a slow or crashing driver takes down one data source, not the app. The renderer is a pure view that talks to the engine over a MessagePort. Result rows stay in the engine; the grid reads windows of them, and sorting, copying and exporting happen there too. Everything a dialect knows about SQL, from splitting statements to completion and EXPLAIN, lives in its plugin, and the built-in plugins load through the same runtime loader as user plugins. The specification describes the whole of v1, and docs/decisions records why it is built this way.

Documentation

Using TableCraft

  • Install: the installers, opening the unsigned macOS app, updates, and building from source.
  • Connections: data sources, SSH tunnels, SSL, and importing them from DataGrip, TablePro, MySQL Workbench or Beekeeper Studio.
  • Database explorer: the tree, DDL and SQL generation, the ER diagram, and running a routine.
  • SQL console: running statements, transactions, inspections and Explain.
  • Completion and navigation: schema-aware completion, navigation and snippets.
  • Results and table data: the result grid, the table data editor and import.
  • History, sessions and the log: query history, the Services tree, server sessions and the app log.
  • Agents (MCP): letting an AI agent query your data sources.
  • Where your data lives: the profile folder, passwords, and what TableCraft sends over the network.

Databases

  • Plugins: which databases ship in the box and which download on demand.
  • Redis: the key tree, key tabs, the command console and the Server tab.
  • etcd: revision-guarded keys, leases, Watch and cluster administration.
  • Oracle: connecting without the Instant Client, and what differs from SQL databases.
  • DuckDB: database files, Parquet and CSV files, file locks and transactions.

Customising

Extending

  • Writing plugins: the manifest, capabilities, plugin API compatibility and the contract suite.

Not in v1

  • Later: ER diagrams, schema compare and migrations, XLSX and JSON import, a plugin marketplace, a MongoDB plugin, a CLI, AI assistance, Git integration, a debugger, notebooks, Docker and Kubernetes integration.

Contributing

Bug reports and pull requests are welcome. CONTRIBUTING.md covers setting up, which tests a change needs and the rules review checks; AGENTS.md is the full reference for commands and conventions, and RELEASING.md is how a maintainer cuts a release.

License

MIT

Database logos come from Simple Icons (CC0). The names and logos are trademarks of their owners, shown only to say which database a data source is; their use implies no endorsement.