SqlForge is a modern, high-performance, cross-database client inspired by tools like Navicat and DataGrip, focused on:
- Fast SQL workflows
- Clean, keyboard-first UX
- Built-in AI assistant
- Schema and data synchronization
- Developer-first architecture
It is designed for backend engineers, data engineers, and DBAs who want speed, power, and clarity without bloat.
- Advanced Features: Transactional data editing, schema synchronization, and monitoring are now fully implemented and free for all users.
- Safe Data Editing: Spreadsheet-style grid with inline editing, row deletions, batch updates, and optimistic concurrency protection.
- Transactional Logic: Batch mutations are wrapped in SQL transactions—if one operation fails, the entire set rolls back safely.
- Context-Aware Navigation: Menus and shortcuts (F9/F10) intelligently enable/disable based on your active connection and tab.
- Modern SVG Logo: High-resolution branding integrated across the UI and Help system.
- Automated Test Lifecycle:
test.shnow manages the entire database environment (Docker + SQLite) fresh for every run.
- Multi-database Support: Postgres, MySQL, SQLite, SQL Server, Oracle, MongoDB, Redis.
- AI SQL Assistant: Schema-aware query generation powered by Google Gemini.
- Transactional Data Editor: Edit cells or delete rows directly in the results grid with full rollback safety.
- Advanced Object Browser: Grouped views for Tables, Views, Functions, Triggers, and Collections with right-click context menus.
- Keyboard-First Navigation:
⌘ K: Command PaletteF9: Focus Query EditorF10: Focus Result Grid⌘ Enter: Execute Query
- Export Wizard: Multi-format export (CSV, JSON, SQL Insert statements) with detailed configuration options.
- Schema & Data Sync: Robust diffing engine using
sqlglotfor cross-dialect synchronization. - Monitoring Dashboard: Integrated Prometheus and Grafana for professional-grade database diagnostics.
- Dark/Light Themes: Modern OKLCH-based theme engine with beautiful
sonnernotifications.
SqlForge/
├── backend/ # FastAPI engine, DB drivers & Core logic (Sync, Backup, State)
├── frontend/ # React 19 + Tailwind 4 + Radix UI
├── scripts/ # Centralized management & automation scripts
├── tests/ # Docker DB suite & test cases
├── ARCHITECTURE.md # System design & sync logic
├── USER_STORIES.md # Product requirements
└── README.md # This file
To enable the built-in AI SQL Assistant, you need to provide your Google Gemini credentials.
- Locate the
.gemini_config.jsonfile in the project root. - Add your API key and preferred model:
{ "gemini_api_key": "YOUR_API_KEY", "gemini_model": "gemini-1.5-flash" } - The backend will automatically detect these settings and enable AI features across the application.
Note: The .gemini_config.json file is explicitly listed in .gitignore to keep your credentials secure and prevent them from being committed to the repository.
SqlForge includes a pre-configured Docker-based lab environment to test its multi-database features. When you run ./test.sh or ./scripts/start_dbs.sh, the following components are deployed:
- Relational (SQL):
Postgres,MySQL,MSSQL, andOracleinstances for testing queries, schema migrations, and ER diagram generation. - NoSQL / KV:
MongoDBandRedisfor validating document and key-value management features.
- Prometheus & Grafana: Powers the real-time health charts in the Monitor Dashboard.
- Exporters: Dedicated bridge containers (
postgres-exporter,mysql-exporter) that feed database performance metrics into Prometheus.
- Virtual Network: All components reside on a private Docker network (
docker_default), allowing the backend to communicate securely with all instances.
| Database | Host | Port | User | Password | Database |
|---|---|---|---|---|---|
| PostgreSQL | localhost |
5432 |
admin |
password |
testdb |
| MySQL | localhost |
3306 |
admin |
password |
testdb |
| MongoDB | localhost |
27017 |
- | - | testdb |
| Redis | localhost |
6379 |
- | - | - |
| SQL Server | localhost |
1433 |
sa |
Password123! |
TestDB |
| Oracle | localhost |
1521 |
admin |
password |
FREE |
./setup.shThis script will stop existing DBs, clean local files, start fresh containers, and run all tests.
./test.sh./scripts/start_dbs.sh # Start Docker containers
./scripts/stop_dbs.sh # Stop Docker containers
./scripts/remove_local_dbs.sh # Wipe local SQLite databases (preserves metadata)
./scripts/remove_local_dbs.sh --all # Full wipe including connection metadataIn separate terminals:
./run_backend.sh
./run_frontend.shSqlForge is built around these principles:
- SQL-first, not ORM-first
- Keyboard over mouse
- Preview before mutate
- Async everywhere
- No blocking UI
- Safe by default (Parameterized queries & Concurrency checks)
🚧 Active development 🎯 Target: Navicat-level power with modern UX and AI-native workflows