> ## Documentation Index
> Fetch the complete documentation index at: https://ihub.learnille.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Setup Guide

> Migrated from the previous Learnille internal documentation hub

## Prerequisites

Before setting up the development environment, ensure you have the following installed:

* Node.js (version 18 or higher)
* npm or yarn
* Git
* Docker (optional, for local development)
* VS Code or preferred IDE

## Getting Started

### 1. Clone the Repository

```bash theme={null}
git clone https://github.com/your-org/learnille.git
cd learnille
```

### 2. Install Dependencies

```bash theme={null}
# Install root dependencies
npm install

# Install server dependencies
cd server
npm install

# Install client dependencies
cd ../client
npm install
```

### 3. Environment Setup

Create environment files:

```bash theme={null}
# Copy environment templates
cp server/.env.example server/.env
cp client/.env.example client/.env
```

Update the `.env` files with your local configuration.

### 4. Database Setup

```bash theme={null}
# Start database (if using Docker)
docker-compose up -d

# Run migrations
cd server
npm run migration:run
```

### 5. Start Development Servers

```bash theme={null}
# Start server
cd server
npm run start:dev

# Start client (in new terminal)
cd client
npm run dev
```

## Development Workflow

### Running Tests

```bash theme={null}
# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run e2e tests
npm run test:e2e
```

### Code Quality

```bash theme={null}
# Run linter
npm run lint

# Fix linting issues
npm run lint:fix

# Run type checking
npm run typecheck
```

## IDE Configuration

### VS Code Extensions

* TypeScript and JavaScript Language Features
* Prettier
* ESLint
* GitLens
* Docker (if using containers)

### Settings

Add to your VS Code settings:

```json theme={null}
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "typescript.preferences.importModuleSpecifier": "relative"
}
```

## Troubleshooting

### Common Issues

1. **Port conflicts**: Change ports in `.env` files
2. **Database connection**: Ensure Docker is running
3. **Dependencies**: Clear node\_modules and reinstall
4. **Permissions**: Check file permissions for scripts

### Getting Help

* Check existing issues on GitHub
* Review documentation in `/docs`
* Contact the development team

## Next Steps

* Read the coding standards
* Review the version control policy
* Familiarize yourself with the project structure
* Start with a small feature or bug fix


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.