run: ## Run the application (cross-platform; uses go run for dev on Linux/macOS/Windows) @go run . run-debug: ## Run the application with debug logging (cross-platform) @go run . --log-level debug build: deps ## Build a snapshot of the application for the current platform (uses -short for fast feedback) @go test -short -v ./... @goreleaser build --single-target --snapshot --clean test: deps ## Run all tests @go test -shuffle=on -timeout=5m -v ./... test-race: deps ## Run all tests with the race detector @go test -race -shuffle=on -timeout=5m -v ./... lint: deps check-review-labels ## Run golangci-lint + review label hygiene check @golangci-lint run ./... check-review-labels: ## Fail if temporary review labels (P0-01, T1, I3, R2, etc.) are found in source @! grep -rnE '\b[A-Z][0-9][^a-zA-Z]' --include='*.go' . 2>/dev/null | grep -v 'G[0-9]\{3\}' || (echo "Error: Found temporary review labels (P*, T*, I*, etc.) in source. See plans/README.md for the rule." && exit 1) deps: ## Download dependencies @go mod tidy clean: ## Remove build artifacts and test cache @rm -rf bin/ dist/ *.test coverage.out steamcache2 bench: deps ## Run benchmarks (with timer hygiene + allocs; optional in CI) @echo "Running key benchmarks (use -benchmem for more)..." @go test -bench=BenchmarkMemoryFS_CreateOpen -benchmem -run=^$ ./vfs/memory @go test -bench=BenchmarkDiskFS_CreateOpen -benchmem -run=^$ ./vfs/disk @go test -bench=BenchmarkEvictionUnderPressure -benchmem -run=^$ ./vfs/memory @echo "Bench done. Add -bench=. for all." help: ## Show this help message @echo steamcache2 Makefile @echo Available targets: @echo run Run the application (cross-platform via go run) @echo run-debug Run the application with debug logging (cross-platform) @echo build Build the application (goreleaser snapshot) @echo test Run all tests @echo test-race Run all tests with the race detector @echo lint Run golangci-lint + review label check @echo check-review-labels Fail on temporary review labels (P*, T*, I*, R*, etc.) @echo deps Download dependencies @echo clean Remove build/test artifacts