qwery-core

qwery-core

The Boring query platform - Connect and query anything

Stars: 135

Visit
 screenshot

Qwery is a platform for querying and visualizing data using natural language without technical knowledge. It seamlessly integrates with various datasources, generates optimized queries, and delivers outcomes like result sets, dashboards, and APIs. Features include natural language querying, multi-database support, AI-powered agents, visual data apps, desktop & cloud options, template library, and extensibility through plugins. The project is under active development and not yet suitable for production use.

README:

Guepard

The Boring Qwery Platform - Connect and query anything


Watch on YouTube Join our Community Build License Node Version PRs Welcome

Important Notice

🚧 This project is under active development and not yet suitable for production use. Expect breaking changes, incomplete features, and evolving APIs.

Qwery Platform - The Vision

Qwery is the most capable platform for querying and visualizing data without requiring any prior technical knowledge in data engineering. Using natural language in any supported language, Qwery seamlessly integrates with hundreds of datasources, automatically generates optimized queries, and delivers outcomes across multiple targets including result sets, dashboards, data apps, reports, and APIs.

Getting Started

  1. Choose your environment: Download the desktop application or connect to the Qwery Cloud Platform
  2. Connect your data: Link to your databases, APIs, or other datasources
  3. Start querying: Use natural language to query your datasources instantly
  4. Work with AI agents: Press CMD/CTRL + L to collaborate with intelligent agents that assist with your data workflows

🌟 Features

  • Natural Language Querying: Ask questions in plain language, get SQL automatically
  • Multi-Database Support: PostgreSQL, MySQL, MongoDB, DuckDB, ClickHouse, SQL Server, and more
  • AI-Powered Agents: Intelligent assistants that help with data workflows (CMD/CTRL + L)
  • Visual Data Apps: Build dashboards and data applications without code
  • Desktop & Cloud: Run locally or use our cloud platform
  • Template Library: Pre-built notebooks, queries, and dashboards
  • Extensible: Plugin system for custom datasources and integrations

🚀 Quick Start

Prerequisites

  • Node.js >= 22.x
  • pnpm >= 10.x

Installation

# Clone the repository
git clone https://github.com/Guepard-Corp/qwery-core.git
cd qwery-core

# Install dependencies
pnpm install

# Start development server
pnpm server:dev
pnpm web:dev

The web app will be available at http://localhost:3000

Using apps/web with apps/server: To have the web app use the API server (file repositories) instead of in-app API routes, start the server (pnpm --filter server dev, port 4096) and set VITE_API_URL=http://localhost:4096/api in apps/web/.env. Then start the web app (pnpm --filter web dev). Flow: Web Browser → SSR/Loader → apps/server Hono.

Desktop Application

# Build and run desktop app
pnpm desktop:dev

🛠️ Development

Monorepo Structure

This is a Turborepo monorepo with the following structure:

  • apps/web - Main React Router SaaS application
  • apps/desktop - Desktop application (Electron)
  • packages/features/* - Feature packages
  • packages/ - Shared packages and utilities
  • tooling/ - Build tools and development scripts

Development Commands

# Start all apps in development mode
pnpm dev

# Start specific app
pnpm --filter server dev     # Server app
pnpm --filter web dev        # Web app (port 3000)
pnpm --filter desktop dev    # Desktop app
pnpm --filter tui dev        # Terminal app

# Code Quality
pnpm format:fix              # Auto-fix formatting
pnpm lint:fix                # Auto-fix linting issues
pnpm typecheck               # Type checking
pnpm check                   # Run all quality checks (format, lint, typecheck, build, test)

# Build
pnpm build                   # Build all packages

# Testing
pnpm test                    # Run all tests

Code Quality Standards

  • TypeScript: Strict type checking, avoid any types
  • Linting: ESLint with strict rules
  • Formatting: Prettier with consistent style
  • Testing: Vitest for unit tests, Playwright for E2E

Always run pnpm check before committing to ensure all quality checks pass.

📚 Documentation

🤝 Contributing

We welcome contributions! Check out our Contributing Guide to get started.

Before Submitting

  1. Run pnpm check to ensure all quality checks pass
  2. Make sure your code follows our TypeScript guidelines
  3. Write tests for new features
  4. Update documentation as needed

Resources

💬 Join Qwery Community

📄 License

This project uses the Elastic License 2.0 (ELv2). See the LICENSE file for details.

🙏 Thank You

We're grateful to the open source community. See our Thank You page for acknowledgments.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for qwery-core

Similar Open Source Tools

For similar tasks

For similar jobs