How tabularisdb/tabularis works
Tabularis is a desktop SQL workspace with built-in database drivers, installable plugins, and an MCP server for AI clients. The main workflow is a user managing database connections and issuing SQL through the app; a plugin manager loads drivers that provide database access. The tree also shows distinct explain-plan, theme-package, and plugin-authoring capabilities. Source excerpts are selective, so edges for unsampled UI and optional capabilities are marked unverified rather than presented as confirmed calls.
Main entry points: manager.rs Plugin manager · src Workspace UI · useDatabase.ts Database client state · driver.rs Plugin drivers
Components 19
SQL workspace
- Workspace UI
packages/web-ui/src - Connection management
packages/web-ui/src/hooks/useConnectionManager.ts - Query and data tools
packages/web-ui/src - Database client state
packages/web-ui/src/hooks/useDatabase.ts
Database runtime
- Connection operations
src-tauri/src/application/connections.rs - Query execution
src-tauri/src/drivers/common/query.rs - Driver contract
src-tauri/src/drivers/driver_trait.rs - Driver registry
src-tauri/src/drivers/registry.rs - Connection pools
src-tauri/src/pool_manager.rs - Custom data location
src-tauri/src/storage_location.rs
Plugins and themes
- Plugin manager
src-tauri/src/plugins/manager.rs - Plugin drivers
src-tauri/src/plugins/driver.rs - Plugin installation
src-tauri/src/plugins/installer.rs - Driver scaffolding
packages/create-plugin/templates/rust-driver/src/main.rs - Theme packages
src-tauri/src/theme_packages/storage.rs
Interfaces and analysis
- Web server transport
src-tauri/src/transport/web/server.rs - MCP server
src-tauri/src/transport/web - Visual explain
packages/explain/src
Other components
- Database user
Connections 17
- Database user → Workspace UI: uses
README.md - Workspace UI → Connection management: manages connections
packages/web-ui/src/hooks/useConnectionManager.ts - Connection management → Database client state: delegates
packages/web-ui/src/hooks/useConnectionManager.ts - Database client state → Connection operations: requests operations
- Query and data tools → Database client state: uses client
packages/web-ui/src/hooks/useConnectionManager.ts - Connection operations → Connection pools: uses pools
- Query execution → Driver contract: uses driver API
- Plugin manager → Plugin drivers: loads driver
src-tauri/src/plugins/manager.rs - Plugin manager → Plugin installation: uses installer
src-tauri/src/plugins/manager.rs - Plugin manager → Driver registry: registers driver
src-tauri/src/plugins/manager.rs - Plugin drivers → Driver contract: implements driver
- Driver scaffolding → Plugin drivers: scaffolds drivers
README.md - Database user → Theme packages: installs themes
- Workspace UI → Web server transport: connects remotely
- Web server transport → MCP server: exposes MCP
README.md - Query and data tools → Visual explain: visualizes plans
- Custom data location → Database user: configures storage
src-tauri/src/storage_location.rs