{"id":46388054,"url":"https://github.com/rithprohos/vibe-db","last_synced_at":"2026-03-14T15:22:41.491Z","repository":{"id":341794676,"uuid":"1171507697","full_name":"Rithprohos/Vibe-DB","owner":"Rithprohos","description":"Paid database tools made sense before AI.  Now a solo dev with agents can build  the same thing in weeks — and give it away free.  That's VibeDB.","archived":false,"fork":false,"pushed_at":"2026-03-07T15:29:25.000Z","size":9874,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-07T15:31:13.380Z","etag":null,"topics":["cambodia","database-gui","database-management","database-tool","developer-tools","khmer","rust","sql","sqlite","tauri"],"latest_commit_sha":null,"homepage":"","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/Rithprohos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-03T10:01:16.000Z","updated_at":"2026-03-07T15:29:12.000Z","dependencies_parsed_at":"2026-03-09T12:00:58.999Z","dependency_job_id":null,"html_url":"https://github.com/Rithprohos/Vibe-DB","commit_stats":null,"previous_names":["rithprohos/vibe-db"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Rithprohos/Vibe-DB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rithprohos%2FVibe-DB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rithprohos%2FVibe-DB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rithprohos%2FVibe-DB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rithprohos%2FVibe-DB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rithprohos","download_url":"https://codeload.github.com/Rithprohos/Vibe-DB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rithprohos%2FVibe-DB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30294680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T11:12:22.024Z","status":"ssl_error","status_checked_at":"2026-03-09T11:10:54.577Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cambodia","database-gui","database-management","database-tool","developer-tools","khmer","rust","sql","sqlite","tauri"],"created_at":"2026-03-05T08:11:12.421Z","updated_at":"2026-03-14T15:22:41.473Z","avatar_url":"https://github.com/Rithprohos.png","language":"TypeScript","readme":"# VibeDB\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./app-icon.png\" alt=\"VibeDB Logo\" width=\"120\" height=\"120\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./README.md\"\u003e\u003cb\u003eOverview\u003c/b\u003e\u003c/a\u003e \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"./ROADMAP.md\"\u003eRoadmap\u003c/a\u003e \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"https://github.com/Rithprohos/vibe-db/releases\"\u003eReleases\u003c/a\u003e \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"./LICENSE\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Desktop database management for developers who want speed, clarity, and production-aware safety.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./screenshot/screen-shot-1.png\" alt=\"VibeDB Screenshot\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## Product Story\n\nVibeDB is a desktop database manager built for real working sessions: browsing tables, shaping schemas, editing rows, running SQL, and moving carefully when a connection points at production.\n\nIt is designed to feel like a sharp devtool, not a bloated admin panel. Dense layouts, direct interactions, and visible safety rails are part of the product.\n\n## Core Values\n\n- **Move fast, stay sharp** - Production access should stay usable, but never casual.\n- **Local-first trust** - Connections, preferences, and credentials stay in native desktop storage flows instead of living in the browser.\n- **Dense developer workflow** - Keyboard-first navigation, multi-tab work, and compact surfaces keep the tool focused on throughput.\n- **Safety as product** - Guardrails are visible, deliberate, and part of everyday usage instead of being buried behind configuration.\n\n## Why Teams Reach For VibeDB\n\n- **Production-aware query policy** - VibeDB sits between unrestricted SQL editors and fully read-only modes. Production-tagged connections remain usable, while destructive statements are blocked or explicitly confirmed.\n- **Transactional editing** - Multi-row changes are staged and committed as a single atomic operation instead of becoming a fragile sequence of ad hoc updates.\n- **Visual schema workflows** - Tables and views can be created through a polished builder with real-time SQL preview, while the schema canvas helps explore relationships quickly.\n- **Fast table navigation** - Large results, logs, and sidebar lists stay responsive through virtualization and compact UI patterns.\n- **Built-in query workflow** - SQL editing, saved queries, execution results, and schema refresh behavior live in one place instead of being scattered across modal-heavy flows.\n- **Local secret handling** - Sensitive credentials are stored with desktop-native protection primitives rather than plain browser storage.\n\n## Feature Highlights\n\n### Query With Confidence\n\n- `DROP` and `TRUNCATE` are blocked in the query editor for production-tagged connections.\n- `ALTER`, `CREATE`, `DELETE`, `INSERT`, `REPLACE`, and `UPDATE` require explicit confirmation before they run against production-tagged connections.\n- Read queries remain fast and direct.\n- Query policy is visible in the editor so developers know when the tool is treating a connection differently.\n- Guided flows such as create table, create view, edit table, row delete, and table truncate remain available with purpose-built confirmations instead of being treated like ad hoc SQL.\n\n### Edit Data Like A Devtool\n\n- Inline editing and row inspection are built for quick, repeated changes.\n- Selected row deletes use confirmation guardrails for sensitive environments.\n- Schema-changing flows refresh the surrounding context so the app stays aligned with the database.\n\n### Stay In Flow\n\n- Multi-tab workflow for switching between queries, tables, and saved work.\n- Keyboard-first query execution and editing.\n- Compact, dark-first UI tuned for long working sessions.\n\n### Work Across Engines\n\n- SQLite\n- Turso / libSQL\n- PostgreSQL\n- MySQL is planned next\n\n## Query Policy\n\nQuery policy is one of VibeDB's clearest product values.\n\nMany tools push teams toward only two extremes: fully unrestricted SQL access or fully read-only access. VibeDB takes a more practical approach for day-to-day engineering work. A production-tagged connection stays usable, but the editor applies statement-aware guardrails where mistakes are most expensive.\n\nCurrent behavior:\n\n- `DROP` and `TRUNCATE` are blocked in the query editor on production-tagged connections.\n- `ALTER`, `CREATE`, `DELETE`, `INSERT`, `REPLACE`, and `UPDATE` require confirmation there before execution.\n- Query parsing supports multi-statement SQL and ignores semicolons inside strings and comments.\n- Blocked editor statements are re-checked in Rust before execution.\n- Backend enforcement distinguishes between query editor execution and guided app flows, so query-editor restrictions do not accidentally break structured schema tools.\n- Guided destructive actions such as row deletion and table truncation keep their own production confirmation flows.\n\nThis is an application-level safety rail. It complements database roles and permissions; it does not replace them.\n\n## Trust Model\n\n- Credentials and sensitive tokens are stored with `tauri-plugin-stronghold`.\n- App state and preferences are stored with `tauri-plugin-store`.\n- VibeDB is built to reduce accidental mistakes in live environments, especially during direct SQL work.\n\n## Designed For\n\n- Solo developers working across local, staging, and production environments\n- Small teams that want a fast desktop client with clear operational guardrails\n- Developers who prefer direct database access without giving up visible safety cues\n\n## Project Links\n\n- [Roadmap](./ROADMAP.md)\n- [Releases](https://github.com/Rithprohos/vibe-db/releases)\n- [License](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frithprohos%2Fvibe-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frithprohos%2Fvibe-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frithprohos%2Fvibe-db/lists"}