id = "dblab"
name = "dblab"
homepage = "https://github.com/danvergara/dblab"
description = "The database client every command-line junkie deserves."
executables = ["dblab"]
[dotfiles]
paths = []
secret = ["~/.dblab.yaml", "[configHome]/.dblab.yaml"]
[commands]
format = 1
label = "Connect to a database"
description = "Open the dblab TUI against a database by host and credentials or by URL. SSH tunnel, SSL and config-file options are left out; the password is typed into the command, so prefer a URL or config file for real secrets."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/danvergara/dblab#usage"
revision = "master 2026-10-27"
evidence = """
--db string Database name
--driver string Database driver
--host string Server host name or IP
--limit uint Size of the result set for the table content query (should be greater than zero, otherwise the app will error out) (default 100)
--pass string Password for user
--port string Server port
--schema string Database schema (optional for postgres and oracle only)
--socket string Path to a Unix socket file
-u, --url string Database connection string
--user string Database user
--readonly Forces a read-only connection with the target database
--config Get the connection data from a config file (default locations are: current directory, $HOME/.dblab.yaml or $XDG_CONFIG_HOME/.dblab.yaml)
"""
[[commands.field]]
id = "driver"
label = "Driver"
type = "string"
option = ["--driver"]
suggestions = [{ value = "postgres", label = "PostgreSQL" }, { value = "mysql", label = "MySQL" }, { value = "sqlite", label = "SQLite" }]
sources = ["help"]
[[commands.field]]
id = "host"
label = "Host"
type = "string"
option = ["--host"]
sources = ["help"]
[[commands.field]]
id = "port"
label = "Port"
type = "string"
option = ["--port"]
sources = ["help"]
[[commands.field]]
id = "user"
label = "User"
type = "string"
option = ["--user"]
sources = ["help"]
[[commands.field]]
id = "pass"
label = "Password"
description = "Visible in shell history and process list."
type = "string"
option = ["--pass"]
sources = ["help"]
[[commands.field]]
id = "db"
label = "Database name"
type = "string"
option = ["--db"]
sources = ["help"]
[[commands.field]]
id = "schema"
label = "Schema"
description = "Optional, postgres and oracle only."
type = "string"
option = ["--schema"]
sources = ["help"]
[[commands.field]]
id = "url"
label = "Connection URL"
type = "string"
option = ["--url", "-u"]
sources = ["help"]
[[commands.field]]
id = "socket"
label = "Unix socket"
type = "path"
option = ["--socket"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "readonly"
label = "Read-only connection"
type = "boolean"
option = ["--readonly"]
sources = ["help"]
[[commands.field]]
id = "limit"
label = "Row limit"
description = "Rows fetched for table content; default 100."
type = "integer"
option = ["--limit"]
sources = ["help"]
[[commands.field]]
id = "config"
label = "Use config file"
type = "boolean"
option = ["--config"]
sources = ["help"]
[[commands.task]]
id = "url"
label = "Connect with URL"
fields = ["url", "readonly"]
required = ["url"]
[[commands.task]]
id = "host"
label = "Connect by host"
fields = ["driver", "host", "port", "user", "db", "readonly"]
required = ["driver", "host", "user", "db"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["driver", "host", "port", "user", "db", "url", "readonly"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["pass", "schema", "socket", "limit", "config"]