Skip to main content

Developing & Contributing

Follow these instructions if you want to contribute to the project or build from source.

Prerequisites

  • Go: 1.24 or later
  • Node.js: 22.x or later
  • pnpm: 9.x or later
  • Air: For backend hot-reloading
  • Docker: For running local infrastructure

Initial Setup

  1. Clone the repository:
  2. Install Frontend Dependencies:
  3. Download Backend Dependencies:
  4. Start Development Infrastructure: This will spin up the required databases (Postgres, ClickHouse, MinIO) in the background.

Running for Development

Run the backend and frontend in separate terminals.
  1. Backend:
  2. Frontend:

Project Structure

  • cmd/lite: Main entry point and CLI configuration.
  • internal/: Application logic, API handlers, and services.
  • pkg/: Reusable packages for storage, logging, and caching.
  • web/: Frontend React application.
  • deployments/: Docker Compose and deployment configurations.
  • migrate/: PostgreSQL schema migrations.
  • build/: Dockerfile and build scripts.

Contributing Guidelines

  1. Branching: Use descriptive branch names (feature/*, fix/*).
  2. Formatting: Use go fmt and pnpm lint.
  3. Commits: Provide clear, professional messages.
  4. Pull Requests: Provide a detailed description of changes.