What You Can Contribute
Core Application
- Backend services (Go)
- Frontend UI (Vue 3)
- Desktop integration (Wails v3)
- Connection and credential management
Plugin Development
- Database driver plugins (MySQL, PostgreSQL, SQLite, MongoDB, Redis, ArangoDB, etc.)
- New database type support
- Plugin SDK improvements
Documentation
- User guides
- API documentation
- Architecture documentation
Project Structure
Development Prerequisites
| Tool | Version | Purpose |
|---|---|---|
| Go | 1.24+ | Backend |
| Wails v3 | v3 alpha | Desktop framework |
| Task | latest | Build automation |
| Node.js | 18+ | Frontend tooling |
| protoc + protoc-gen-go + protoc-gen-go-grpc | libprotoc 29.6 / protoc-gen-go v1.36.10 / protoc-gen-go-grpc v1.6.1 | gRPC code generation (only if modifying .proto files) |
Getting Started
Follow the setup guide to configure your development environment, then refer to the building guide to learn how to build the application and plugins.Development Workflow
- Build plugins - Compile all database plugins
- Start dev mode - Run
wails3 devfor hot-reload - Make changes - Frontend and backend changes reload automatically
- Test - Run unit tests with
go test - Build - Create production builds with
wails3 build
Plugin Architecture
Plugins are standalone executables that communicate with the host application via gRPC. Each plugin implements four core commands:info- Return plugin metadata (name, version, type)authforms- Return auth form definitions for the UIexec- Execute a query and return resultsconnection-tree- Return a browsable object hierarchy
bin/plugins/ and are automatically discovered by the application. At startup, the app copies bundled plugins to the per-user config directory, allowing both bundled and user-added plugins.
Next Steps
Setup Environment
Install dependencies and clone the repository
Building
Learn how to build the app and plugins
Testing
Run and write tests for your contributions
Plugin System
Learn about the plugin architecture