set dotenv-load := false dev_compose := "docker/docker-compose.dev.yml" prod_compose := "docker/docker-compose.yml" # List available recipes default: @just --list # Full dev setup: services + deps + env + dev server setup: services install env @echo "Ready. Run 'just dev' to start." # Start dev PostgreSQL + MinIO services: docker compose -f {{dev_compose}} up -d @echo "Waiting for services..." @sleep 3 @echo "PostgreSQL: localhost:5435" @echo "MinIO API: localhost:9000" @echo "MinIO UI: localhost:9001 (minioadmin/minioadmin)" # Stop dev services services-down: docker compose -f {{dev_compose}} down # Install pnpm dependencies install: pnpm install # Create .env from example if it doesn't exist env: @[ -f apps/web/.env ] || (cp apps/web/.env.example apps/web/.env && sed -i 's/:5432/:5435/' apps/web/.env && echo "Created apps/web/.env (port adjusted to 5435)") @[ -f apps/web/.env ] && echo "apps/web/.env exists" # Start Next.js dev server dev: pnpm --filter @advdoors/web dev # Start everything: services + dev server up: services pnpm --filter @advdoors/web dev # Run scraper scrape: pnpm --filter @advdoors/scraper scrape # Build all packages build: pnpm turbo build # Typecheck all packages typecheck: pnpm turbo typecheck # Lint all packages lint: pnpm turbo lint # Clean build artifacts clean: pnpm turbo clean rm -rf node_modules apps/*/node_modules packages/*/node_modules # Reset dev database (destructive) db-reset: docker compose -f {{dev_compose}} down -v docker compose -f {{dev_compose}} up -d @echo "Database and MinIO volumes wiped. Restart dev server to re-create schema." # Production: build and start all containers prod-up: docker compose -f {{prod_compose}} up -d --build # Production: stop prod-down: docker compose -f {{prod_compose}} down # Production: view logs prod-logs *args: docker compose -f {{prod_compose}} logs {{args}} # Show status of dev services status: docker compose -f {{dev_compose}} ps