1# Catwalk - AI Provider Database
 2
 3## Build/Test Commands
 4
 5- `go build` - Build the main HTTP server
 6- `go build ./cmd/openrouter` - Build OpenRouter config generator
 7- `go test ./...` - Run all tests
 8- `go test -run TestName ./pkg/...` - Run specific test
 9- `go run main.go` - Start HTTP server on :8080
10- `go run ./cmd/openrouter/main.go` - Generate OpenRouter config
11
12## Code Style Guidelines
13
14- Package comments: Start with "Package name provides/represents..."
15- Imports: Standard library first, then third-party, then local packages
16- Error handling: Use `fmt.Errorf("message: %w", err)` for wrapping
17- Struct tags: Use json tags with omitempty for optional fields
18- Constants: Group related constants with descriptive comments
19- Types: Use custom types for IDs (e.g., `InferenceProvider`, `Type`)
20- Naming: Use camelCase for unexported, PascalCase for exported
21- Comments: Use `//nolint:directive` for linter exceptions
22- HTTP: Always set timeouts, use context, defer close response bodies
23- JSON: Use `json.MarshalIndent` for pretty output, validate unmarshaling
24- File permissions: Use 0o600 for sensitive config files