Skip to content

Guepard-Corp/qwery-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

552 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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.

Local connectivity fix (hostname pitfall)

On some systems, the HOSTNAME environment variable contains your PC name (for example my-laptop) instead of a bind address, which can make the server unreachable from other devices.

To force a proper bind address, set HOSTNAME explicitly before starting the server.

Example:

HOSTNAME=0.0.0.0 pnpm --filter server dev

Use 0.0.0.0 when you want the server reachable from your local network.

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.

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors