{"id":50278940,"url":"https://github.com/novexdb/novexdb","last_synced_at":"2026-06-03T21:00:16.998Z","repository":{"id":360779125,"uuid":"1251637755","full_name":"novexdb/novexdb","owner":"novexdb","description":"A modern database client with AI built in. Free forever, bring your own AI key.","archived":false,"fork":false,"pushed_at":"2026-05-27T21:53:44.000Z","size":817,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T23:22:43.255Z","etag":null,"topics":["ai","claude","database","database-gui","desktop-app","electron","mysql","openai","postgres","react","sql-client","typescript"],"latest_commit_sha":null,"homepage":"https://novexdb.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/novexdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-27T19:20:17.000Z","updated_at":"2026-05-27T21:53:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/novexdb/novexdb","commit_stats":null,"previous_names":["novexdb/novexdb"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/novexdb/novexdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novexdb%2Fnovexdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novexdb%2Fnovexdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novexdb%2Fnovexdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novexdb%2Fnovexdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/novexdb","download_url":"https://codeload.github.com/novexdb/novexdb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/novexdb%2Fnovexdb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33878990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","database","database-gui","desktop-app","electron","mysql","openai","postgres","react","sql-client","typescript"],"created_at":"2026-05-27T23:01:35.317Z","updated_at":"2026-06-03T21:00:16.970Z","avatar_url":"https://github.com/novexdb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo/icon.svg\" alt=\"NovexDB logo\" width=\"128\" height=\"128\" /\u003e\n\n  \u003ch1\u003eNovexDB\u003c/h1\u003e\n\n  \u003cp\u003e\u003cstrong\u003eA modern database client. Fast queries. AI that actually understands them.\u003c/strong\u003e\u003c/p\u003e\n\n  \u003cp\u003e\n    Native desktop client for \u003cstrong\u003ePostgreSQL\u003c/strong\u003e, \u003cstrong\u003eMySQL\u003c/strong\u003e,\n    \u003cstrong\u003eSQLite\u003c/strong\u003e, and \u003cstrong\u003eSQL Server\u003c/strong\u003e. Browse and edit\n    tables inline, write SQL with autocomplete, and audit your whole database\n    with one click — AI that explains every finding in plain English.\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"#download\"\u003e\u003cimg alt=\"downloads\" src=\"https://img.shields.io/badge/download-macOS%20%C2%B7%20Windows%20%C2%B7%20Linux-blue\" /\u003e\u003c/a\u003e\n    \u003ca href=\"#license\"\u003e\u003cimg alt=\"license\" src=\"https://img.shields.io/badge/license-MIT-green\" /\u003e\u003c/a\u003e\n    \u003ca href=\"#tech-stack\"\u003e\u003cimg alt=\"built with\" src=\"https://img.shields.io/badge/built%20with-Electron%20%C2%B7%20React%20%C2%B7%20TypeScript-7c3aed\" /\u003e\u003c/a\u003e\n    \u003cimg alt=\"version\" src=\"https://img.shields.io/badge/version-0.1.0%20%C2%B7%20early%20access-orange\" /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## Why NovexDB?\n\nMost SQL clients fall into one of two buckets: **fast but ugly** (DBeaver, pgAdmin) or **beautiful but expensive** (TablePlus, DataGrip). NovexDB aims for the third option — beautiful, fast, *and* free forever — and goes further by giving every connection a built-in AI auditor that can read your schema, find data-quality issues, explain query errors, and write SQL from plain English.\n\n**Two things make NovexDB different:**\n\n1. **AI built in, bring your own key.** Plug in your Anthropic or OpenAI API key once. Every feature — NL→SQL, query explain, optimization, error rescue, full-database audit — runs through *your* key. No middleman, no rate limits we control, no data sent to a NovexDB server (we don't have one).\n\n2. **It runs everything locally.** Every connection is a direct socket from your machine to your database. The only outbound network traffic is to whichever LLM provider you configure. No telemetry, no analytics, no \"phone home.\"\n\n## Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🗄️ Database client\n- **Multi-engine**: Postgres, MySQL, SQLite, SQL Server\n- **Schema explorer** with right-click actions everywhere\n- **Editable data grid** — inline edit, multi-row delete, undo\n- **SQL editor** with Monaco, schema-aware autocomplete, and one-key formatting\n- **Streaming dump imports** — gigabyte `.sql` files in one click\n- **Drag-and-drop tabs**, persisted workspaces per connection\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🤖 AI built in\n- **Bring-your-own-key** for Claude (Sonnet 4.6 / Opus 4.7 / Haiku 4.5) or OpenAI (GPT-5 / mini / nano)\n- **Natural language → SQL** with full schema context\n- **One-click Explain, Optimize, Error-rescue** on any query\n- **Database-wide AI audit** — schema, performance, data quality, transactions, security\n- **Streaming chat** with the AI about your database\n- **Prompt caching** so re-runs cost ~10× less\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🛡️ Safety\n- **Type-`DELETE`-to-confirm** before destructive operations\n- **Transactional cell edits** — every change in a pending transaction until you commit\n- **SQL safety analyzer** flags missing `WHERE` on `DELETE`/`UPDATE`\n- **Encrypted credential store** — connections + API keys live in the OS keychain\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🎨 Modern UI\n- Native title bar on macOS, custom on Win/Linux\n- **Dark + light themes** with semantic tokens\n- **Framer Motion** transitions, **TanStack Virtual** rows\n- **Auto-updates** via electron-updater\n- **Zero telemetry** — what stays on your machine, stays on your machine\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Download\n\n\u003e ⚠️ **Early access.** v0.1 is rough around some edges. File issues if you find them.\n\nGrab the latest installer for your platform from the [Releases page](https://github.com/novexdb/novexdb/releases):\n\n| Platform | File |\n|---|---|\n| macOS (Apple Silicon) | `NovexDB-x.y.z-arm64.dmg` |\n| macOS (Intel) | `NovexDB-x.y.z-x64.dmg` |\n| Windows | `NovexDB-x.y.z-setup.exe` |\n| Linux | `NovexDB-x.y.z.AppImage` or `.deb` |\n\nOnce installed, the app will silently check for updates on a schedule you control in *Settings → Updates*.\n\n---\n\n## Quick start\n\n1. **Download + install** the app for your OS.\n2. **Add a connection**: click **+** in the connections rail → fill in host, database, user, password → **Test**.\n3. **Pick an AI provider** (optional but recommended): **Settings → AI** → choose Anthropic Claude or OpenAI GPT → paste your API key → **Test connection**.\n4. **Open the AI dashboard** with the ✨ button in the explorer toolbar to run a full audit.\n\nThat's it. The connection is yours, the key is yours, the data never leaves your machine except for whatever you send to the LLM.\n\n---\n\n## Building from source\n\n### Prerequisites\n\n- **Node.js** 20 or 22 (we test against 22 LTS)\n- **npm** 10+\n- macOS, Windows, or Linux\n\n### Setup\n\n```bash\ngit clone https://github.com/novexdb/novexdb.git\ncd novexdb\nnpm install\n```\n\nThe `postinstall` hook patches the local Electron bundle so the dev app shows the right name + icon in the macOS Dock. Safe to re-run.\n\n### Run in dev mode\n\n```bash\nnpm run dev\n```\n\nElectron-vite spins up the renderer at `http://localhost:5189` and launches Electron pointing at it. Hot-reload works for the renderer; main-process changes need a `Cmd+R` (or restart the dev server).\n\n### Run the tests\n\n```bash\nnpm run typecheck    # tsc in both main + renderer\nnpm run lint         # ESLint\nnpm run test:run     # Vitest — 200+ unit tests\n```\n\n### Regenerate the app icon\n\nThe source SVG lives in [`assets/logo/icon.svg`](assets/logo/icon.svg). Edit it, then:\n\n```bash\nnpm run icons        # rasterises every size, packs .icns + .ico\n```\n\n### Package for release\n\nReleases are cut automatically by [`.github/workflows/release.yml`](.github/workflows/release.yml) on every push to `main`:\n\n1. The workflow bumps the patch version (`0.1.0` → `0.1.1`), commits + tags.\n2. A matrix job builds macOS (arm64 + x64) and Windows (x64) in parallel.\n3. Installers + the `latest-mac.yml` / `latest.yml` manifests electron-updater reads are uploaded to a new [GitHub Release](https://github.com/novexdb/novexdb/releases).\n4. Installed copies of the app poll GitHub on their normal schedule (default: every 60 min) and offer the update.\n\nTo ship a **major or minor** bump instead of a patch, edit `package.json`'s `version` manually before pushing — CI sees the bumped value and ships that.\n\nTo build locally without releasing:\n\n```bash\nnpm run build:mac    # writes dist/NovexDB-x.y.z-arm64.dmg + .zip\nnpm run build:win\nnpm run build:linux\n```\n\nSee [`docs/signing.md`](docs/signing.md) for code-signing + notarization setup.\n\n\u003e The marketing site (novexdb.app) source lives in a private repo: [novexdb/website](https://github.com/novexdb/website).\n\n---\n\n## Project structure\n\n```\nnovexdb/\n├── src/\n│   ├── main/              # Electron main process (Node + Electron APIs)\n│   │   ├── services/      # connection-manager, AI service, updater, etc.\n│   │   └── ipc/           # registerHandler / registerQuery wiring\n│   ├── preload/           # contextBridge — the typed IPC bridge\n│   ├── renderer/          # React app (Vite-bundled)\n│   │   ├── features/      # connections, editor, table-data, ai, intelligence-dashboard, …\n│   │   ├── components/    # shared UI primitives (Button, Modal, Tooltip, …)\n│   │   └── stores/        # Zustand stores\n│   └── shared/            # types + IPC contract used by all three\n├── assets/logo/           # source SVGs for the app icon + wordmark\n├── build/                 # generated platform icons (.icns / .ico / .png)\n├── .github/workflows/     # CI (typecheck + lint + tests) + Release (build + publish)\n├── docs/                  # signing, longer-form contributor docs\n└── scripts/               # generate-icons.mjs, patch-electron-bundle.mjs\n```\n\n---\n\n## Tech stack\n\n**Desktop app**: Electron 38 · electron-vite · React 19 · TypeScript · Tailwind v4 · Zustand · Monaco · TanStack Virtual · Framer Motion · ECharts · electron-updater · electron-log\n\n**Database drivers**: `pg`, `mysql2`, `mssql`, `better-sqlite3` (planned), plus `pg-copy-streams` for COPY-mode imports\n\n**AI**: `@anthropic-ai/sdk`, `openai` — both providers behind a single `LlmProvider` interface\n\n**Website**: Next.js 15 · React 19 · Tailwind v4\n\n**Tooling**: ESLint 9 (flat config), Vitest 4, Prettier, TypeScript strict\n\n---\n\n## Roadmap\n\n### ✅ Shipped in v0.1\n\n- Postgres + MySQL connection management\n- Schema explorer with right-click everywhere\n- Editable data grid with transactional edits\n- Monaco-powered SQL editor with autocomplete\n- AI: NL→SQL, Explain, Optimize, Error-rescue, Analyze, Chat (both Claude + OpenAI)\n- Intelligence dashboard with health scores\n- New-table creation modal with foreign-key support\n- Auto-updates via electron-updater\n- Streaming SQL dump imports\n\n### 🚧 In progress\n\n- SQLite + SQL Server first-class support\n- Connected-transaction \"smart delete\" UI (the scanner is built, the UI is hidden behind a feature flag)\n- Anomalies dashboard\n- PDF / Excel scan-report export\n\n### 💭 Considering\n\n- ERD diagram view\n- Saved query library + sharing\n- Composite-FK support in the table builder\n- Team mode with shared connection vault\n\nVote on what's next by 👍-ing GitHub issues!\n\n---\n\n## Contributing\n\nIssues, PRs, and bug reports are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for the basics.\n\nA few quick rules:\n\n1. **Open an issue first** for anything bigger than a typo or a one-line fix, so we can align on direction before you spend hours on a PR.\n2. **Run `npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test:run`** before opening the PR — CI runs all three.\n3. **Match the surrounding style.** No new code style debates, this is a one-person project right now.\n4. **No new top-level dependencies** without justification — every npm package added is one more thing to audit.\n\n---\n\n## License\n\n[MIT](LICENSE) © Asif Saheer\n\n---\n\n## Acknowledgments\n\n- Built with [Electron](https://www.electronjs.org/), [Vite](https://vitejs.dev/), and [electron-vite](https://electron-vite.org/)\n- AI integration uses the official [Anthropic SDK](https://github.com/anthropics/anthropic-sdk-typescript) and [OpenAI SDK](https://github.com/openai/openai-node)\n- Icons by [Lucide](https://lucide.dev/)\n- Code editor by [Monaco](https://microsoft.github.io/monaco-editor/)\n- Initial scaffolding + a lot of the AI plumbing was paired with [Claude Code](https://claude.com/claude-code)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eMade with ☕ and a healthy distrust of slow SQL clients.\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovexdb%2Fnovexdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnovexdb%2Fnovexdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnovexdb%2Fnovexdb/lists"}