Skip to content

Development Setup

This guide covers setting up IncLearn for local development.

Prerequisites

  • Python 3.13+
  • Node.js 24+
  • Docker & Docker Compose 2.30+
  • bun (package manager)
  • uv (package manager)
  • lefthook (for git hooks)

Quick Start

Clone the Repository

git clone https://github.com/inlibre/inclearn.git
cd inclearn

Server Setup

Follow instructions in server/README.md.

Web Setup

Follow instructions in web/README.md.

Git Hooks

  1. Install lefthook:
  2. macOS: brew install lefthook
  3. Linux/Windows: go install github.com/evilmartians/lefthook@latest

  4. Install the hooks:

    lefthook install
    

  5. Keep dev dependencies downloaded:

  6. server/.venv/ (Python dependencies)
  7. web/node_modules/ (Node dependencies)

Running Development Servers

Server

cd server
uv sync
uv run uvicorn src.inclearn.main:app --reload

Web

cd web
bun install
bun run dev

Documentation

cd docs
zensical serve

Building

Server

cd server
uv run ruff check src/

Web

cd web
bun run check

Documentation

cd docs
zensical build