Skip to content

Commit 51ec7f2

Browse files
authored
Create Makefile
1 parent 43e2bbf commit 51ec7f2

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

Makefile

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Makefile — fast, repeatable commands for SynapDrive-AI
2+
3+
PY ?= python
4+
5+
.PHONY: help install install-dev run run-signal dashboard test lint typecheck record replay \
6+
docker-build docker-build-dev docker-run docker-dashboard docker-test
7+
8+
help:
9+
@echo ""
10+
@echo "Targets:"
11+
@echo " make install Install runtime deps"
12+
@echo " make install-dev Install dev deps (ruff/pyright/pytest/pre-commit)"
13+
@echo " make run Run one CLI cycle (text example)"
14+
@echo " make run-signal Run one CLI cycle (signal example)"
15+
@echo " make dashboard Run the Flask dashboard (localhost:5055)"
16+
@echo " make test Run pytest"
17+
@echo " make lint Run ruff"
18+
@echo " make typecheck Run pyright"
19+
@echo " make record Record a run to runs.jsonl (no-delay)"
20+
@echo " make replay Replay runs.jsonl"
21+
@echo ""
22+
@echo "Docker:"
23+
@echo " make docker-build Build runtime image"
24+
@echo " make docker-build-dev Build dev image (includes dev deps)"
25+
@echo " make docker-run Run CLI in container (text example)"
26+
@echo " make docker-dashboard Run dashboard in container (localhost:5055)"
27+
@echo " make docker-test Run pytest in container"
28+
@echo ""
29+
30+
install:
31+
$(PY) -m pip install --upgrade pip
32+
$(PY) -m pip install -r requirements.txt
33+
$(PY) -m pip install -e . || true
34+
35+
install-dev: install
36+
$(PY) -m pip install -r requirements-dev.txt
37+
38+
run:
39+
$(PY) -m synapdrive_ai --text "move left" --image road
40+
41+
run-signal:
42+
$(PY) -m synapdrive_ai --signal walk
43+
44+
dashboard:
45+
$(PY) -m synapdrive_ai.interface.web_dashboard
46+
47+
test:
48+
$(PY) -m pytest -q
49+
50+
lint:
51+
$(PY) -m ruff check .
52+
53+
typecheck:
54+
$(PY) -m pyright
55+
56+
record:
57+
$(PY) -m synapdrive_ai --text "move left" --image road --record runs.jsonl --no-delay
58+
59+
replay:
60+
$(PY) -m synapdrive_ai --replay runs.jsonl
61+
62+
# -----------------------
63+
# Docker targets
64+
# -----------------------
65+
66+
docker-build:
67+
docker build -t synapdrive-ai:latest .
68+
69+
docker-build-dev:
70+
docker build --build-arg INSTALL_DEV=true -t synapdrive-ai:dev .
71+
72+
docker-run: docker-build
73+
docker run --rm synapdrive-ai:latest python -m synapdrive_ai --text "move left" --image road
74+
75+
docker-dashboard: docker-build
76+
docker run --rm -p 5055:5055 synapdrive-ai:latest python -m synapdrive_ai.interface.web_dashboard
77+
78+
docker-test: docker-build-dev
79+
docker run --rm synapdrive-ai:dev pytest -q

0 commit comments

Comments
 (0)