forked from allgpt-co/QuickVoice
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
187 lines (162 loc) · 4.26 KB
/
Copy pathTaskfile.yml
File metadata and controls
187 lines (162 loc) · 4.26 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
version: "3"
vars:
COMPOSE_FILE: docker-compose.dev.yml
PNPM_VERSION: 9.0.0
tasks:
default:
desc: List available tasks
cmds:
- task --list
silent: true
doctor:
desc: Check host prerequisites for local development
cmds:
- ./scripts/dev-doctor.sh
env:dev:
desc: Create local development env files from templates
cmds:
- ./scripts/dev-env.sh
deps:node:
desc: Install Node workspace dependencies with pnpm
env:
PNPM_VERSION: "{{.PNPM_VERSION}}"
cmds:
- ./scripts/dev-node-deps.sh
deps:update:
desc: Explicitly update the pnpm lockfile when dependency changes are intended
env:
PNPM_VERSION: "{{.PNPM_VERSION}}"
cmds:
- corepack prepare pnpm@{{.PNPM_VERSION}} --activate
- pnpm install --lockfile-only
deps:python:
desc: Create the AI Python virtualenv and install requirements
dir: apps/ai
cmds:
- python3 -m venv .venv
- . .venv/bin/activate && python -m pip install --upgrade pip && python -m pip install -r requirements.txt
deps:
desc: Install Node and Python dependencies
cmds:
- task: deps:node
- task: deps:python
docker:up:
desc: Start local Docker dependencies
deps:
- env:dev
cmds:
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev up -d postgres redis
docker:down:
desc: Stop local Docker dependencies
deps:
- env:dev
cmds:
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev down
docker:reset:
desc: Remove local Docker dependencies and volumes
deps:
- env:dev
prompt: This deletes the local QuickVoice Postgres, Redis, and optional service volumes. Continue?
cmds:
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev down -v
mail:up:
desc: Start optional Mailpit email testing service
deps:
- env:dev
cmds:
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev --profile mail up -d mailpit
- echo "Mailpit is available at http://localhost:8025"
mail:down:
desc: Stop optional Mailpit email testing service
deps:
- env:dev
cmds:
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev --profile mail stop mailpit
- docker compose -f {{.COMPOSE_FILE}} --env-file .env.dev --profile mail rm -f mailpit
dev:clear:
desc: Stop stale QuickVoice local dev processes
cmds:
- ./scripts/dev-clear-processes.sh
db:migrate:
desc: Apply Prisma migrations to the local development database
deps:
- env:dev
- deps:node
- docker:up
dir: apps/server
env:
DOTENV_CONFIG_PATH: .env.dev
cmds:
- pnpm exec prisma migrate dev
db:seed:
desc: Seed demo data, for example task db:seed -- --email you@example.com
deps:
- env:dev
- deps:node
dir: apps/server
env:
DOTENV_CONFIG_PATH: .env.dev
cmds:
- pnpm run seed -- {{.CLI_ARGS}}
ci:
desc: Run the local CI suite used by pull requests
cmds:
- pnpm ci:local
up:dev:
desc: Prepare env, install deps, start Docker deps, migrate DB, and run local services
cmds:
- task: dev:clear
- task: doctor
- task: env:dev
- task: deps:node
- task: deps:python
- task: docker:up
- task: db:migrate
- ./scripts/dev-up.sh
up:
desc: Alias for up:dev
cmds:
- task: up:dev
dev:
desc: Alias for up:dev
cmds:
- task: up:dev
server:dev:
desc: Run only the Express API
deps:
- env:dev
dir: apps/server
env:
DOTENV_CONFIG_PATH: .env.dev
cmds:
- pnpm dev
console:dev:
desc: Run only the console app
deps:
- env:dev
dir: apps/console
cmds:
- pnpm dev --port ${CONSOLE_PORT:-3000}
web:dev:
desc: Run only the marketing app
deps:
- env:dev
dir: apps/web
cmds:
- pnpm dev --port ${WEB_PORT:-3001}
ai:api:
desc: Run only the AI FastAPI service
deps:
- env:dev
- deps:python
dir: apps/ai
cmds:
- . .env.dev && . .venv/bin/activate && python main.py api
ai:worker:
desc: Run only the LiveKit AI worker
deps:
- env:dev
- deps:python
dir: apps/ai
cmds:
- . .env.dev && . .venv/bin/activate && python main.py dev