MCPcopy Index your code
hub / github.com/amalshaji/dbcooper

github.com/amalshaji/dbcooper @v0.0.58

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.58 ↗ · + Follow
863 symbols 2,196 edges 134 files 69 documented · 8%

Browse by type

Functions 723 Types & classes 140
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DBcooper

A database client for PostgreSQL, SQLite, Redis, and ClickHouse, built with Tauri, React, and TypeScript.

dbcooper aggregation

Installation

Download the latest .dmg from Releases.

macOS users: After installing (before opening the app the first time), bypass Gatekeeper since the app isn't notarized:

xattr -cr /Applications/DBcooper.app

Then you can open the app normally.

Features

Check out the full list of features on our documentation site.

FAQ

Find answers to common questions on our documentation site.

Tech Stack

  • Frontend: React + TypeScript + Vite
  • Backend: Rust + Tauri v2
  • Database: SQLite (local storage) + PostgreSQL (connections)
  • UI: shadcn/ui components
  • Package Manager: Bun

Development

Prerequisites

  • Bun - JavaScript runtime and package manager
  • Rust - For Tauri backend
  • macOS 26 (Tahoe) or later

Setup

# Install dependencies
bun install

# Run in development mode
bun run tauri dev

# Build for production
bun run tauri build

AI SQL Generation

To use AI-powered SQL generation:

  1. Go to Settings (gear icon) and configure your OpenAI API settings:
  2. API Key: Your OpenAI API key (required)
  3. Endpoint: Custom endpoint URL (optional, defaults to https://api.openai.com/v1)

  4. In the Query Editor, you'll see an instruction input above the SQL editor:

  5. Type a natural language description (e.g., "show all users with posts from last week")
  6. Click Generate or press Enter
  7. Watch as SQL streams into the editor in real-time

The AI uses GPT-4.1 and has access to your database schema (tables and columns) for accurate query generation.

Building

The app is configured to build for macOS ARM (Apple Silicon). The build process:

  1. Creates optimized production bundles
  2. Signs the app with your signing key
  3. Generates updater artifacts

Releases

Releases are automated via GitHub Actions. To publish a new version:

  1. Update version in src-tauri/tauri.conf.json
  2. Open a PR and add the release label
  3. Merge the PR into main
  4. GitHub Actions will create and push the tag (e.g., v0.0.42), then build a draft release
  5. Review and publish the release

Required Secrets

Set these in your GitHub repository settings:

  • TAURI_SIGNING_PRIVATE_KEY - Contents of your signing key file
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD - Password (if set)

License

MIT

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 626
Method 97
Interface 83
Class 53
Enum 4

Languages

TypeScript54%
Rust46%

Modules by API surface

src/pages/ConnectionDetails.tsx45 symbols
src-tauri/src/database/redis.rs39 symbols
src-tauri/tests/redis_integration_tests.rs32 symbols
src-tauri/tests/sqlite_integration_tests.rs30 symbols
src-tauri/tests/postgres_integration_tests.rs30 symbols
src-tauri/src/commands/database.rs27 symbols
src/components/ui/sidebar.tsx25 symbols
src-tauri/tests/clickhouse_integration_tests.rs25 symbols
src-tauri/src/database/pool_manager.rs24 symbols
src/lib/tauri.ts22 symbols
src-tauri/tests/app_data_tests.rs21 symbols
src-tauri/src/db/models.rs20 symbols

For agents

$ claude mcp add dbcooper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page