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