File size: 3,105 Bytes
939c0c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# ============================================================
# Enterprise AI Copilot — Makefile
# ============================================================
.PHONY: help dev build test migrate seed lint clean deploy-hf

help:
	@echo ""
	@echo "  Enterprise AI Copilot Platform"
	@echo "  ================================"
	@echo "  make dev          - Start all services (local dev)"
	@echo "  make build        - Build Docker images"
	@echo "  make test         - Run pytest suite"
	@echo "  make lint         - Run ruff linter"
	@echo "  make migrate      - Run Alembic migrations"
	@echo "  make seed         - Seed demo data"
	@echo "  make clean        - Remove containers + volumes"
	@echo "  make deploy-hf    - Build + push to Hugging Face Spaces"
	@echo ""

# ---- Development ------------------------------------------
dev:
	@echo "Starting Enterprise AI Copilot..."
	docker compose -f docker/docker-compose.yml up --build

dev-bg:
	docker compose -f docker/docker-compose.yml up --build -d

stop:
	docker compose -f docker/docker-compose.yml down

# ---- Build ------------------------------------------------
build:
	docker compose -f docker/docker-compose.yml build

build-hf:
	docker build -t enterprise-ai-copilot:latest -f Dockerfile .

# ---- Database ---------------------------------------------
migrate:
	docker compose -f docker/docker-compose.yml exec backend alembic upgrade head

migrate-local:
	cd backend && alembic upgrade head

seed:
	docker compose -f docker/docker-compose.yml exec backend python scripts/seed_data.py

seed-local:
	cd backend && python ../scripts/seed_data.py

# ---- Testing ----------------------------------------------
test:
	docker compose -f docker/docker-compose.yml exec backend pytest tests/ -v --cov=app --cov-report=term-missing

test-local:
	cd backend && pytest ../tests/ -v --cov=app --cov-report=term-missing

test-unit:
	cd backend && pytest ../tests/unit/ -v

test-integration:
	cd backend && pytest ../tests/integration/ -v

# ---- Code Quality -----------------------------------------
lint:
	cd backend && ruff check app/ ../agents/ ../services/
	cd backend && ruff format --check app/ ../agents/ ../services/

format:
	cd backend && ruff format app/ ../agents/ ../services/

# ---- Clean ------------------------------------------------
clean:
	docker compose -f docker/docker-compose.yml down -v --remove-orphans
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -name "*.pyc" -delete 2>/dev/null || true

clean-all: clean
	docker system prune -f

# ---- Hugging Face Deployment ------------------------------
deploy-hf:
	@echo "Building single-container image for HF Spaces..."
	docker build -t enterprise-ai-copilot:hf -f Dockerfile .
	@echo "Push to your HF Space repo manually:"
	@echo "  git remote add hf https://huggingface.co/spaces/YOUR_USERNAME/enterprise-ai-copilot"
	@echo "  git push hf main"

# ---- Logs -------------------------------------------------
logs:
	docker compose -f docker/docker-compose.yml logs -f backend

logs-all:
	docker compose -f docker/docker-compose.yml logs -f