Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
92 lines (71 loc) · 3.2 KB
/
Copy pathMakefile
File metadata and controls
92 lines (71 loc) · 3.2 KB
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
.PHONY: help dev-web typecheck-web build-web lint-web status add commit up down web-upgrade server-upgrade db-container-upgrade db-migrate db-upgrade dev-server test install-client
help:
@echo "Inaam Project Command Registry"
@echo "==============================="
@echo "Usage: make [command]"
@echo ""
@echo "Available commands:"
@echo " help - Display this help menu"
@echo " dev-web - Start Next.js client dev server using bun"
@echo " typecheck-web - Run TypeScript type checks on the client"
@echo " build-web - Compile Next.js client production build"
@echo " lint-web - Run ESLint check on the client"
@echo " status - Run git status"
@echo " add - Stage all current changes (git add .)"
@echo " commit m=\"msg\" - Commit staged changes with message"
@echo " up - Build and start all Docker containers in background"
@echo " down - Stop and tear down all Docker containers"
@echo " teardown - Stop and remove all containers, images, and volumes"
@echo " web-upgrade - Rebuild and upgrade the client (web) container"
@echo " server-upgrade - Rebuild and upgrade the FastAPI (server) container"
@echo " db-container-upgrade - Upgrade/recreate the Postgres database container"
@echo " db-migrate m=\"msg\" - Create a database migration revision using Alembic"
@echo " db-upgrade - Run database Alembic migrations to head"
@echo " dev-server - Start FastAPI backend dev server using uv"
@echo " test - Run backend pytest test suite"
@echo " install-client pkg=\"x\" - Install a client npm/bun package"
@echo " install-server pkg=\"x\" - Install a server python package via uv"
@echo " db-seed - Run database seed script"
@echo ""
dev-web:
cd apps/client && bun run dev
typecheck-web:
cd apps/client && bun x tsc --noEmit
build-web:
cd apps/client && bun run build
lint-web:
cd apps/client && bun run lint
status:
git status
add:
git add .
commit:
git commit -m "$(m)"
# Docker commands
up:
docker compose -f infra/docker-compose.local.yml up --build -d
down:
docker compose -f infra/docker-compose.local.yml down
teardown:
docker compose -f infra/docker-compose.local.yml down --rmi all --volumes --remove-orphans
web-upgrade:
docker compose -f infra/docker-compose.local.yml up --build -d -V web
server-upgrade:
docker compose -f infra/docker-compose.local.yml up --build -d -V server
db-container-upgrade:
docker compose -f infra/docker-compose.local.yml up --build -d db
# Database commands
db-migrate:
cd apps/server && PYTHONPATH=../..:.:$$PYTHONPATH uv run alembic revision --autogenerate -m "$(m)"
db-upgrade:
cd apps/server && PYTHONPATH=../..:.:$$PYTHONPATH uv run alembic upgrade head
dev-server:
cd apps/server && PYTHONPATH=../..:.:$$PYTHONPATH uv run fastapi dev main.py
test:
cd apps/server && PYTHONPATH=../..:.:$$PYTHONPATH uv run pytest
install-client:
cd apps/client && bun install $(pkg)
install-server:
cd apps/server && uv add $(pkg)
db-seed:
cd apps/server && PYTHONPATH=../..:.:$$PYTHONPATH uv run python -m scripts.seed_data