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

PASS_CLI ?= $(HOME)/.local/bin/pass-cli

.PHONY: help install dev build start env check up down logs restart

help: ## Show this help
	@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "  \033[36m%-12s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)

install: ## Install deps
	pnpm install

dev: ## Run Astro dev server (needs REDIS_URL — falls back to graceful warnings)
	pnpm dev

build: ## Build SSR bundle
	pnpm build

start: ## Run built bundle locally
	node ./dist/server/entry.mjs

check: ## Type-check (astro check)
	pnpm check

env: ## Materialize .env from .env.tmpl via pass-cli
	$(PASS_CLI) inject --in-file .env.tmpl --out-file .env --file-mode 0600

up: ## docker compose up -d --build --wait (prod-like)
	docker compose up -d --build --wait

down: ## docker compose down
	docker compose down

logs: ## docker compose logs -f
	docker compose logs -f --tail=100

restart: ## docker compose restart app
	docker compose restart app
