Makefile
Rama main · réplica de lectura del repositorio original.
.DEFAULT_GOAL := help
SHELL := /bin/bash
WORKER_URL ?= http://localhost:8081
SCENARIO ?= bench/scenarios/stt-backends.toml
BENCH_ARGS ?= --dry-run
.PHONY: help
help: ## Show this help
@grep -hE '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) \
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[1m%-14s\033[0m %s\n", $$1, $$2}'
.PHONY: sync
sync: ## Install the workspace (CPU deps only)
uv sync
.PHONY: sync-gpu
sync-gpu: ## Full workspace + inference extras in one venv (mcp, worker, whisperX, ST, NVML, dev)
uv sync --group gpu
.PHONY: test
test: ## Run the test suite (CPU only, no model downloads)
uv run pytest -q
.PHONY: lock
lock: ## Refresh uv.lock
uv lock
.PHONY: openapi
openapi: ## Regenerate worker/openapi.json — the mcp/worker contract
uv run python worker/scripts/export_openapi.py
.PHONY: run-worker
run-worker: ## Run the worker locally (needs `make sync-gpu` for real inference)
uv run vidtheque-worker
.PHONY: bench
bench: ## Run a bench scenario (SCENARIO=… BENCH_ARGS='--out bench/runs/')
uv run python bench/run.py $(SCENARIO) --worker-url $(WORKER_URL) $(BENCH_ARGS)
.PHONY: bench-list
bench-list: ## List bundled bench scenarios
uv run python bench/run.py --list
.PHONY: web-check
web-check: ## Run every web/ check CI runs, in the same order
cd web && pnpm install --frozen-lockfile
cd web && pnpm tokens:check
cd web && pnpm format:check
cd web && pnpm lint
cd web && pnpm test
cd web && pnpm typecheck
cd web && pnpm build
.PHONY: images
images: ## Build the dependency bases and three runnable images locally
worker_base_tag="$$(scripts/image_inputs.sh worker --tag)"; \
docker build -f worker/Dockerfile.base -t "vidtheque-worker-base:$$worker_base_tag" .; \
docker build --build-arg "BASE_IMAGE=vidtheque-worker-base:$$worker_base_tag" -f worker/Dockerfile -t vidtheque-worker:dev .
mcp_base_tag="$$(scripts/image_inputs.sh mcp --tag)"; \
docker build -f mcp/Dockerfile.base -t "vidtheque-mcp-base:$$mcp_base_tag" .; \
docker build --build-arg "BASE_IMAGE=vidtheque-mcp-base:$$mcp_base_tag" -f mcp/Dockerfile -t vidtheque-mcp:dev .
docker build -f web/Dockerfile -t vidtheque-web:dev web