From dograh
Set up, run, develop, and troubleshoot the Dograh voice-AI platform on any OS (macOS, Linux, Windows/WSL). Use whenever the user wants to install, deploy, run, or contribute to Dograh — or when a Dograh stack is broken: the UI won't load, the API health check (/api/v1/health) is failing, containers are unhealthy/restarting, ports conflict, Docker is missing, or a call has no audio (WebRTC/TURN). Covers the deploy paths (local quick, local+TURN, remote HTTPS) and the developer paths (devcontainer, host-managed). It orients first — detects your OS and what's installed, asks deploy-vs-develop — then drives Dograh's own scripts and docs instead of hard-coding steps. Trigger on "set up dograh", "install dograh", "dograh dev setup", "dograh won't start", or "dograh health check failing".
How this skill is triggered — by the user, by Claude, or both
Slash command
/dograh:dograh-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help the user stand up, develop on, or debug a self-hosted **Dograh** deployment — on
Help the user stand up, develop on, or debug a self-hosted Dograh deployment — on macOS, Linux, or Windows. Dograh is a small set of backing services plus an API and a UI, run together most simply with Docker (though the services can also be external or native).
Core principle: orient, then read the source — don't memorize it here. The exact scripts, commands, env vars, ports, and flows live in Dograh's own repo and docs, and they change over time. This skill carries how to reason and where to read — it deliberately does not restate those specifics, because a copy here would drift and bloat your context. So: detect the situation, confirm what the user wants, then read the authoritative source for the chosen path and do what it says.
1. Where am I, and what's available? Detect the OS and shell — don't assume bash;
it may be Windows PowerShell or WSL2/Git-Bash. Check which tools actually exist before
relying on them (docker, docker compose, curl, git; plus python/node for
dev). Establish where Dograh runs — this machine, or a remote server you'll SSH into
and run everything on.
2. What does the user want? Ask when it isn't clear:
Deploy Dograh (run it) or Develop it (work on its code)?
Deploy → Local machine or remote server?
Develop → Containerized or native?
Backing services (database / cache / object storage):
spin up fresh — or reuse ones the user already runs?
3. Docker is optional — ask, don't assume. Docker Compose is the convenient default: it brings up fresh backing services and the app in one step. But it is not required. If the user already runs the database, cache, or object storage — or a managed equivalent (Supabase, a managed Redis, S3) — Dograh can point at those via env vars, and the app can run natively. The hard requirements are the services, not Docker. Read the environment-variables doc (see Sources) for the exact wiring, and ask fresh-vs-reuse rather than silently installing fresh infra or forcing Docker. (One buried gotcha: the database must support the vector extension Dograh's migrations enable — a plain Postgres without it will fail to migrate.)
4. Consent checkpoints — do not infer. Before installing packages, starting services, creating files, or running setup scripts, stop and summarize the intended path in one sentence. Ask for explicit confirmation if any of these are true:
.env, certificates,
Docker volumes, or start long-running services.A tool approval prompt is not a substitute for setup-choice confirmation. It authorizes a command only; it does not mean the user agreed with the inferred architecture.
If Docker is missing, do not install it automatically. First ask whether the user wants Docker Compose with fresh bundled services or a native/external-service setup. Install Docker only after the user explicitly chooses the Docker path.
Don't follow step lists from memory — read Dograh's current source and do what it says.
references/paths.md maps each branch to which source to read. In short:
https://docs.dograh.com/llms.txt, open the one relevant deployment or contributor
page, and fetch just that page — never the whole corpus) and in the repo's
scripts/AGENTS.md, which catalogues the setup scripts. Read those to learn which
script/command to run.docker-compose file — read those instead of assuming values.The setup scripts prompt for input, and some end by running docker compose up in the
foreground — either would stall a non-interactive shell. They're non-interactive-safe
(no TTY → they fall back to defaults instead of hanging), but to get the config the user
actually wants:
up can't block you. Then verify with doctor.sh instead of tailing logs.Read references/debug.md — a method, not a lookup table. It tells you what to inspect
(read-only), in what order, and how to reason; the logs and the compose file are the
source of truth for what's actually wrong. On a POSIX shell, scripts/doctor.sh runs
the read-only pass for you; on Windows PowerShell, follow the method by hand.
down -v) — without explicit confirmation; it erases the database and recordings.When a run wraps up (setup finished, or a debug session resolved or ended), offer to send a short note back so the skill improves:
[deploy-remote | success | macOS] doctor.sh caught the missing OSS_JWT_SECRET fast — smooth.
Context is: the path taken (deploy-local / deploy-remote / dev-devcontainer /
dev-host-managed), the outcome (success / partial / failed), and the OS — then the
user's verbatim words.scripts/send_feedback.sh from this skill directory with the comment as its only argument.
On Windows PowerShell, POST the same JSON instead:
Invoke-RestMethod -Method Post -ContentType 'application/json' -Body '{"comments":"<text>"}' -Uri <webhook>..env values, IPs, or credentials — only the
path, outcome, OS, and the user's words.https://github.com/dograh-hq/dograh, especially scripts/AGENTS.md (the
setup-script catalogue) and the docker-compose files (services, ports, profiles).https://docs.dograh.com; use …/llms.txt (a small index) to find the one
page you need, then fetch just that page. The environment-variables page is the
authoritative config list.references/paths.md — the decision tree and which source to read per branch.references/debug.md — the diagnostic method.scripts/doctor.sh — read-only diagnostic accelerator (POSIX shells).Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub dograh-hq/dograh-plugins --plugin dograh