chore: update setup docs

This commit is contained in:
Abhishek Kumar 2026-05-12 14:25:34 +05:30
parent 15a7cd5b6d
commit 418775cee1
7 changed files with 457 additions and 39 deletions

View file

@ -18,19 +18,26 @@ All commands below are shown for **macOS / Linux**. Expand the **Windows** tab f
### Steps
1. Fork the Dograh repository by going to https://github.com/dograh-hq/dograh
2. Clone the forked repository on your machine (use `--recurse-submodules` so the pipecat submodule is pulled in too)
2. Clone **your fork** on your machine. You can skip `--recurse-submodules` here — the bootstrap script in the next step will initialize submodules for you.
```
git clone --recurse-submodules https://github.com/<GITHUB_HANDLE>/dograh
git clone https://github.com/<GITHUB_HANDLE>/dograh
cd dograh
```
3. Create a python virtual environment
3. Run the contributor bootstrap. It configures `origin` (your fork) and `upstream` (`dograh-hq/dograh`), initializes the pipecat submodule, creates the Python venv, and copies the `.env` templates. Re-running it is safe — already-configured pieces are skipped.
<CodeGroup>
```bash macOS/Linux
bash scripts/setup_fork.sh
```
```powershell Windows
.\scripts\setup_fork.ps1
```
</CodeGroup>
Activate the venv (the bootstrap script created it but won't activate it for you):
<CodeGroup>
```bash macOS/Linux
python3 -m venv venv
source venv/bin/activate
```
```powershell Windows
python -m venv venv
.\venv\Scripts\Activate.ps1
```
</CodeGroup>
@ -55,17 +62,7 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS
6c7cb8afdf18 redis:7 "docker-entrypoint.s…" 18 seconds ago Up 18 seconds (healthy) 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp dograh-redis-1
a57e3e92b02c minio/minio "/usr/bin/docker-ent…" 18 seconds ago Up 18 seconds (healthy) 127.0.0.1:9000-9001->9000-9001/tcp dograh-minio-1
```
7. Setup environment variables
<CodeGroup>
```bash macOS/Linux
cp api/.env.example api/.env && cp ui/.env.example ui/.env
```
```powershell Windows
Copy-Item api/.env.example api/.env
Copy-Item ui/.env.example ui/.env
```
</CodeGroup>
8. Install Python requirements. The script initializes the pipecat submodule, installs `api/requirements.txt`, and installs pipecat with the required extras. Add the dev flag if you also want the pipecat dev dependency group (pytest, ruff, pre-commit, etc.).
7. Install Python requirements. The script installs `api/requirements.txt` and pipecat with the required extras. Add the dev flag if you also want the pipecat dev dependency group (pytest, ruff, pre-commit, etc.).
<CodeGroup>
```bash macOS/Linux
# Default (runtime only)
@ -82,7 +79,7 @@ bash scripts/setup_requirements.sh --dev
.\scripts\setup_requirements.ps1 -Dev
```
</CodeGroup>
9. Start backend services
8. Start backend services
<CodeGroup>
```bash macOS/Linux
bash scripts/start_services_dev.sh
@ -124,11 +121,31 @@ bash scripts/start_services_dev.sh
<Note>
`uvicorn` runs with `--reload --reload-dir api`, so edits under `api/` are picked up automatically — no restart needed. The other services (`ari_manager`, `campaign_orchestrator`, `arq`) do **not** auto-reload; re-run the start script after changing code they execute.
</Note>
10. Start the UI
9. Start the UI
```
cd ui && npm run dev
```
11. You should be able to open the application on `localhost:3000` now
10. You should be able to open the application on `localhost:3000` now
### Keeping your fork in sync with upstream
The bootstrap script configures two remotes: `origin` (your fork, where you push) and `upstream` (`dograh-hq/dograh`, where new commits land). To pull in upstream changes:
```bash
git fetch upstream
git checkout main
git merge upstream/main # or: git rebase upstream/main
git push origin main
```
Check your remotes any time with `git remote -v`. You should see:
```
origin https://github.com/<YOUR_HANDLE>/dograh.git (fetch/push)
upstream https://github.com/dograh-hq/dograh.git (fetch/push)
```
<Note>
Always push feature branches to **`origin`** (your fork), then open a pull request against `dograh-hq/dograh:main`. Never push directly to `upstream`.
</Note>
### Next Steps
We ship with AGENTS.md and CLAUDE.md which will help the Coding Agents get started quickly with the codebase. This should help your favourite coding agents to be able to navigate the codebase quickly and you can make changes to it and suit your specification better.