Welcome to the NexQuery AI project! We appreciate your interest in contributing. This document provides guidelines for setting up the development environment and submitting contributions.
This is a Monorepo managed by PNPM Workspaces.
backend/: AdonisJS 6 (Node.js) API server.frontend/: Vue 3 + Vite + TailwindCSS + Shadcn UI.miniprogram/: Uni-app (Vue 3) for WeChat Mini Program.packages/shared/: Shared TypeScript types and utilities.packages/e2e/: Playwright end-to-end tests.
- Node.js: v20 or higher.
- PNPM: v9 (
npm install -g pnpm). - Docker: For running Database (Postgres) and Vector Store (Qdrant).
-
Clone the repository:
git clone https://github.com/nexquery/nexquery-ai.git cd nexquery-ai -
Install dependencies:
pnpm install
-
Setup Environment Variables:
- Copy
.env.exampleto.envin root,backend/, andfrontend/. - Update database credentials in
.envif needed.
- Copy
-
Start Services (Docker):
docker-compose up -d db qdrant
-
Run Migrations & Seed:
pnpm backend:migrate pnpm backend:seed
-
Start Development Servers:
# Start both frontend and backend pnpm dev- Frontend: http://localhost:3000
- Backend API: http://localhost:3008
- API Docs: http://localhost:3008/docs
- Unit Tests (Backend):
pnpm backend:test - E2E Tests:
pnpm test:e2e
main: Stable production branch.develop: Integration branch for new features.- Feature branches:
feature/your-feature-name - Fix branches:
fix/issue-description
- We use ESLint and Prettier.
- Run
pnpm lintbefore committing. - Commit messages should follow Conventional Commits.
AGPL-3.0