Kelvin-programmer/pulsecommerce
0
1.PHONY: help install install-dev clean generate warehouse pipeline app site tableau test lint format typecheck docker-build docker-run ci2 3PYTHON := python4PIP := $(PYTHON) -m pip5 6help:7 @echo "PulseCommerce - available targets:"8 @echo " install Install runtime dependencies"9 @echo " install-dev Install dev dependencies + package in editable mode"10 @echo " generate Generate synthetic ecommerce dataset"11 @echo " warehouse Build DuckDB warehouse (staging + marts + metrics)"12 @echo " pipeline Run the full analytical pipeline (all 5 layers)"13 @echo " app Launch the Streamlit dashboard"14 @echo " tableau Export the Tableau Public CSV bundle"15 @echo " site Serve the static Tableau site on :8000"16 @echo " test Run pytest with coverage"17 @echo " lint Ruff check"18 @echo " format Ruff format"19 @echo " typecheck Mypy"20 @echo " ci Full CI pipeline (lint + typecheck + test)"21 @echo " docker-build Build Docker image"22 @echo " docker-run Run dashboard in Docker"23 @echo " clean Remove caches and generated data"24 25install:26 $(PIP) install -r requirements.txt27 28install-dev:29 $(PIP) install -r requirements-dev.txt30 $(PIP) install -e .31 32generate:33 $(PYTHON) -m pulsecommerce.cli generate --seed 4234 35warehouse:36 $(PYTHON) -m pulsecommerce.cli warehouse37 38pipeline:39 $(PYTHON) -m pulsecommerce.cli pipeline40 41app:42 streamlit run dashboard/Home.py43 44tableau:45 $(PYTHON) -m pulsecommerce.cli tableau46 47site:48 $(PYTHON) -m http.server 8000 --directory site49 50test:51 pytest52 53lint:54 ruff check src tests55 56format:57 ruff format src tests58 59typecheck:60 mypy src61 62ci: lint typecheck test63 64docker-build:65 docker build -t pulsecommerce:latest .66 67docker-run:68 docker run --rm -p 8501:8501 pulsecommerce:latest69 70clean:71 rm -rf .pytest_cache .ruff_cache .mypy_cache htmlcov .coverage72 rm -rf build dist *.egg-info73 find . -type d -name __pycache__ -exec rm -rf {} +74 rm -rf data/raw/*.parquet data/processed/*.parquet data/warehouse data/tableau/*.csv75 