PromptOps is a prompt management platform for teams building AI apps.
It helps you version prompts, run A/B tests, track quality and cost, and roll back safely.
- Manage prompt versions with history and rollback.
- Run A/B tests on prompt variants.
- Track quality, usage, and cost in analytics dashboards.
- Use API keys and SDK endpoints for production integrations.
- Monitor live updates through WebSocket events.
PromptOps/
backend/ Express API, Prisma, workers, tests
frontend/ Next.js app (landing + dashboard UI)
sdk-chaos-lab/ SDK wrapper example for testing integrations
- Node.js 20+
- npm
- PostgreSQL + Redis (or Docker Desktop)
cd backend
docker compose up -dcd backend
npm installCopy backend/.env.example to backend/.env, then set at least:
DATABASE_URL=postgresql://promptops:promptops_secret@localhost:5433/promptops_dev?schema=public
REDIS_URL=redis://:redis_secret@localhost:6380
JWT_SECRET=replace_with_long_random_value
JWT_REFRESH_SECRET=replace_with_different_long_random_value
ENCRYPTION_KEY=replace_with_64_hex_chars
FRONTEND_URL=http://localhost:4000
ALLOWED_ORIGINS=http://localhost:4000
PORT=3000Run migrations and start the API:
npm run prisma:migrate
npm run devAPI health check: http://localhost:3000/health
cd frontend
npm installCreate frontend/.env.local:
NEXT_PUBLIC_API_URL=http://localhost:3000
NEXT_PUBLIC_WS_URL=ws://localhost:3000Start frontend on port 4000:
npm run dev -- -p 4000Open: http://localhost:4000
Backend (backend/)
npm run dev- start API in watch modenpm run test- run all testsnpm run test:unit- run unit testsnpm run test:integration- run integration testsnpm run prisma:migrate- run DB migrations
Frontend (frontend/)
npm run dev- start Next.js dev servernpm run build- production buildnpm run start- run production buildnpm run lint- lint code
The file sdk-chaos-lab/promptops-sdk-wrapper-example.js shows a wrapper flow:
- Resolve active prompt from PromptOps
- Call model provider
- Send call metadata back to PromptOps
Use this to validate your integration pattern before production rollout.
- Never commit
.env,.env.local, or API keys. - Keep real secrets only in local env files or secret managers.
- If a key is exposed, rotate it immediately.
- Do not paste credentials in issues, PR descriptions, or logs.
- Backend exits on startup: check required env vars (
DATABASE_URL,REDIS_URL,JWT_SECRET,JWT_REFRESH_SECRET,ENCRYPTION_KEY). - Frontend cannot call API: confirm
NEXT_PUBLIC_API_URLand backend port. - CORS errors: confirm
FRONTEND_URLandALLOWED_ORIGINSin backend.env. - WebSocket not connecting: confirm
NEXT_PUBLIC_WS_URL=ws://localhost:3000.