File size: 2,266 Bytes
4780d8d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Makefile Quick Reference

## Most Common Commands

```bash
# Setup
make install-dev              # Install dev dependencies
make help                     # Show all available commands

# Testing
make test                     # Run tests with coverage
make test-fast                # Run tests quickly (no coverage)
make test-ui                  # Test UI components only
make test-cli                 # Test CLI only

# Code Quality
make format                   # Format code with black
make format-check             # Check formatting
make quality                  # Run all quality checks

# Running
make run-ui                   # Launch web interface
make run-single SLIDE=x.svs OUTPUT=out/  # Process single slide
make run-batch CSV=s.csv OUTPUT=out/     # Process batch

# Docker
make docker-build             # Build image
make docker-run               # Run web UI in container
make docker-shell             # Shell into container

# Cleanup
make clean                    # Remove cache files
make clean-all                # Remove everything
```

## Development Workflow

```bash
# 1. Initial setup
make install-dev

# 2. Make changes to code
# ... edit files ...

# 3. Format and test
make format
make test

# 4. Before committing
make quality
make test-coverage

# 5. Optional: Install pre-commit hooks
make pre-commit-install
```

## Docker Workflow

```bash
# Build and test locally
make docker-build
make docker-run

# Process slides with Docker
make docker-run-single SLIDE=my_slide.svs
make docker-run-batch CSV=settings.csv

# Push to registry
make docker-tag DOCKER_REGISTRY=myregistry.com/user
make docker-push DOCKER_REGISTRY=myregistry.com/user
```

## CI/CD

```bash
# Run all CI checks
make ci-test                  # Tests + format check (fast)
make ci-test-strict           # Tests + format check + pylint (slow)
make ci-docker                # Build Docker for CI
```

## Tips

- Use `make help` to see all available commands
- Use `make test-specific TEST=path/to/test` for debugging
- Use `make test-verbose` to see print statements
- Use `make info` to see project information
- Set environment variables to customize Docker:
  ```bash
  export DOCKER_REGISTRY=myregistry.com/user
  export DOCKER_TAG=v1.0.0
  make docker-build
  ```