Skip to content

Getting Started

überPrompt traces your LLM calls and builds a dependency graph between prompts and shared fragments. When a prompt changes, it checks the graph and keeps dependent prompts consistent.

Prerequisites

  • Node.js 20+
  • pnpm 9+
  • A MongoDB Atlas cluster (or local MongoDB 7+)
  • A MONGODB_URI connection string in your .env

Install

Clone the repo and install dependencies:

bash
git clone https://github.com/getclera/-berprompt.git
cd -berprompt
pnpm install --config.minimum-release-age=0

The --config.minimum-release-age=0 flag is required. Some dependencies are younger than pnpm's default 24h supply-chain threshold and the install fails without it.

Initialize the database

Create the required collections and indexes in your MongoDB database:

bash
pnpm --filter @uberprompt/cli exec uberprompt init

This creates the spans collection and a unique index on traces.traceId that the rollup pipeline needs.

Seed the demo data

Load the demo prompts, fragments, edges, and seed traces:

bash
pnpm --filter demo exec node seed.ts

Start collecting traces

Run the OTLP/HTTP receiver. Any OpenTelemetry-instrumented app can send spans to it:

bash
pnpm --filter @uberprompt/cli exec uberprompt collect --port 4318

If your app uses @uberprompt/sdk, you can skip the collector. Call registerUberprompt() at startup and spans go straight to MongoDB.

Watch traces arrive

Stream recent and incoming traces:

bash
pnpm --filter @uberprompt/cli exec uberprompt tail

Next steps