Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 2.47 KB

README.md

File metadata and controls

81 lines (56 loc) · 2.47 KB

SQLite Explorer

A cross-platform desktop app that auto-discovers SQLite databases on your machine, lets you browse their schema, and run raw SQL queries — all in a clean three-panel interface.

Built with Tauri 2 + SvelteKit + CodeMirror.


Features

  • Auto-discovery — scans common data directories (~/.local/share, ~/.config, macOS Application Support, etc.) for .sqlite, .db, .sqlite3, and known extension-less browser databases (Vivaldi, Chrome, Firefox, etc.)
  • Schema browser — two-panel sidebar lists discovered databases and their tables with row counts
  • SQL editor — CodeMirror-powered editor with SQL syntax highlighting; run with Ctrl+Enter
  • Paginated results — navigable 100-row pages so large tables don't lock up the UI
  • Read-only by design — all databases are opened with SQLITE_OPEN_READ_ONLY; no accidental writes
  • WAL fallback — automatically retries locked Chromium-family databases in immutable=1 mode

Prerequisites


Getting started

git clone https://github.com/your-username/sqlite-explorer.git
cd sqlite-explorer
npm install
npm run tauri dev

Building for production

npm run tauri build

The installer/binary is placed in src-tauri/target/release/bundle/.


Project structure

src/
├── lib/
│   ├── components/
│   │   ├── DbList.svelte        # Left panel — discovered databases
│   │   ├── TableList.svelte     # Middle panel — tables in selected DB
│   │   ├── QueryEditor.svelte   # CodeMirror SQL editor
│   │   └── ResultsTable.svelte  # Paginated query results grid
│   ├── stores/
│   │   └── app.ts               # Svelte stores for shared state
│   └── api.ts                   # Tauri invoke wrappers
└── routes/
    └── +page.svelte             # App shell

src-tauri/src/
├── scanner.rs   # File-system scan logic
├── db.rs        # SQLite query execution (read-only)
└── lib.rs       # Tauri command wiring

Contributing

Pull requests are welcome. For larger changes, please open an issue first to discuss what you'd like to change.


License

MIT