SHELL := /bin/bash
.DEFAULT_GOAL := help

.PHONY: help doctor validate check tree

help: ## 사용 가능한 명령을 표시합니다.
	@awk 'BEGIN {FS = ":.*## "; print "Usage: make <target>"} /^[a-zA-Z_-]+:.*## / {printf "  %-12s %s\n", $$1, $$2}' $(MAKEFILE_LIST)

doctor: ## 현재 로컬 도구 상태를 확인합니다.
	@./scripts/doctor.sh

validate: ## 구조, shell, Kustomize, Helm lint와 IaC format을 검증합니다.
	@./scripts/validate.sh

check: validate ## CI와 동일한 전체 검증을 실행합니다.

tree: ## 생성물과 Git 메타데이터를 제외한 구조를 표시합니다.
	@find . \
		\( \
			-name .build -o \
			-name .cache -o \
			-name .git -o \
			-name .terraform -o \
			-name .terragrunt-cache -o \
			-name dist -o \
			-name rendered -o \
			-name tmp \
		\) -prune -o \
		-print | sort
