How maxteabag/sqlit works
sqlit is a keyboard-driven terminal SQL client with interactive and CLI entry points. Its principal workflow is to select or discover a database, establish a provider-backed connection, explore schema or edit and execute SQL, then inspect and filter results; query history and saved queries support repeat use. Separate product branches cover connection management and cloud/Docker discovery, schema browsing, result handling, and the CLI. The graph reflects README capabilities and sampled query and connection code; wiring for unsampled subsystems is shown only where documented or clearly supported by the repository structure.
Main entry points: connection_flow.py Connection flow · query.py SQL editor · query_service.py Query service · providers Database providers
Components 23
Entry and shell
- CLI commands
sqlit/cli.py - TUI shell
sqlit/domains/shell/app/main.py - Settings
sqlit/domains/shell/store/settings.py
Connections
- Connection screens
sqlit/domains/connections/ui/screens/connection_picker/screen.py - Connection flow
sqlit/domains/connections/app/connection_flow.py - Discovery
sqlit/domains/connections/discovery - Connection manager
sqlit/core/connection_manager.py - Sessions and tunnels
sqlit/domains/connections/app/session.py - Database providers
sqlit/domains/connections/providers - Saved connections
sqlit/domains/connections/store/connections.py
Query workflow
- SQL editor
sqlit/domains/query/ui/mixins/query.py - Query execution UI
sqlit/domains/query/ui/mixins/query_execution.py - Query service
sqlit/domains/query/app/query_service.py - History and library
sqlit/domains/query/store/history.py - SQL completion
sqlit/domains/query/completion/completion.py - Vim editing
sqlit/domains/query/editing
Schema explorer
- Schema tree
sqlit/domains/explorer/ui/tree/builder.py - Schema service
sqlit/domains/explorer/app/schema_service.py
Results
- Result viewing
sqlit/domains/results/ui/mixins/results.py - Filter and export
sqlit/domains/results/ui/mixins/results_filter.py
Other components
- Terminal user
- Database
- Cloud and Docker
Connections 27
- Terminal user → TUI shell: uses TUI
- Terminal user → CLI commands: runs commands
- TUI shell → Connection screens: opens picker
- CLI commands → Connection flow: requests connection
- Connection screens → Connection flow: selects connection
- Connection flow → Discovery: discovers targets
- Cloud and Docker → Discovery: provides targets
- Connection flow → Saved connections: loads and saves
- Connection flow → Connection manager: connects
- Connection manager → Sessions and tunnels: creates session
- Sessions and tunnels → Database providers: uses provider
- Database providers → Database: connects and executes
- TUI shell → Settings: loads preferences
- Terminal user → SQL editor: edits SQL
- SQL editor → Vim editing: uses modal editing
- SQL editor → SQL completion: requests completion
- SQL editor → Query execution UI: executes SQL
- CLI commands → Query service: executes SQL
- Query execution UI → Query service: runs query
- Query service → Database providers: dispatches execution
- Query service → History and library: records queries
- Query execution UI → Result viewing: displays results
- Terminal user → Schema tree: browses schema
- Schema tree → Schema service: loads schema
- Schema service → Database providers: requests metadata
- Terminal user → Filter and export: filters or exports
- Result viewing → Filter and export: offers actions