SHELL := /bin/bash .PHONY: bootstrap test dev-api dev-web dev-worker serve-api serve-web serve-worker infra-up infra-down guardrails bootstrap: pnpm install bash scripts/install_hooks.sh test: python3 -m unittest discover -s tests -p 'test_*.py' pnpm --filter api test pnpm --filter web test src/features/assets/assets-page.test.tsx src/features/workflows/workflow-editor-page.test.tsx src/features/explore/explore-page.test.tsx src/runtime/workflow-editor-state.test.ts src/runtime/i18n.test.ts src/runtime/custom-node-presenter.test.ts pnpm --filter web build pnpm --filter worker test dev-api: pnpm --filter api dev dev-web: pnpm --filter web dev dev-worker: pnpm --filter worker dev serve-api: MONGO_URI="$${MONGO_URI:-mongodb://127.0.0.1:27017}" \ MONGO_DB="$${MONGO_DB:-emboflow}" \ API_HOST="$${API_HOST:-127.0.0.1}" \ API_PORT="$${API_PORT:-3001}" \ CORS_ORIGIN="$${CORS_ORIGIN:-http://127.0.0.1:3000}" \ pnpm --filter api start serve-web: VITE_API_BASE_URL="$${VITE_API_BASE_URL:-http://127.0.0.1:3001}" \ pnpm --filter web start -- --host 127.0.0.1 --port 3000 serve-worker: MONGO_URI="$${MONGO_URI:-mongodb://127.0.0.1:27017}" \ MONGO_DB="$${MONGO_DB:-emboflow}" \ WORKER_POLL_INTERVAL_MS="$${WORKER_POLL_INTERVAL_MS:-1000}" \ pnpm --filter worker start infra-up: docker compose up -d mongo minio infra-down: docker compose down guardrails: python3 scripts/check_doc_code_sync.py . --strict python3 scripts/check_commit_message.py --rev-range HEAD