# Ai Resume - build entry points. # # `make validate` is the content gate: it is what CI and deploy.sh call. # It exits 0 only on a clean content tree. # # `make build` is the site gate: it generates the templ components, compiles the # two small binaries and writes the pre-rendered site into dist/. One binary # (bin/resume-server) serves the whole site; there is no bundler and no Node. PYTHON ?= python3 VALIDATOR := $(PYTHON) tools/validate_content.py GO ?= go TEMPL ?= templ BIN := bin DIST := dist .PHONY: build dist generate dev test validate validate-self-test fmt vet clean help help: @echo "make build templ generate, compile bin/, no dist" @echo "make dist build, then pre-render content into dist/" @echo "make dev pre-render into dist/ and serve it on 127.0.0.1:8096" @echo "make generate run templ generate (generated files are not committed)" @echo "make test go test ./... plus the validator self-test" @echo "make validate validate content/** front-matter against the frozen schema" @echo "make fmt vet gofmt / go vet over cmd and internal" @echo "make clean remove bin/ and dist/" build: generate @mkdir -p $(BIN) $(GO) build -trimpath -buildvcs=false -o $(BIN)/resume-build ./cmd/build $(GO) build -trimpath -buildvcs=false -o $(BIN)/resume-server ./cmd/server dist: build @$(BIN)/resume-build --dist $(DIST) dev: dist @RESUME_DIST=$(DIST) $(BIN)/resume-server generate: @command -v $(TEMPL) >/dev/null || { echo "templ is not on PATH; run this inside 'nix develop'"; exit 1; } @$(TEMPL) generate test: generate validate-self-test @$(GO) test ./... validate: @$(VALIDATOR) validate-self-test: @$(VALIDATOR) --self-test fmt: @gofmt -l -w cmd internal vet: @$(GO) vet ./... clean: @rm -rf $(BIN) $(DIST)