{
  "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
    },
    "source": [
      {
        "id": "help",
        "kind": "help",
        "url": "https://github.com/danvergara/dblab#usage",
        "revision": "master 2026-10-27",
        "evidence": "      --db string                         Database name\n      --driver string                     Database driver\n      --host string                       Server host name or IP\n      --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)\n      --pass string                       Password for user\n      --port string                       Server port\n      --schema string                     Database schema (optional for postgres and oracle only)\n      --socket string                     Path to a Unix socket file\n  -u, --url string                        Database connection string\n      --user string                       Database user\n      --readonly                            Forces a read-only connection with the target database\n      --config                            Get the connection data from a config file (default locations are: current directory, $HOME/.dblab.yaml or $XDG_CONFIG_HOME/.dblab.yaml)\n"
      }
    ],
    "field": [
      {
        "id": "driver",
        "label": "Driver",
        "type": "string",
        "option": [
          "--driver"
        ],
        "suggestions": [
          {
            "value": "postgres",
            "label": "PostgreSQL"
          },
          {
            "value": "mysql",
            "label": "MySQL"
          },
          {
            "value": "sqlite",
            "label": "SQLite"
          }
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "host",
        "label": "Host",
        "type": "string",
        "option": [
          "--host"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "port",
        "label": "Port",
        "type": "string",
        "option": [
          "--port"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "user",
        "label": "User",
        "type": "string",
        "option": [
          "--user"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "pass",
        "label": "Password",
        "description": "Visible in shell history and process list.",
        "type": "string",
        "option": [
          "--pass"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "db",
        "label": "Database name",
        "type": "string",
        "option": [
          "--db"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "schema",
        "label": "Schema",
        "description": "Optional, postgres and oracle only.",
        "type": "string",
        "option": [
          "--schema"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "url",
        "label": "Connection URL",
        "type": "string",
        "option": [
          "--url",
          "-u"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "socket",
        "label": "Unix socket",
        "type": "path",
        "option": [
          "--socket"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "readonly",
        "label": "Read-only connection",
        "type": "boolean",
        "option": [
          "--readonly"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "limit",
        "label": "Row limit",
        "description": "Rows fetched for table content; default 100.",
        "type": "integer",
        "option": [
          "--limit"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "config",
        "label": "Use config file",
        "type": "boolean",
        "option": [
          "--config"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "url",
        "label": "Connect with URL",
        "fields": [
          "url",
          "readonly"
        ],
        "required": [
          "url"
        ]
      },
      {
        "id": "host",
        "label": "Connect by host",
        "fields": [
          "driver",
          "host",
          "port",
          "user",
          "db",
          "readonly"
        ],
        "required": [
          "driver",
          "host",
          "user",
          "db"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "driver",
          "host",
          "port",
          "user",
          "db",
          "url",
          "readonly"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "pass",
          "schema",
          "socket",
          "limit",
          "config"
        ]
      }
    ]
  }
}
