Skip to content

Commit ce0c2ab

Browse files
authored
Merge branch 'main' into feature/ultralytics-sam3-enhancements
2 parents e7b63e7 + 94497c4 commit ce0c2ab

File tree

462 files changed

+115760
-4734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+115760
-4734
lines changed

.gitignore

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ apps/sam3.pt
1717
sam3.pt
1818

1919
# Environment variables
20-
.env
20+
# .env
2121
.secret
22-
apps/api-inference/.env
22+
# apps/api-inference/.env
2323
apps/api-inference/.secret
24-
apps/web/.env
24+
# apps/web/.env
2525

2626
# IDEs
2727
.vscode/
@@ -79,6 +79,8 @@ htmlcov/
7979
*.tmp
8080
*.temp
8181
.claude
82+
.codex
83+
.agent
8284
backend/docs
8385
# Local scripts
84-
commit-and-push.sh
86+
commit-and-push.sh

CLAUDE.md

Lines changed: 570 additions & 128 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 116 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
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

79
help:
810
@echo "SAM3 Annotation Platform - Monorepo"
@@ -20,6 +22,13 @@ help:
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
4154
dev:
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

4659
install:
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
90127
frontend-install:
91128
@echo "Installing frontend dependencies..."
@@ -101,18 +138,38 @@ frontend-build:
101138
@cd apps/web && npm run build
102139

103140
# Docker commands
141+
104142
docker-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

113154
docker-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

117174
docker-up-solo:
118175
@echo "Starting Docker services (SOLO mode - minimal)..."
@@ -146,29 +203,72 @@ docker-down-team:
146203
docker-logs:
147204
ifdef 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)
150207
else
151208
@echo "Viewing all logs..."
152-
docker-compose logs -f
209+
docker-compose -f docker/docker-compose.dev.yml logs -f
153210
endif
154211

155212
docker-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

159254
docker-restart:
160255
ifdef service
161256
@echo "Restarting $(service) service..."
162-
docker-compose restart $(service)
257+
docker-compose -f docker/docker-compose.dev.yml restart $(service)
163258
else
164259
@echo "Restarting all services..."
165-
docker-compose restart
260+
docker-compose -f docker/docker-compose.dev.yml restart
166261
endif
167262

168263
docker-shell:
169264
ifdef 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
172267
else
173268
@echo "Error: Please specify service (e.g., make docker-shell service=backend)"
174269
endif
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

Comments
 (0)