Make QueryWise the best terminal database client. AI-native features no competitor has, plus all the table-stakes features developers expect.
- SQL injection risk in schema introspection (format! with table names)
- No timeout on AI API requests (hung server blocks TUI)
- No retry logic for AI calls
- No input validation layer
- app.rs is 23KB monolith — needs decomposition
- No structured error types (all anyhow)
- No logging/tracing
- No connection pooling
- Empty ui/components module
- Sanitize table name interpolation in schema queries
- Add 30s timeout + 5s connect timeout to AI providers
- Add retry with exponential backoff (3 attempts, 1s/2s/4s)
- Add structured error types (QueryWiseError enum)
- Add tracing for observability
- Decompose app.rs into command modules (query, explain, export)
- Connection pooling with health checks
- Input validation layer
- Extract reusable UI components from renderer.rs
- Integration tests with in-memory SQLite
- SQL syntax highlighting (biggest visual impact)
- Tab completion for table/column names
- Multi-line query editor (Shift+Enter)
- Clipboard copy (Ctrl+Y)
- Query bookmarks (Ctrl+B)
- Saved connections manager
- Configurable color themes
- Query plan visualization (:plan)
- Streaming results for large datasets
- Vim keybindings mode
- Demo GIF in README
- Publish to crates.io
- Homebrew formula
- Show HN post
- Blog post on dev.to
QueryWise is the only TUI database client with:
- Natural language to SQL
- Self-healing queries (auto-fix on error)
- AI query explanation
- Local LLM support (Ollama)
- Safe mode (blocks destructive queries)
Once we add syntax highlighting, tab completion, and multi-line editing, we're strictly better than pgcli, usql, and dbcli.