---
name: step-01-compile
description: Build the full solution to verify compilation
next_step: steps/step-02-unit-tests.md
---

# Step 1: Compilation Check

## BLOCKING - Must pass before proceeding

### 1. Locate the solution file

```bash
# Find the .sln file
ls *.sln 2>/dev/null || find . -maxdepth 2 -name "*.sln" -type f
```

### 2. Cleanup & Build

```bash
# Cleanup corrupted EF Core design-time artifacts (Roslyn BuildHost bug on Windows)
for d in src/*/bin?Debug; do [ -d "$d" ] && echo "Removing corrupted artifact: $d" && rm -rf "$d"; done

dotnet build {SolutionFile} --verbosity minimal
```

### 3. Evaluate result

- **Build succeeded** -> Proceed to step 2
- **Build failed** -> Read the error output, identify the issue:
  - Missing using statement -> Add it
  - Type not found -> Check project references
  - Method signature mismatch -> Fix the code
  - **Re-build until it succeeds**

### 4. Store state

```
{solution_file} = path to .sln file
{build_result} = PASS or FAIL
```
