11.PHONY : help dev install clean \
22 backend-install backend-run backend-test backend-format backend-lint \
3+ core-install core-run core-test core-format core-lint \
34 frontend-install frontend-dev frontend-build \
4- docker-up docker-down docker-logs docker-build docker-restart docker-shell \
5- docker-up-solo docker-down-solo docker-up-team docker-down-team
5+ docker-up docker-down docker-logs docker-build docker-rebuild docker-restart docker-shell \
6+ docker-up-solo docker-down-solo docker-up-team docker-down-team \
7+ docker-up-prod docker-down-prod docker-rebuild-prod
68
79help :
810 @echo " SAM3 Annotation Platform - Monorepo"
2022 @echo " backend-format - Format backend code with ruff"
2123 @echo " backend-lint - Lint backend code with ruff"
2224 @echo " "
25+ @echo " API Core Commands:"
26+ @echo " core-install - Install api-core dependencies with uv"
27+ @echo " core-run - Run api-core service locally"
28+ @echo " core-test - Run api-core tests"
29+ @echo " core-format - Format api-core code with ruff"
30+ @echo " core-lint - Lint api-core code with ruff"
31+ @echo " "
2332 @echo " Frontend Commands:"
2433 @echo " frontend-install - Install frontend dependencies with npm"
2534 @echo " frontend-dev - Run frontend dev server"
@@ -28,20 +37,24 @@ help:
2837 @echo " Docker Commands:"
2938 @echo " docker-up - Start development environment (hot-reload)"
3039 @echo " docker-down - Stop development services"
40+ @echo " docker-up-prod - Start production environment (optimized build)"
41+ @echo " docker-down-prod - Stop production services"
3142 @echo " docker-up-solo - Start SOLO mode (minimal, IndexedDB storage)"
3243 @echo " docker-down-solo - Stop SOLO mode services"
3344 @echo " docker-up-team - Start TEAM mode (full stack: Postgres, MinIO, Redis, Workers)"
3445 @echo " docker-down-team - Stop TEAM mode services"
35- @echo " docker-logs - View logs (usage: make docker-logs service=backend|frontend)"
46+ @echo " docker-logs - View logs (usage: make docker-logs service=backend|api-core| frontend)"
3647 @echo " docker-build - Rebuild all Docker images"
37- @echo " docker-restart - Restart services (usage: make docker-restart service=backend|frontend)"
38- @echo " docker-shell - Open shell in container (usage: make docker-shell service=backend|frontend)"
48+ @echo " docker-rebuild - Rebuild images, stop, and restart services (build -> down -> up)"
49+ @echo " docker-rebuild-prod - Rebuild production images (build -> down -> up)"
50+ @echo " docker-restart - Restart services (usage: make docker-restart service=backend|api-core|frontend)"
51+ @echo " docker-shell - Open shell in container (usage: make docker-shell service=backend|api-core|frontend)"
3952
4053# Development
4154dev :
4255 @echo " Starting development environment..."
4356 @echo " This will start both backend and frontend services using Docker Compose"
44- docker-compose up
57+ docker-compose -f docker/docker-compose.dev.yml up
4558
4659install :
4760 @echo " Installing frontend dependencies..."
@@ -86,6 +99,30 @@ backend-lint:
8699 @echo " Linting backend code..."
87100 @cd apps/api-inference && uv run ruff check src/
88101
102+ # API Core commands
103+ core-install :
104+ @echo " Installing api-core dependencies..."
105+ @cd apps/api-core && uv venv || true
106+ @cd apps/api-core && uv sync
107+ @echo " ✓ API Core dependencies installed"
108+
109+ core-run :
110+ @echo " Starting API Core service..."
111+ @cd apps/api-core/src && PYTHONPATH=. uv run python app/main.py
112+
113+ core-test :
114+ @echo " Running api-core tests..."
115+ @cd apps/api-core && uv run pytest src/tests/ -v
116+
117+ core-format :
118+ @echo " Formatting api-core code..."
119+ @cd apps/api-core && uv run ruff check --fix src/
120+ @cd apps/api-core && uv run ruff format src/
121+
122+ core-lint :
123+ @echo " Linting api-core code..."
124+ @cd apps/api-core && uv run ruff check src/
125+
89126# Frontend commands
90127frontend-install :
91128 @echo " Installing frontend dependencies..."
@@ -101,18 +138,38 @@ frontend-build:
101138 @cd apps/web && npm run build
102139
103140# Docker commands
141+
104142docker-up :
105143 @echo " Starting Docker services (development mode)..."
106- docker-compose -f docker/docker-compose.dev.yml up -d
144+ docker-compose -f docker/docker-compose.dev.yml --profile dev up -d
107145 @echo " "
108146 @echo " ✓ Services started:"
109- @echo " Backend API: http://localhost:8000"
110- @echo " API Docs: http://localhost:8000/docs"
147+ @echo " Backend API (SAM3): http://localhost:8000"
148+ @echo " Backend Docs: http://localhost:8000/docs"
149+ @echo " API Core (BYOM): http://localhost:8001"
150+ @echo " API Core Docs: http://localhost:8001/docs"
111151 @echo " Frontend: http://localhost:5173"
152+ @echo " Redis: localhost:6379 (internal)"
112153
113154docker-down :
114155 @echo " Stopping Docker services..."
115- docker-compose -f docker/docker-compose.dev.yml down
156+ docker-compose -f docker/docker-compose.dev.yml --profile dev down
157+
158+ docker-up-prod :
159+ @echo " Starting Docker services (production mode)..."
160+ docker-compose -f docker/docker-compose.dev.yml --profile prod up -d
161+ @echo " "
162+ @echo " ✓ Production services started:"
163+ @echo " Backend API (SAM3): http://localhost:8000"
164+ @echo " Backend Docs: http://localhost:8000/docs"
165+ @echo " API Core (BYOM): http://localhost:8001"
166+ @echo " API Core Docs: http://localhost:8001/docs"
167+ @echo " Frontend (Production): http://localhost:3000"
168+ @echo " Redis: localhost:6379 (internal)"
169+
170+ docker-down-prod :
171+ @echo " Stopping production services..."
172+ docker-compose -f docker/docker-compose.dev.yml --profile prod down
116173
117174docker-up-solo :
118175 @echo " Starting Docker services (SOLO mode - minimal)..."
@@ -146,29 +203,72 @@ docker-down-team:
146203docker-logs :
147204ifdef service
148205 @echo "Viewing logs for $(service)..."
149- docker-compose logs -f $(service)
206+ docker-compose -f docker/docker-compose.dev.yml logs -f $(service)
150207else
151208 @echo "Viewing all logs..."
152- docker-compose logs -f
209+ docker-compose -f docker/docker-compose.dev.yml logs -f
153210endif
154211
155212docker-build :
156213 @echo " Building Docker images..."
157- docker-compose build
214+ docker-compose -f docker/docker-compose.dev.yml build
215+
216+ docker-rebuild :
217+ @echo " Rebuilding Docker services (build -> down -> up)..."
218+ @echo " Step 1/3: Building images..."
219+ @docker-compose -f docker/docker-compose.dev.yml --profile dev build
220+ @echo " "
221+ @echo " Step 2/3: Stopping services..."
222+ @docker-compose -f docker/docker-compose.dev.yml --profile dev down
223+ @echo " "
224+ @echo " Step 3/3: Starting services..."
225+ @docker-compose -f docker/docker-compose.dev.yml --profile dev up -d
226+ @echo " "
227+ @echo " ✓ Services rebuilt and restarted:"
228+ @echo " Backend API (SAM3): http://localhost:8000"
229+ @echo " Backend Docs: http://localhost:8000/docs"
230+ @echo " API Core (BYOM): http://localhost:8001"
231+ @echo " API Core Docs: http://localhost:8001/docs"
232+ @echo " Frontend: http://localhost:5173"
233+ @echo " Redis: localhost:6379 (internal)"
234+
235+ docker-rebuild-prod :
236+ @echo " Rebuilding production Docker services (build -> down -> up)..."
237+ @echo " Step 1/3: Building production images..."
238+ @docker-compose -f docker/docker-compose.dev.yml --profile prod build
239+ @echo " "
240+ @echo " Step 2/3: Stopping services..."
241+ @docker-compose -f docker/docker-compose.dev.yml --profile prod down
242+ @echo " "
243+ @echo " Step 3/3: Starting services..."
244+ @docker-compose -f docker/docker-compose.dev.yml --profile prod up -d
245+ @echo " "
246+ @echo " ✓ Production services rebuilt and restarted:"
247+ @echo " Backend API (SAM3): http://localhost:8000"
248+ @echo " Backend Docs: http://localhost:8000/docs"
249+ @echo " API Core (BYOM): http://localhost:8001"
250+ @echo " API Core Docs: http://localhost:8001/docs"
251+ @echo " Frontend (Production): http://localhost:3000"
252+ @echo " Redis: localhost:6379 (internal)"
158253
159254docker-restart :
160255ifdef service
161256 @echo "Restarting $(service) service..."
162- docker-compose restart $(service)
257+ docker-compose -f docker/docker-compose.dev.yml restart $(service)
163258else
164259 @echo "Restarting all services..."
165- docker-compose restart
260+ docker-compose -f docker/docker-compose.dev.yml restart
166261endif
167262
168263docker-shell :
169264ifdef service
170265 @echo "Opening shell in $(service) container..."
171- docker-compose exec $(service) sh
266+ docker-compose -f docker/docker-compose.dev.yml exec $(service) sh
172267else
173268 @echo "Error: Please specify service (e.g., make docker-shell service=backend)"
174269endif
270+
271+
272+ frontend-clear-cache :
273+ rm -rf apps/web/node_modules/.vite
274+ docker-compose -f docker/docker-compose.dev.yml restart frontend
0 commit comments