.PHONY: lint install-lint

lint:
	@which golangci-lint > /dev/null || (echo "golangci-lint not found, installing..." && make install-lint)
	golangci-lint run ./...

install-lint:
	go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

fix:
	golangci-lint run --fix ./...

semgrep:
	@which semgrep > /dev/null || (echo "semgrep not found, please install it: brew install semgrep")
	semgrep scan --config auto --config semgrep-rules.yml

semgrep-ci:
	semgrep scan --config auto --config semgrep-rules.yml --error