Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,37 @@ Finally, configure your [pre-commit](https://pre-commit.com) hooks using `pre-co
This will install some hooks to run before a commit can be made, these hooks will run various checks such as a code formatter, linter, file validation, and unit tests.
These hooks help make sure formatting is more homogeneous across the project, and that no breaking changes are accidentally committed.

### Windows-specific Setup

Contributors on Windows may encounter additional setup steps not required on Linux or macOS.

#### Microsoft C++ Build Tools
Some dependencies (notably `mysqlclient`) require Microsoft C++ Build Tools to compile from source.
If you see an error like `Microsoft Visual C++ 14.0 or greater is required`, follow these steps:

1. Download the installer from [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
2. Run the installer and select **"Desktop development with C++"**
3. Click **Install** and wait for completion (~10 minutes)
4. Restart your computer and retry the installation

Alternatively, install the pre-built binary to skip compilation entirely:
```commandline
pip install mysqlclient --only-binary=mysqlclient
```

#### Activating Virtual Environment
On Windows, the activation command differs from Linux/macOS:
```commandline
venv\Scripts\activate
```

#### Docker Compose
The project uses `docker-compose.yaml` (note: `.yaml` not `.yml`).
Start the project on Windows using:
```commandline
docker compose -f docker-compose.yaml up app sqlserver keycloak elasticsearch --build
```

## Making a Code Changes
See the ["Developer Documentation"](developer/index.md) for the technical documentation of this project.
More to be added.
Expand Down