This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
A Kubernetes monitoring tool that checks for CronJobs not running according to schedule and sends Slack notifications. It runs as a container inside a K8s cluster, polling all CronJobs every 60 seconds.
## Common Commands
```bash
# Run tests
go test ./...
# Run tests with race detection and coverage
go test -race -coverprofile=coverage.txt ./...
# Build the binary
CGO_ENABLED=0 go build -o release/cron-checker -ldflags '-w -s'
# Check for vulnerabilities
govulncheck ./...
# Format and vet
go fmt ./...
go vet ./...
# Check for unused modules
go mod tidy
```
## Architecture
This is a single-file Go application (`main.go`) with comprehensive tests (`main_test.go`).
**Core Components:**
-`doCheck()` - Main loop that polls K8s CronJobs, parses cron schedules, and sends Slack alerts for overdue jobs
-`Client` / `ClientProvider` interfaces - Abstractions over K8s client for testability
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.