data-peek/README.md

286 lines
9.6 KiB
Markdown
Raw Normal View History

2025-11-29 05:27:24 +00:00
# data-peek
![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/Rohithgilla12/data-peek/total?style=for-the-badge)
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
A minimal, fast SQL client desktop application with AI-powered querying. Built for developers who want to quickly peek at their data without the bloat. Supports PostgreSQL, MySQL, Microsoft SQL Server, and SQLite.
<p align="center">
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/hero.png" alt="Data Peek - SQL Client" width="100%" />
</p>
## Screenshots
<details>
<summary>AI Assistant - Generate charts and insights</summary>
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/ai-assitant.png" alt="AI Assistant Charts" width="100%" />
</details>
<details>
<summary>AI Assistant - Natural language to SQL</summary>
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/ai-assitant-2.png" alt="AI Assistant Queries" width="100%" />
</details>
<details>
<summary>ER Diagrams - Visualize relationships</summary>
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/erd.png" alt="ER Diagrams" width="100%" />
</details>
<details>
<summary>Command Palette - Quick actions</summary>
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/command-bar.png" alt="Command Palette" width="100%" />
</details>
<details>
<summary>Light Mode</summary>
<img src="https://pub-84538e6ab6f94b80b94b8aa308ad1270.r2.dev/light-mode.png" alt="Light Mode" width="100%" />
</details>
2025-11-29 05:27:24 +00:00
## Features
### Core
2025-11-29 05:27:24 +00:00
- **Fast** - Opens in under 2 seconds, low memory footprint
- **Multi-Database** - PostgreSQL, MySQL, Microsoft SQL Server, SQLite
- **SSH Tunnels** - Connect securely through bastion hosts with password or key auth
- **Secure** - Connection credentials encrypted locally using OS keychain, no telemetry
### AI Assistant
- **Natural Language Queries** - Ask questions in plain English, get SQL
- **Multi-Provider** - OpenAI, Anthropic, Google, Groq, and local Ollama models (BYOK)
- **Charts & Insights** - Generate visualizations and metrics from query results
- **Schema-Aware** - AI understands your database structure for accurate queries
### Query Editor
- **Monaco Editor** - SQL syntax highlighting with smart autocomplete
- **Table Aliases** - Autocomplete understands aliases for complex queries
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
- **Multi-tab & Multi-window** - Work with multiple queries and databases simultaneously
- **Saved Queries** - Bookmark and organize queries with folders and tags
- **Command Palette** - `Cmd+K` to access everything instantly
### Performance Analysis
- **Query Telemetry** - Detailed timing breakdown with waterfall visualization
- **Benchmark Mode** - Run queries multiple times, get p50/p90/p99 statistics
- **EXPLAIN Viewer** - Analyze query plans with interactive node breakdown
- **Performance Indicator** - Detect missing indexes, N+1 patterns, and slow queries with auto-generated fix suggestions
- **Cancel Queries** - Stop long-running queries mid-execution
### Data Management
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
- **Schema Explorer** - Browse tables, views, stored procedures, and functions
2025-11-29 05:27:24 +00:00
- **Inline Editing** - Edit table data directly with INSERT/UPDATE/DELETE
- **Table Designer** - Create and alter tables with full DDL support (columns, indexes, constraints, partitions)
- **JSON Editor** - Dedicated editor for JSON/JSONB columns
- **Export** - Export results to CSV, JSON, or Excel
feat: add 6 new features — stats, masking, CSV import, data gen, notifications, health monitor (#119) * docs: add design spec for 6 new features Column Statistics, Data Masking, CSV Import, Data Generator, DB Notifications, and Connection Health Monitor. * docs: update spec with review fixes Resolve all 15 review issues: naming conflicts, preload layer, batch insert interface, guard clauses, confirmation dialogs, etc. * docs: add implementation plan for 6 features Fix critical issues from review: adapter connection pattern, preload event subscription pattern, tab interface definitions, ColumnStatsRequest type, and implementation notes. * feat: add column statistics panel (Tasks 1.1-1.8) Implement the Column Statistics feature allowing users to right-click a column header and view min/max/nulls/distinct/histogram in a right sidebar panel. Supports PostgreSQL (full implementation with median + histogram), MySQL (CASE WHEN histogram, no median), and MSSQL (NTILE histogram + PERCENTILE_CONT median). Includes shared types, IPC handler, Zustand store, stats panel UI, and DataTable integration via onColumnStatsClick. * feat: add Data Masking feature (renderer-only) Adds blur-based data masking so users can hide sensitive columns during demos, screenshots, and pair programming. Entirely renderer-only — no IPC or main process changes. - masking-store: Zustand store with manual per-tab masking, auto-mask rules (email/password/ssn/token etc.), hover-to-peek, and persist middleware for rules/settings only (runtime maskedColumns not persisted) - masking-toolbar: dropdown UI for toggling auto-mask, managing rules, adding custom regex patterns, and unmasking all columns for a tab - data-table: accepts optional tabId, shows lock icon on masked headers, adds Mask/Unmask to column dropdown, applies blur(5px) + userSelect:none to masked cells with alt-hover peek support - editable-data-table: same masking UX; masked cells block editing - tab-query-editor: wires tabId into DataTable, renders MaskingToolbar near Export, intercepts exports when masked columns are present and shows an AlertDialog to confirm exporting with [MASKED] values * feat(csv-import): implement CSV import feature (Tasks 3.1-3.5) - Add shared types: CsvColumnMapping, CsvImportOptions, CsvImportRequest, CsvImportProgress, CsvImportResult, BatchInsertOptions, BatchInsertResult - Install papaparse for CSV parsing in renderer - Create batch-insert.ts: parameterized INSERT with per-dialect placeholder syntax (pg: $1/$2, mysql: ?, mssql: @p1/@p2), ON CONFLICT handling, and cancellation support - Add import-handlers.ts IPC handler for db:import-csv and db:import-cancel; progress events pushed via event.sender.send('db:import-progress') - Add import-store.ts Zustand store with 5-step wizard state, type inference for new tables (integer/numeric/timestamp/boolean/text), and auto-mapping - Create csv-import-dialog.tsx Sheet dialog: file drop zone, target selection, column mapping, options (batch size/conflict/truncate/transaction), and progress/result step - Add "Import CSV" to schema explorer table context menu (both virtualized and non-virtualized paths) * feat: add Data Generator feature (Tasks 4.1-4.5) Adds schema-aware fake data generation using @faker-js/faker. Users can open a data-generator tab from the schema explorer context menu on any table, configure per-column generators (faker, random-int/float/bool/date, uuid, auto-increment, fk-reference, fixed, null), preview 5 sample rows, and insert up to 10 000 rows in configurable batches with live progress. - packages/shared: GeneratorType, ColumnGenerator, DataGenConfig, DataGenProgress, DataGenResult types - main: data-generator.ts engine with heuristics + faker dispatch - main: data-gen-handlers.ts IPC for generate, cancel, preview - preload + preload d.ts: generateData, cancelGenerate, generatePreview, onGenerateProgress on window.api.db - stores: DataGeneratorTab type added to tab-store; data-gen-store for per-tab generator state and actions - renderer: data-generator.tsx UI; schema-explorer "Generate Data" menu item; tab-query-editor dispatch for data-generator tab type * feat: add PostgreSQL LISTEN/NOTIFY dashboard (Chunk 5) Implements a full LISTEN/NOTIFY panel for PostgreSQL connections: - Shared types: PgNotificationEvent, PgNotificationChannel, PgNotificationStats - Main process: dedicated pg.Client listener per connection with SSH tunnel support, auto-reconnect with exponential backoff, and SQLite event history (capped at 10k events per connection) - IPC handlers under pg-notify: prefix; cleanup on app quit - Preload: pgNotify namespace exposing subscribe/unsubscribe/send/getChannels/ getHistory/clearHistory/onEvent - Store: usePgNotificationStore with rolling 60s stats and in-memory event cap - Tab type: pg-notifications added to TabType union with deduplication - UI: channel subscription bar, scrollable event log with JSON highlighting, collapsible send panel and stats; PostgreSQL-only guard - Sidebar: Notifications entry visible only for PostgreSQL connections * feat(shared): add health monitor types (Task 6.1) Add ActiveQuery, TableSizeInfo, CacheStats, LockInfo, and DatabaseSizeInfo types to the shared package for IPC contract. * feat(adapters): implement health monitor queries (Task 6.2) Add getActiveQueries, getTableSizes, getCacheStats, getLocks, and killQuery to DatabaseAdapter interface with implementations for PostgreSQL, MySQL, MSSQL, and SQLite stub. * feat(ipc): add health monitor IPC handlers (Task 6.3) Register IPC handlers for db:active-queries, db:table-sizes, db:cache-stats, db:locks, and db:kill-query channels. * feat(preload): expose health monitor API to renderer (Task 6.4) Add health namespace to preload bridge with activeQueries, tableSizes, cacheStats, locks, and killQuery methods plus type declarations. * feat(store): add health monitor Zustand store (Task 6.5) Create useHealthStore with polling, fetch actions for all health metrics, and kill query support. * feat(ui): add health monitor dashboard tab (Task 6.6) Add HealthMonitor component with 4-panel dashboard: active queries with kill support, table sizes with sorting, cache hit ratios with color coding, and lock/blocking detection. Integrate into tab system and sidebar navigation. * chore: apply prettier formatting * fix: resolve empty block statement lint errors * fix: add column stats to editable table and fix masking infinite loop Column statistics dropdown now available in table preview (editable) mode. Fixed MaskingToolbar infinite re-render caused by creating a new empty array reference on every store snapshot. * docs: update README, features, roadmap, and marketing site for 6 new features Add Column Statistics, Data Masking, CSV Import, Data Generator, Connection Health Monitor, and PostgreSQL Notifications to all documentation and the marketing website features grid. * Apply suggestions from code review Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com> --------- Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
2026-03-18 02:48:55 +00:00
- **CSV Import** - Import CSV files with column mapping, type inference, and conflict handling
- **Data Generator** - Generate realistic fake data with Faker.js, FK-aware, in a dedicated tab
- **Column Statistics** - One-click data profiling per column (min/max/avg, histograms, top values)
- **Data Masking** - Blur sensitive columns for demos and screenshots with auto-mask rules
### Visualization
- **ERD Diagrams** - See table relationships with interactive entity-relationship diagrams
- **Foreign Key Navigation** - Jump to related records with one click
feat: add 6 new features — stats, masking, CSV import, data gen, notifications, health monitor (#119) * docs: add design spec for 6 new features Column Statistics, Data Masking, CSV Import, Data Generator, DB Notifications, and Connection Health Monitor. * docs: update spec with review fixes Resolve all 15 review issues: naming conflicts, preload layer, batch insert interface, guard clauses, confirmation dialogs, etc. * docs: add implementation plan for 6 features Fix critical issues from review: adapter connection pattern, preload event subscription pattern, tab interface definitions, ColumnStatsRequest type, and implementation notes. * feat: add column statistics panel (Tasks 1.1-1.8) Implement the Column Statistics feature allowing users to right-click a column header and view min/max/nulls/distinct/histogram in a right sidebar panel. Supports PostgreSQL (full implementation with median + histogram), MySQL (CASE WHEN histogram, no median), and MSSQL (NTILE histogram + PERCENTILE_CONT median). Includes shared types, IPC handler, Zustand store, stats panel UI, and DataTable integration via onColumnStatsClick. * feat: add Data Masking feature (renderer-only) Adds blur-based data masking so users can hide sensitive columns during demos, screenshots, and pair programming. Entirely renderer-only — no IPC or main process changes. - masking-store: Zustand store with manual per-tab masking, auto-mask rules (email/password/ssn/token etc.), hover-to-peek, and persist middleware for rules/settings only (runtime maskedColumns not persisted) - masking-toolbar: dropdown UI for toggling auto-mask, managing rules, adding custom regex patterns, and unmasking all columns for a tab - data-table: accepts optional tabId, shows lock icon on masked headers, adds Mask/Unmask to column dropdown, applies blur(5px) + userSelect:none to masked cells with alt-hover peek support - editable-data-table: same masking UX; masked cells block editing - tab-query-editor: wires tabId into DataTable, renders MaskingToolbar near Export, intercepts exports when masked columns are present and shows an AlertDialog to confirm exporting with [MASKED] values * feat(csv-import): implement CSV import feature (Tasks 3.1-3.5) - Add shared types: CsvColumnMapping, CsvImportOptions, CsvImportRequest, CsvImportProgress, CsvImportResult, BatchInsertOptions, BatchInsertResult - Install papaparse for CSV parsing in renderer - Create batch-insert.ts: parameterized INSERT with per-dialect placeholder syntax (pg: $1/$2, mysql: ?, mssql: @p1/@p2), ON CONFLICT handling, and cancellation support - Add import-handlers.ts IPC handler for db:import-csv and db:import-cancel; progress events pushed via event.sender.send('db:import-progress') - Add import-store.ts Zustand store with 5-step wizard state, type inference for new tables (integer/numeric/timestamp/boolean/text), and auto-mapping - Create csv-import-dialog.tsx Sheet dialog: file drop zone, target selection, column mapping, options (batch size/conflict/truncate/transaction), and progress/result step - Add "Import CSV" to schema explorer table context menu (both virtualized and non-virtualized paths) * feat: add Data Generator feature (Tasks 4.1-4.5) Adds schema-aware fake data generation using @faker-js/faker. Users can open a data-generator tab from the schema explorer context menu on any table, configure per-column generators (faker, random-int/float/bool/date, uuid, auto-increment, fk-reference, fixed, null), preview 5 sample rows, and insert up to 10 000 rows in configurable batches with live progress. - packages/shared: GeneratorType, ColumnGenerator, DataGenConfig, DataGenProgress, DataGenResult types - main: data-generator.ts engine with heuristics + faker dispatch - main: data-gen-handlers.ts IPC for generate, cancel, preview - preload + preload d.ts: generateData, cancelGenerate, generatePreview, onGenerateProgress on window.api.db - stores: DataGeneratorTab type added to tab-store; data-gen-store for per-tab generator state and actions - renderer: data-generator.tsx UI; schema-explorer "Generate Data" menu item; tab-query-editor dispatch for data-generator tab type * feat: add PostgreSQL LISTEN/NOTIFY dashboard (Chunk 5) Implements a full LISTEN/NOTIFY panel for PostgreSQL connections: - Shared types: PgNotificationEvent, PgNotificationChannel, PgNotificationStats - Main process: dedicated pg.Client listener per connection with SSH tunnel support, auto-reconnect with exponential backoff, and SQLite event history (capped at 10k events per connection) - IPC handlers under pg-notify: prefix; cleanup on app quit - Preload: pgNotify namespace exposing subscribe/unsubscribe/send/getChannels/ getHistory/clearHistory/onEvent - Store: usePgNotificationStore with rolling 60s stats and in-memory event cap - Tab type: pg-notifications added to TabType union with deduplication - UI: channel subscription bar, scrollable event log with JSON highlighting, collapsible send panel and stats; PostgreSQL-only guard - Sidebar: Notifications entry visible only for PostgreSQL connections * feat(shared): add health monitor types (Task 6.1) Add ActiveQuery, TableSizeInfo, CacheStats, LockInfo, and DatabaseSizeInfo types to the shared package for IPC contract. * feat(adapters): implement health monitor queries (Task 6.2) Add getActiveQueries, getTableSizes, getCacheStats, getLocks, and killQuery to DatabaseAdapter interface with implementations for PostgreSQL, MySQL, MSSQL, and SQLite stub. * feat(ipc): add health monitor IPC handlers (Task 6.3) Register IPC handlers for db:active-queries, db:table-sizes, db:cache-stats, db:locks, and db:kill-query channels. * feat(preload): expose health monitor API to renderer (Task 6.4) Add health namespace to preload bridge with activeQueries, tableSizes, cacheStats, locks, and killQuery methods plus type declarations. * feat(store): add health monitor Zustand store (Task 6.5) Create useHealthStore with polling, fetch actions for all health metrics, and kill query support. * feat(ui): add health monitor dashboard tab (Task 6.6) Add HealthMonitor component with 4-panel dashboard: active queries with kill support, table sizes with sorting, cache hit ratios with color coding, and lock/blocking detection. Integrate into tab system and sidebar navigation. * chore: apply prettier formatting * fix: resolve empty block statement lint errors * fix: add column stats to editable table and fix masking infinite loop Column statistics dropdown now available in table preview (editable) mode. Fixed MaskingToolbar infinite re-render caused by creating a new empty array reference on every store snapshot. * docs: update README, features, roadmap, and marketing site for 6 new features Add Column Statistics, Data Masking, CSV Import, Data Generator, Connection Health Monitor, and PostgreSQL Notifications to all documentation and the marketing website features grid. * Apply suggestions from code review Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com> --------- Co-authored-by: tembo[bot] <208362400+tembo[bot]@users.noreply.github.com>
2026-03-18 02:48:55 +00:00
### Database Monitoring
- **Connection Health Monitor** - Dashboard with active queries, table sizes, cache hit ratios, and lock detection
- **PostgreSQL Notifications** - Subscribe to LISTEN/NOTIFY channels with real-time event log
- **Kill Queries** - Terminate long-running or blocking queries from the health dashboard
### User Experience
- **Dark/Light Mode** - Easy on the eyes, follows system preference
2025-11-29 05:27:24 +00:00
- **Keyboard-First** - Power users shouldn't need a mouse
- **Auto-Updates** - Automatic updates with toast notifications
2025-11-29 05:27:24 +00:00
## Installation
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
### Quick Install
#### macOS and Linux
```bash
curl -fsSL https://install.cat/Rohithgilla12/data-peek | sh
```
The installer detects your platform, downloads the latest GitHub release, and installs:
- **macOS**: the matching `.dmg`, copies `Data Peek.app`, and runs `xattr -cr` automatically
- **Linux**: the latest `x86_64.AppImage` into `~/.local/bin/data-peek`
#### Windows PowerShell
```powershell
irm https://install.cat/Rohithgilla12/data-peek | iex
```
The PowerShell installer downloads the latest `setup.exe` release and runs it for you.
### Alternative Install Methods
#### macOS: Homebrew
```bash
brew install --cask Rohithgilla12/tap/data-peek
```
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
#### Download
2025-11-29 05:27:24 +00:00
Download the latest release for your platform from [Releases](https://github.com/Rohithgilla12/data-peek/releases).
- **macOS**: `.dmg` (Intel & Apple Silicon)
- **Windows**: `.exe` installer
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
- **Linux**: `.AppImage`, `.deb`, or `.tar.gz`
2025-11-29 05:27:24 +00:00
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
### macOS: Code Signing
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
Starting from v0.4.0, data-peek is code signed and notarized for macOS. You should be able to open it directly without any warnings.
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
If you install with the quick installer, it already runs the `xattr` cleanup for you.
If you're using an older version or a manual install and see an "App is damaged" warning:
**Option 1: Terminal command**
```bash
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
xattr -cr "/Applications/Data Peek.app"
```
**Option 2: Right-click to open**
Add install.cat installer scripts and quick install docs (#116) * plan: add install.cat support AGENT_PLAN_ANCHOR ## Original User Request (verbatim) Vamos resolver a issue https://github.com/Rohithgilla12/data-peek/issues/108 para isso faça em clone do projeto em uma pasta temporária, crie os devidos arquivos install.sh e install.ps1 e atualize o README.md sempre seguindo as recomendações de https://install.cat ao final faça um PR para o repositório original. Antes do PR me mostre a mensagem para aprovação. Quando tudo concluir, apagar pasta local. Provavelmente teremos que fazer um fork para PR. O cli gh está disponível e autenticado. Pergunte aos planners também, exceto o planClaude que está falhando. implement ## Objective Add install.cat-compatible root installer scripts and README guidance, prepare and create an upstream PR after user approval of the PR message, then remove the temporary local clone. ## Execution Plan - [ ] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Do - Keep install.sh compatible with sh for install.cat piping. - Use release asset pattern matching instead of hardcoded versioned URLs. - Automate the macOS xattr cleanup noted in the README. - Pause before gh pr create to show the exact PR title and body for approval. ## Do Not - Create the PR before user approval of the PR message. - Delete the temporary clone before the PR is created. - Change unrelated application code or release workflows. ## References - https://github.com/Rohithgilla12/data-peek/issues/108 - https://install.cat - README.md - apps/desktop/electron-builder.yml - .github/workflows/build.yml - .github/PULL_REQUEST_TEMPLATE.md ## Risks and Dependencies - Release asset names may drift and must be matched dynamically. - macOS and Windows install flows cannot be fully executed from this Linux environment. - Pushing the branch depends on gh authentication and fork availability. * chore(agent): [Step 1/5] add install scripts PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf — plan initialized ## Completed in This Step - Added a POSIX-compatible root install.sh for install.cat on macOS and Linux - Added a root install.ps1 that downloads and runs the latest Windows installer - Used live GitHub release asset pattern matching instead of hardcoded versions ## References Used - https://install.cat - apps/desktop/electron-builder.yml - .github/workflows/build.yml - homebrew/Casks/data-peek.rb ## Debts and Warnings - Windows runtime could not be executed from this Linux environment - macOS DMG flow was validated statically but not run end-to-end here ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [ ] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [ ] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 2/5] update README install flow * chore(agent): [Step 2/5] update README install flow PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf PREVIOUS_STEP: 492f01106bf3a336b7871d207bf8ad7d019d4967 — added install.cat installer scripts ## Completed in This Step - Reworked the installation section to make install.cat the primary path - Kept Homebrew and manual download options as secondary install methods - Updated the macOS xattr guidance to match the installed app bundle name ## References Used - README.md - https://install.cat - .github/PULL_REQUEST_TEMPLATE.md ## Debts and Warnings - README install instructions for Windows were updated based on static script review only ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [ ] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 4/5] push fork branch and draft PR message * fix: allow sudo prompts from install.cat shell pipe PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Routed sudo calls through /dev/tty so the macOS installer can prompt when install.sh is piped into sh - Kept the install.cat shell flow unchanged while avoiding stdin conflicts from curl piping ## References Used - Reviewer report for 492f011735893354342deb140c8126f415f1c1a7 - https://install.cat ## Debts and Warnings - macOS and Windows runtime flows are still statically validated in this Linux environment ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step chore(agent): [Step 5/5] create PR after approval and clean temp clone * fix: address PR review follow-ups PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Hardened release downloads with retries and explicit https README commands - Improved installer portability and robustness across PowerShell and macOS app discovery - Scoped asset URL extraction to browser_download_url fields and checked interactive installer exit codes ## References Used - PR #116 review comments - https://install.cat - https://cli.github.com/manual/gh_pr_review ## Debts and Warnings - Checksum verification remains deferred because the installer flow still needs a dependency-light manifest strategy - pwsh is still unavailable in this Linux environment, so PowerShell execution remains statically validated ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: reply to remaining PR review threads and keep the branch updated * fix: restore installer portability PLAN_REF: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf ## Completed in This Step - Removed curl retry flags that are unavailable on older distributions - Relaxed browser_download_url parsing to tolerate whitespace in GitHub API responses ## References Used - Reviewer report for 1391a61dddefdb43a716529d17bddc22bcf667a3 ## Debts and Warnings - Checksum verification remains deferred for a future dependency-light implementation ## Progress (ref: e082f4f7cbafc0d8e50d4e79ff1b37629b8fcccf) - [x] Step 1: Add root install.sh and install.ps1 with dynamic release asset selection and platform-specific installation flows. - [x] Step 2: Update README.md to make install.cat the primary install path while preserving manual alternatives. - [x] Step 3: Validate the new scripts and docs in this environment. - [x] Step 4: Commit the implementation, push a fork branch, and draft the PR message for approval. - [ ] Step 5: Create the upstream PR after approval and delete the temporary clone. ## Next Step fix: update PR threads after follow-up review
2026-03-16 14:12:52 +00:00
1. Right-click (or Control+click) on `Data Peek.app`
2. Select "Open" from the menu
3. Click "Open" in the dialog
feat: add support for multiple result sets and enhanced storage (#18) * feat: add support for multiple result sets in query editor Implements multiple result sets feature found in TablePlus, DBeaver, and DataGrip. When executing multiple SQL statements separated by semicolons, each statement's results are displayed in separate tabs within the results pane. Changes: - Add StatementResult and MultiStatementResult types to shared package - Update PostgreSQL, MySQL, and MSSQL adapters with queryMultiple() method - Add SQL statement splitter that respects string literals and comments - Update tab store with multiResult support and activeResultIndex - Add result set tabs UI in tab-query-editor when multiple statements present - Each result shows row count, affected rows (for non-SELECT), and timing The UI displays clickable result tabs above the data table when multiple statements are executed. Green indicators show data-returning statements (SELECT), blue for row-affecting statements (INSERT/UPDATE/DELETE). * feat: add DpStorage facade with automatic corruption recovery - Create storage.ts with DpStorage and DpSecureStorage classes - Implement facade pattern for electron-store with auto-recovery - Corrupted JSON files are automatically deleted and recreated - Refactor all stores to use the new facade: - index.ts: connections, saved queries - license-service.ts: license data - window-state.ts: window bounds - ai-service.ts: AI config, chat history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add auto updated * feat: add build:web and build:docs scripts for Vercel deployments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: use safeStorage for encryption keys and improve updater UX - Use Electron's safeStorage to derive machine-specific encryption keys for connections and saved queries stores instead of hardcoded values - Fix updater comment/behavior mismatch: now correctly documents that automatic checks download silently while manual checks prompt user - Add proper dialog handling for manual update checks (shows update available, no updates, and error dialogs appropriately) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-01 14:01:30 +00:00
### Linux: Auto-Updates
feat: add support for multiple result sets and enhanced storage (#18) * feat: add support for multiple result sets in query editor Implements multiple result sets feature found in TablePlus, DBeaver, and DataGrip. When executing multiple SQL statements separated by semicolons, each statement's results are displayed in separate tabs within the results pane. Changes: - Add StatementResult and MultiStatementResult types to shared package - Update PostgreSQL, MySQL, and MSSQL adapters with queryMultiple() method - Add SQL statement splitter that respects string literals and comments - Update tab store with multiResult support and activeResultIndex - Add result set tabs UI in tab-query-editor when multiple statements present - Each result shows row count, affected rows (for non-SELECT), and timing The UI displays clickable result tabs above the data table when multiple statements are executed. Green indicators show data-returning statements (SELECT), blue for row-affecting statements (INSERT/UPDATE/DELETE). * feat: add DpStorage facade with automatic corruption recovery - Create storage.ts with DpStorage and DpSecureStorage classes - Implement facade pattern for electron-store with auto-recovery - Corrupted JSON files are automatically deleted and recreated - Refactor all stores to use the new facade: - index.ts: connections, saved queries - license-service.ts: license data - window-state.ts: window bounds - ai-service.ts: AI config, chat history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add auto updated * feat: add build:web and build:docs scripts for Vercel deployments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: use safeStorage for encryption keys and improve updater UX - Use Electron's safeStorage to derive machine-specific encryption keys for connections and saved queries stores instead of hardcoded values - Fix updater comment/behavior mismatch: now correctly documents that automatic checks download silently while manual checks prompt user - Add proper dialog handling for manual update checks (shows update available, no updates, and error dialogs appropriately) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-01 14:01:30 +00:00
Auto-updates only work with the **AppImage** format. If you installed via `.deb` or `.tar.gz`, you'll need to manually download new releases from the [Releases page](https://github.com/Rohithgilla12/data-peek/releases).
feat: add support for multiple result sets and enhanced storage (#18) * feat: add support for multiple result sets in query editor Implements multiple result sets feature found in TablePlus, DBeaver, and DataGrip. When executing multiple SQL statements separated by semicolons, each statement's results are displayed in separate tabs within the results pane. Changes: - Add StatementResult and MultiStatementResult types to shared package - Update PostgreSQL, MySQL, and MSSQL adapters with queryMultiple() method - Add SQL statement splitter that respects string literals and comments - Update tab store with multiResult support and activeResultIndex - Add result set tabs UI in tab-query-editor when multiple statements present - Each result shows row count, affected rows (for non-SELECT), and timing The UI displays clickable result tabs above the data table when multiple statements are executed. Green indicators show data-returning statements (SELECT), blue for row-affecting statements (INSERT/UPDATE/DELETE). * feat: add DpStorage facade with automatic corruption recovery - Create storage.ts with DpStorage and DpSecureStorage classes - Implement facade pattern for electron-store with auto-recovery - Corrupted JSON files are automatically deleted and recreated - Refactor all stores to use the new facade: - index.ts: connections, saved queries - license-service.ts: license data - window-state.ts: window bounds - ai-service.ts: AI config, chat history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add auto updated * feat: add build:web and build:docs scripts for Vercel deployments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: use safeStorage for encryption keys and improve updater UX - Use Electron's safeStorage to derive machine-specific encryption keys for connections and saved queries stores instead of hardcoded values - Fix updater comment/behavior mismatch: now correctly documents that automatic checks download silently while manual checks prompt user - Add proper dialog handling for manual update checks (shows update available, no updates, and error dialogs appropriately) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-01 14:01:30 +00:00
| Format | Auto-Update |
|--------|-------------|
| AppImage | Yes |
| .deb | No (manual update) |
| .tar.gz | No (manual update) |
feat: add support for multiple result sets and enhanced storage (#18) * feat: add support for multiple result sets in query editor Implements multiple result sets feature found in TablePlus, DBeaver, and DataGrip. When executing multiple SQL statements separated by semicolons, each statement's results are displayed in separate tabs within the results pane. Changes: - Add StatementResult and MultiStatementResult types to shared package - Update PostgreSQL, MySQL, and MSSQL adapters with queryMultiple() method - Add SQL statement splitter that respects string literals and comments - Update tab store with multiResult support and activeResultIndex - Add result set tabs UI in tab-query-editor when multiple statements present - Each result shows row count, affected rows (for non-SELECT), and timing The UI displays clickable result tabs above the data table when multiple statements are executed. Green indicators show data-returning statements (SELECT), blue for row-affecting statements (INSERT/UPDATE/DELETE). * feat: add DpStorage facade with automatic corruption recovery - Create storage.ts with DpStorage and DpSecureStorage classes - Implement facade pattern for electron-store with auto-recovery - Corrupted JSON files are automatically deleted and recreated - Refactor all stores to use the new facade: - index.ts: connections, saved queries - license-service.ts: license data - window-state.ts: window bounds - ai-service.ts: AI config, chat history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add auto updated * feat: add build:web and build:docs scripts for Vercel deployments 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: use safeStorage for encryption keys and improve updater UX - Use Electron's safeStorage to derive machine-specific encryption keys for connections and saved queries stores instead of hardcoded values - Fix updater comment/behavior mismatch: now correctly documents that automatic checks download silently while manual checks prompt user - Add proper dialog handling for manual update checks (shows update available, no updates, and error dialogs appropriately) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-01 14:01:30 +00:00
For the best experience with automatic updates, we recommend using the AppImage.
2025-11-29 05:27:24 +00:00
### Build from Source
```bash
# Clone the repository
git clone https://github.com/Rohithgilla12/data-peek.git
cd data-peek
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build for your platform
pnpm build:mac # macOS
pnpm build:win # Windows
pnpm build:linux # Linux
```
### Troubleshooting: Electron not found
If you get errors about Electron not being found after `pnpm install`:
```bash
# Option 1: Run the setup script
pnpm setup:electron
# Option 2: Rebuild native modules
pnpm rebuild
# Option 3: Clean install (nuclear option)
pnpm clean:install
```
This can happen when pnpm's cache skips Electron's postinstall script that downloads platform-specific binaries.
2025-11-29 05:27:24 +00:00
## Tech Stack
| Layer | Technology |
|-------|------------|
| Desktop | Electron |
| Frontend | React 19 + TypeScript |
| UI | shadcn/ui + Tailwind CSS |
| State | Zustand |
| Query Editor | Monaco |
docs: comprehensive documentation update and theme fixes (#64) * docs: add MSSQL and SQLite database support documentation - Add Microsoft SQL Server documentation page - Add SQLite database support documentation page - Update database support index with all 4 supported databases - Add feature comparison table for all databases - Update meta.json to include new pages * docs: comprehensive documentation update for v0.7.0 features - Add AI Assistant feature documentation with BYOK setup guide - Add SSH Tunnels documentation for secure remote connections - Add Query Telemetry documentation with benchmark mode - Add Command Palette documentation - Add Multi-Window support documentation - Update features index with new feature categories - Update keyboard shortcuts with new shortcuts (Cmd+K, Cmd+I, etc.) - Update settings documentation with query timeout and AI settings - Update README with SQLite support, SSH tunnels, and latest features - Update README to reflect macOS code signing (v0.4.0+) * feat: update marketing website with latest features - Add Query Telemetry feature with benchmark mode description - Add SSH Tunnels feature for secure connections - Update Multi-Database to include SQLite - Update hero section to mention SQLite support * docs: add images to feature documentation - Add AI Assistant screenshots (query generation, chart generation) - Add Command Palette screenshot - Add TODO placeholders for telemetry and SSH tunnel screenshots * fix: docs homepage button and light mode issues - Update tagline to include all 4 databases (PostgreSQL, MySQL, SQL Server, SQLite) - Replace hardcoded dark colors with Tailwind theme variables for light/dark mode support - Fix button hover state to maintain text visibility * feat: add query telemetry and multi-window images Docs: - Add query-telemetry.png to Query Telemetry page - Add multi-window.png to Multi-Window page - Add erd.png to ER Diagrams page Web app: - Add Query Telemetry screenshot section - Add Multi-Window screenshot section - Import AppWindow icon for multi-window section * fix: use actual app icon on docs homepage * fix: ensure docs homepage button text is visible Use inline style for button text color to override theme styles that were causing the "Read the Docs" text to be invisible on the cyan background. * refactor: use lucide-static icons on docs homepage Replace inline SVG elements with lucide-static imports for cleaner, more maintainable code. Added Icon helper component to render the SVG strings with custom classes. * fix: enable light/dark mode switching in docs - Remove forcedTheme and hardcoded dark class from RootProvider - Add separate light theme CSS variables - Make color-scheme responsive to theme class - Use CSS variables for grid pattern background - Add theme-aware navbar background colors * fix: address CodeRabbit review comments in docs - Add cross-platform command palette shortcuts in settings - Use Windows backslash convention for settings path - Rename "Query plans (EXPLAIN)" to "Query execution plans" - Fix compound adjective "Floating-point" in sqlite docs - Replace vague "very large" with specific "10+ GB" sizing - Add model maintenance note and provider error disclaimer - Bundle external images locally to avoid URL fragility - Fix backtick shortcut rendering in multi-window docs - Remove TODO comment from ssh-tunnels docs --------- Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 09:58:25 +00:00
| Database | pg (PostgreSQL), mysql2 (MySQL), mssql (SQL Server), better-sqlite3 (SQLite) |
2025-11-29 05:27:24 +00:00
## Project Structure
```
apps/
desktop/ # Electron desktop application
web/ # Marketing website + licensing
packages/
shared/ # Shared types for IPC
```
## Development
```bash
# Install dependencies
pnpm install
# Start desktop app with hot reload
pnpm dev
# Start web app
pnpm dev:web
# Lint all workspaces
pnpm lint
# Build desktop app
pnpm build
```
## Star History
<a href="https://www.star-history.com/#Rohithgilla12/data-peek&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Rohithgilla12/data-peek&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Rohithgilla12/data-peek&type=date&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Rohithgilla12/data-peek&type=date&legend=top-left" />
</picture>
</a>
## Sponsors
<p align="center">
<a href="https://www.tembo.io/?utm_source=github&utm_medium=readme&utm_campaign=data_peek_sponsorship#gh-light-mode-only" target="_blank">
<img src="assets/tembo-dark.png#gh-light-mode-only" alt="Tembo - Goodbye Database Sprawl" width="400"/>
</a>
<a href="https://www.tembo.io/?utm_source=github&utm_medium=readme&utm_campaign=data_peek_sponsorship#gh-dark-mode-only" target="_blank">
<img src="assets/tembo-light.png#gh-dark-mode-only" alt="Tembo - Goodbye Database Sprawl" width="400"/>
</a>
<br/>
<strong><a href="https://www.tembo.io/?utm_source=github&utm_medium=readme&utm_campaign=data_peek_sponsorship" target="_blank">Tembo — Goodbye Database Sprawl</a></strong>
</p>
2025-11-29 05:27:24 +00:00
## License
MIT License - see [LICENSE](LICENSE) for details.
Pre-built binaries require a license for commercial use. See the license file for details on free vs. commercial use.
## Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## Support
- [GitHub Issues](https://github.com/Rohithgilla12/data-peek/issues) - Bug reports and feature requests
- [GitHub Sponsors](https://github.com/sponsors/Rohithgilla12) - Support development
2025-11-29 05:27:24 +00:00
- Twitter/X: [@gillarohith](https://x.com/gillarohith)
2026-02-20 05:18:18 +00:00
<br />
<br />
<a href="https://vercel.com/oss">
<img alt="Vercel OSS Program" src="https://vercel.com/oss/program-badge.svg" />
</a>