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.
Highlights
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
Installation
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 | sh
Open a new shell, then verify the installation:
rdst version
The 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.1589
Immutable 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 update
rdst 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 -- --uninstall
Existing 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.
Native Windows development
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.
Quick start
-
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.
Commands
| 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 account |
Sign in for capped Readyset-hosted AI inference |
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 capped
Readyset-hosted GLM 5.3 Flash after rdst account login. If you set
ANTHROPIC_API_KEY, RDST uses Claude Sonnet 4.6 directly without requiring a
Readyset account. RDST_ANTHROPIC_MODEL can override the Claude BYOK model.
Requirements
- 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
About Readyset
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.
Documentation and support
License
MIT License — see LICENSE for details.
Metadata
Release files for rdst 0.1.2200
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rdst-0.1.2200.tar.gz | 4.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rdst-0.1.2200-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.3 MB
Release files / rdst-0.1.2200.tar.gz
| Download URL | rdst-0.1.2200.tar.gz |
|---|---|
| Size | 4.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b1ade865b0c4244c7f8ceecd3367a80b489d6f0fd1428dbaebdaf72af43b333
|
|
BLAKE2b-256 checksum How to use checksums |
186af27e5f1558494496c40fae81c048a61522c3bf039b3eda9f7884e48a4f74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / rdst-0.1.2200-py3-none-any.whl
| Download URL | rdst-0.1.2200-py3-none-any.whl |
|---|---|
| Size | 3.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c367496f1f6aaa8f8f507ab27418da79a9982c2b5d0837ccc7085619ef07f290
|
|
BLAKE2b-256 checksum How to use checksums |
f0facbd78b962459e7f55425f18aedd413404ef7c4e00b48ba07292258d1b329
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|