Prompts & Versions
A prompt in VersionR is a named, versioned LLM instruction. Every edit creates a new version — nothing is ever overwritten.
Anatomy of a prompt
Each version stores:
| Field | Description |
|---|---|
| Content | The raw prompt text, with {{variable}} slots |
| Role | system, user, or assistant |
| Model | The target model (e.g. gpt-4o, claude-opus-4-6) |
| Temperature | Sampling temperature (0–2) |
| Max tokens | Response length cap (null = model default) |
| Variables | Auto-detected list of {{variable_name}} slots |
| Change note | Optional description of what changed in this version |
The model and temperature are versioned alongside the prompt text. This is intentional — a temperature change can affect quality as much as a wording change, and both should be reviewable together.
Version lifecycle
Draft → Review → Staged → Production| Status | Meaning |
|---|---|
| Draft | Being edited in the dashboard |
| Review | Submitted for team approval (optional for solo devs) |
| Staged | Deployed to the staging environment |
| Production | Live to real users |
You can skip Review and deploy directly from Draft if your project doesn’t require approval.
Deploying a version
To make a version live, deploy it to an environment:
- Open the prompt in the dashboard
- Select the version you want to promote
- Click Deploy and choose an environment
The environment’s active version pointer updates immediately. Any in-flight SDK requests complete against the previous version; new requests pick up the new one.
Rollback
If a deployed version causes problems, roll back to any prior version in one click:
- Open the Versions tab
- Find the version you want to restore
- Click Rollback
The rollback itself creates an audit trail — the dashboard shows who deployed and who rolled back, and when.
Slugs
Every prompt has a slug — a short, URL-safe identifier you use in SDK calls:
const prompt = await pd.get('interviewer-system', { env: 'production' })
// ^^^^^^^^^^^^^^^^^^^
// This is the slugSlugs are set when you create a prompt and cannot be changed. Choose something descriptive and stable — it’s the identifier your code depends on.
Slug format: lowercase letters, numbers, and hyphens. Example: onboarding-welcome, support-triage-v2.