The Problem
Database teams juggle multiple clients for different engines—Postgres, MySQL, SQLite, MongoDB, Redis, and others each have their own tooling with inconsistent interfaces, heavy resource footprints, and no unified way to query or manage them. Adding AI-assisted querying typically means bolting on separate plugins or services.
What This Does
WhoDB is a lightweight database explorer covering eight database engines with a chat interface for natural-language queries. The repo splits into two Go codebases: cli/ contains the terminal UI and command-line interface, while core/ holds the BAML-based AI layer (core/bamlsrc/sqlchat.baml) that translates natural language to SQL. The CLI includes an MCP server (cli/pkg/mcp/server.go) for AI tool integration and a TUI built with Bubble Tea (cli/internal/tui/).
The project ships as a desktop app, Docker container, and CLI distributed via npm packages (cli/npm-package/packages/). CI/CD is extensive—38 workflow files under .github/workflows/ handle builds and deployments across Windows, macOS, Linux, Snap, and Docker.
How To Use It
Setup: Docker is the fastest path. Build from cli/Dockerfile or pull the published image. For local development, cli/Makefile defines targets and cli/go.mod pins dependencies.
Configuration: Connection credentials go through the TUI or CLI flags in cli/cmd/connect.go. The AI chat feature requires an LLM provider (Ollama, OpenAI, or Anthropic) configured per the README.
Running it: Start the Docker container or run go run main.go from cli/. The CLI entry point is cli/main.go; interactive commands live in cli/cmd/ (query.go, connect.go, tables.go). The npm package provides a whodb-cli binary wrapper.
Docker
docker build -f cli/Dockerfile -t whodb . docker run -p 8080:8080 whodb
Local development
cd cli && go run main.go
Real-World Use
A developer debugging a production incident can connect to a Postgres instance via the TUI, run \schema users to inspect the schema, then ask the chat interface "show me all users who signed up last week with failed payments" instead of writing the JOIN manually. The query builder skill (cli/skills/query-builder/SKILL.md) scaffolds complex queries, and results export to CSV/JSON via cli/cmd/export.go.
Code Health & Issues
Med - Test coverage is uneven: 28 test files exist but focus heavily on TUI views and MCP; the database manager (cli/internal/database/manager.go) has only one test file, leaving multi-engine query paths under-tested. Med - Large CI surface, single maintainer risk: 38 workflow files for a 5,000-star project suggest significant deployment complexity; failures in Apple signing or Snap publishing could block releases. Low - Duplicate agent definitions: cli/agents/ and cli/external-plugin/whodb/agents/ contain the same three agent files, risking drift between versions. Low - Platform-specific binaries via npm: Six separate npm packages (whodb-cli-darwin-arm64, etc.) require coordinated version bumps across all platforms.
The repo is otherwise well-structured: Go modules are properly organized, MCP server has validation logic (cli/pkg/mcp/validation.go), and CI includes code review workflows.
The Bottom Line
WhoDB is a solid multi-database explorer with genuine AI integration and impressive cross-platform packaging. The Go codebase is clean and the TUI architecture is well-factored. Teams already using multiple database engines will find the unified interface valuable, though the extensive CI pipeline suggests maintenance overhead best suited to an active maintainer.