qdeck quickstart
Run one command in your project, get a pre-connected database client.
For: developers. Estimated time: 1 minute.
qdeck is the QueryDeck command-line tool. Run it in any project that uses Prisma, Drizzle, TypeORM, Knex, Sequelize, Django, or Rails. It finds your database config, reads the credentials, and opens QueryDeck connected to your project.
Install the CLI
The CLI ships with the app. To install the qdeck command into your PATH, open the QueryDeck app and run:
qdeck --install-cliQueryDeck creates a symlink at /usr/local/bin/qdeck pointing to the binary inside the app bundle. The symlink survives app updates.
You can also install from Settings → Tools in the app, which has the same effect with a button.
To remove the symlink later:
qdeck --uninstall-cliUse it
In any project directory:
qdeckThat's it. qdeck with no arguments scans the current directory, detects the ORM, reads the database URL, and opens QueryDeck connected to the right database.
You'll see something like this in the terminal:
Detected: Prisma
Database: postgresql://user:***@db.example.com:5432/myapp
Config: prisma/schema.prisma
Env: .env
Open QueryDeck with this connection? [Y/n]Press Enter. QueryDeck opens, the connection is already there, and you're in the query editor.
Common commands
# Scan a different folder
qdeck ./apps/api
# Connect to a database URL directly, no scanning
qdeck postgres://user:pass@host:5432/db
# Open a SQLite file directly
qdeck ./data.sqlite
# See what would be detected, without connecting
qdeck --dry-run
# Skip the confirmation prompt
qdeck --yes
# See the full detection trace
qdeck --verbose
# Force a new window even if QueryDeck is already running
qdeck --new-windowSupported ORMs
| ORM | Config file we read |
|---|---|
| Prisma | schema.prisma or prisma.config.ts |
| Drizzle | drizzle.config.ts / drizzle.config.js |
| TypeORM | data-source.ts / ormconfig.json |
| Knex | knexfile.js / knexfile.ts / knexfile.mjs |
| Sequelize | config/config.json or .sequelizerc |
| Django | settings.py (the DATABASES dict) |
| Rails | config/database.yml |
When qdeck finds an ORM, it parses the config, resolves environment variables from .env, .env.local, .env.development, and similar files, and hands the result to QueryDeck.
If no ORM matches, qdeck falls back to scanning .env files for any variable that looks like a database URL (DATABASE_URL, DB_URL, POSTGRES_URL, etc.) and uses the first one it finds.
Monorepos
qdeck walks up from the current directory until it finds a project root (a .git, package.json, Cargo.toml, or similar marker). In a monorepo, run it inside the sub-package that actually has the DB config:
cd packages/api
qdeckIf the same monorepo has multiple databases (one per service), qdeck lists them all in --verbose mode. You pick one in the confirmation prompt.
What's next
- CLI overview for the full command reference
- ORM detection details for what each detector reads
- Drift Mode which uses the same ORM parsing for schema diffs
- MCP install to hook your AI editor (Claude, Cursor, Zed) into the same connections