RDST is a command-line toolkit for database diagnostics, query analysis, performance tuning, and caching with Readyset. Point it at PostgreSQL or MySQL and it finds your slow queries, explains why they are slow, and shows what an index, a rewrite, or a Readyset cache would do about it.
rdst top— live view of the slowest queries hitting your databaserdst analyze— EXPLAIN-driven analysis with AI index and rewrite recommendations, plus a real Readyset cache benchmark (--readyset-cache)rdst ask— ask questions about your data in natural language; guarded, read-only SQL generationrdst audit/rdst fleet— deep health audits of one database or a whole fleetrdst scan— find ORM queries (SQLAlchemy, Django, Prisma, Drizzle) in your codebase and flag performance issues, deterministic and CI-friendlyrdst demo— try everything against a local demo database in one command- MCP built in —
rdst claude addregisters RDST as an MCP server so Claude Code can use your targets
Prefer an app? RDST Desktop packages the same toolkit with a graphical client for macOS, Windows, and Linux.
Install the RDST CLI on macOS or Linux without sudo, pip, or a preinstalled Python:
curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | shOpen a new shell, then verify the installation:
rdst versionThe installer supports Apple silicon, Intel macOS, and glibc-based x86_64 or arm64 Linux distributions. To install an exact package release:
curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | \
sh -s -- --version 0.1.1589Immutable release scripts and checksums are published under
packages/rdst-cli/versions/VERSION/ on the download origin.
Installer-managed RDST never updates silently. Check for and install updates explicitly:
rdst update --check
rdst updaterdst update installs the exact resolved release and makes no changes when the
installed version is already current.
To uninstall the managed runtime while preserving ~/.rdst configuration:
curl -fsSL https://downloads.readyset.io/packages/rdst-cli/install.sh | \
sh -s -- --uninstallExisting uv and pipx users can continue to use uv tool install rdst or
pipx install rdst; those installations remain managed by their package manager.
Update them with uv tool upgrade rdst or pipx upgrade rdst.
After installing, run
rdst initto configure your first database connection.
Use PowerShell with Python 3.12+ and uv:
cd rdst
uv sync --group dev
uv run rdst version
$env:PROD_DB_PASSWORD = "your-password"RDST stores user data under %USERPROFILE%\.rdst. Interactive editor commands
use EDITOR or VISUAL and fall back to Notepad.
When the Docker CLI talks to a daemon on another machine, configure the daemon network explicitly:
$env:RDST_DOCKER_REMOTE = "1"
$env:RDST_DOCKER_PUBLISHED_HOST = "192.168.122.1"
$env:RDST_DOCKER_UPSTREAM_HOST = "192.168.122.222"RDST_DOCKER_PUBLISHED_HOST is where Windows reaches published container ports.
RDST_DOCKER_UPSTREAM_HOST is where containers reach a database running on the
Windows client. The database must listen on that routable address.
-
Initialize RDST — the wizard walks you through your first target:
rdst init
-
Or configure a database target directly:
rdst configure add --target mydb \ --host db.example.com \ --port 5432 \ --database myapp \ --user postgres \ --password-env MYDB_PASSWORD
Passwords are never stored in config files — RDST reads them from the environment variable you name, or the OS keychain.
-
Watch what's slow:
rdst top --target mydb
-
Analyze a query:
rdst analyze -q "SELECT * FROM users WHERE active = true" --target mydb # Verify with a temporary Readyset performance test rdst analyze -q "SELECT * FROM products ORDER BY created_at" --readyset-cache
-
Audit health — one target or the whole fleet:
rdst audit --target mydb rdst fleet audit --target prod
See the fleet audit docs.
No database handy? rdst demo setup starts a local demo database to explore with.
| Command | Description |
|---|---|
rdst top |
Monitor slow queries in real time |
rdst analyze |
Analyze SQL query performance and caching opportunities |
rdst ask |
Ask questions about your database in natural language |
rdst agent |
Manage and run data agents with safety policies |
rdst init |
First-time setup wizard |
rdst configure |
Manage database targets and connection profiles |
rdst tunnel |
List, close, and test SSH tunnels |
rdst schema |
Manage the semantic layer that improves SQL generation |
rdst query |
Manage the saved-query registry |
rdst guard |
Manage reusable safety policies |
rdst audit |
Run a deep health audit of a database target |
rdst fleet |
Manage and audit database fleets |
rdst scan |
Scan a codebase for ORM queries (experimental) |
rdst demo |
Try RDST with a demo database |
rdst claude |
Register RDST with Claude Code (MCP) |
rdst slack |
Deploy a Slack bot for database queries |
rdst web |
Start the RDST web server and client |
rdst report |
Submit feedback or bug reports |
rdst help |
Show help, or answer a question (rdst help "...") |
rdst update |
Check for and install RDST updates |
rdst version |
Show version information |
Run rdst <command> --help for options and examples.
AI-assisted commands (ask, analyze insights, schema annotate) use your
ANTHROPIC_API_KEY, or a free trial you can start with rdst configure llm.
- Packaged CLI: macOS or a glibc-based Linux distribution on x86_64 or arm64
- Native Windows development: Python 3.12+, uv, and PowerShell
curlorwgetfor the macOS/Linux installer- PostgreSQL or MySQL database access
Readyset is a SQL caching engine that sits between your application and your database, keeping query results up to date as the underlying data changes. Learn more at readyset.io.
MIT License — see LICENSE for details.