@@ -99,24 +99,20 @@ brew install node@20
9999brew install python@3.11
100100```
101101
102- ** Go 1.21+** (for WebRTC)
103- ``` bash
104- brew install go@1.21
105- ```
106-
107-
108102** uv** (Python package manager)
109103``` bash
110104curl -LsSf https://astral.sh/uv/install.sh | sh
111105# or on mac
112106brew install uv
113107```
114108
115- ** golangci-lint ** (Go linter )
109+ ** Docker ** (for containerization )
116110``` bash
117- brew install golangci-lint
111+ brew install --cask docker
118112```
119113
114+ ## Development
115+
120116#### Install dependencies
121117
122118After installing the tools above, run:
@@ -128,15 +124,50 @@ make dev
128124This will:
129125- Install frontend dependencies (npm packages)
130126- Create Python virtual environment and install backend dependencies
131- - Download Go modules
132127
133- #### Running Linters
128+ #### Formatting
129+
130+ Format your code before committing to maintain consistent style:
131+
132+ ``` bash
133+ make format # Format all code (frontend and backend)
134+ make format-frontend # Format frontend with Prettier
135+ make format-backend # Format backend with Ruff
136+ ```
137+
138+ #### Running linters
139+
140+ Linting catches code issues and enforces style guidelines. Always run before pushing:
134141
135142``` bash
136- make lint # Lint all components
137- make lint-frontend # Lint frontend only
138- make lint-backend # Lint backend only
139- make lint-go # Lint Go code only
143+ make lint # Lint all components (includes type checking)
144+ make lint-frontend # Lint frontend with ESLint
145+ make lint-backend # Lint backend with Ruff
146+ make type-check-backend # Type check backend with mypy
140147```
141148
142- Before you push your changes, run the linters above and address lint errors if any.
149+ Before you push your changes, run ` make lint ` and address any errors.
150+
151+ #### Running tests
152+
153+ ``` bash
154+ make test # Run all tests (frontend and backend)
155+ make test-frontend # Run frontend tests with Vitest
156+ make test-backend # Run backend tests with pytest
157+ ```
158+
159+ #### Docker commands
160+
161+ Build and run Docker containers locally:
162+
163+ ``` bash
164+ make docker-build # Build all Docker images
165+ make docker-build-frontend # Build frontend image
166+ make docker-build-backend # Build backend image
167+
168+ make docker-run-frontend # Run frontend container (opens browser)
169+ make docker-run-backend # Run backend container (also opens browser)
170+
171+ make docker-stop # Stop all running containers
172+ make docker-clean # Stop containers and remove images
173+ ```
0 commit comments