{%- set svc_modules = [] -%} {%- if 'api' in backend_services %}{% set _ = svc_modules.append("api") %}{% endif -%} {%- if 'aiogram_bot' in backend_services %}{% set _ = svc_modules.append("bot") %}{% endif -%} {%- if 'taskiq_worker' in backend_services %}{% set _ = svc_modules.append("worker") %}{% endif -%} {%- if 'kurigram_userbot' in backend_services %}{% set _ = svc_modules.append("userbot") %}{% endif -%} {%- if 'scheduler' in backend_services and 'taskiq_worker' not in backend_services %}{% set _ = svc_modules.append("scheduler") %}{% endif -%} {%- set has_script = dynamic_config and svc_modules -%} COMPOSE := docker compose --project-directory .. .PHONY: fmt check build{% if database == 'postgres' %} migrate revision{% endif %}{% if has_script %} script{% endif %}{% if 'kurigram_userbot' in backend_services %} session{% endif %} fmt: uv run ruff format uv run ruff check --fix check: uv run ruff format --check uv run ruff check uv run ty check build: $(COMPOSE) build {{ svc_modules[0] }} {% if database == 'postgres' %} migrate: $(COMPOSE) --profile external run --rm migrator revision: $(COMPOSE) --profile external run --rm migrator revision --autogenerate -m "$(m)" {% endif %}{% if has_script %} script: @$(COMPOSE) run --rm {{ svc_modules[0] }} scripts.$(word 2,$(MAKECMDGOALS)) $(wordlist 3,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) %: @: {% endif %}{% if 'kurigram_userbot' in backend_services %} session: uv run python scripts/session/create.py {% endif %}