https://github.com/amalshaji/dbcooper
A database client for PostgreSQL, SQLite, Redis, and ClickHouse, built with Tauri, React, and TypeScript.
https://github.com/amalshaji/dbcooper
clickhouse database database-management postgresql redis sqlite sqlite3
Last synced: 3 months ago
JSON representation
A database client for PostgreSQL, SQLite, Redis, and ClickHouse, built with Tauri, React, and TypeScript.
- Host: GitHub
- URL: https://github.com/amalshaji/dbcooper
- Owner: amalshaji
- License: mit
- Created: 2025-12-21T06:32:22.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-01-25T21:11:00.000Z (3 months ago)
- Last Synced: 2026-01-25T21:34:05.612Z (3 months ago)
- Topics: clickhouse, database, database-management, postgresql, redis, sqlite, sqlite3
- Language: TypeScript
- Homepage: https://dbcooper.amal.sh
- Size: 13.6 MB
- Stars: 75
- Watchers: 0
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# DBcooper
A database client for PostgreSQL, SQLite, Redis, and ClickHouse, built with Tauri, React, and TypeScript.


## Installation
Download the latest `.dmg` from [Releases](https://github.com/amalshaji/dbcooper/releases).
**macOS users:** After installing (**before opening the app the first time**), bypass Gatekeeper since the app isn't notarized:
```bash
xattr -cr /Applications/DBcooper.app
```
Then you can open the app normally.
## Features
Check out the full list of features on our [documentation site](https://dbcooper.amal.sh/#features).
## FAQ
Find answers to common questions on our [documentation site](https://dbcooper.amal.sh/#faq).
## 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](https://bun.sh/) - JavaScript runtime and package manager
- [Rust](https://www.rust-lang.org/) - For Tauri backend
- macOS 26 (Tahoe) or later
### Setup
```bash
# 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:
- **API Key**: Your OpenAI API key (required)
- **Endpoint**: Custom endpoint URL (optional, defaults to `https://api.openai.com/v1`)
2. In the **Query Editor**, you'll see an instruction input above the SQL editor:
- Type a natural language description (e.g., "show all users with posts from last week")
- Click **Generate** or press Enter
- 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