Version your prompts,
not your codebase
Write, version, deploy, and iterate on your LLM prompts — without touching your application code. One-click rollbacks, A/B testing, and result logging built in.
import { VersionR } from 'versionr'
const pd = new VersionR({ apiKey: process.env.VERSIONR_API_KEY })
// Fetch active prompt — no redeploy needed
const prompt = await pd.get('system-prompt', { env: 'prod' })Features
Everything you need to manage prompts
Stop hardcoding prompts as strings. VersionR gives you a proper workflow — version, deploy, test, and iterate without code changes.
Version History
Every save creates a new version with git-style diffs. See exactly what changed and when.
Environments
Separate dev, staging, and production pointers. Deploy to staging without touching prod.
One-Click Deploy
Promote any version to any environment instantly. Roll back just as fast.
A/B Testing
Split traffic between two prompt variants. Track which performs better, then promote the winner.
Result Logging
Every SDK call logs input, output, latency, and token cost. See trends in the dashboard.
SDK Reliability
If VersionR is unreachable, the SDK falls back to cache. Your app never crashes.
Variable Extraction
Use {{variables}} in your prompts. They're auto-detected on save and type-checked at runtime.
Instant Integration
npm install versionr — three lines of code and your prompts are managed.
How it works
From hardcoded to managed in minutes
Write your prompt
Use the dashboard editor. Add {{variables}} for dynamic values.
Deploy to an environment
One click to push to dev, staging, or production. Independent version pointers.
Fetch via the SDK
Three lines of code. Your app fetches the active prompt at runtime.
Iterate without deploys
Change the prompt in the dashboard. Your app picks it up immediately.
Ready to stop hardcoding prompts?
Get started for free. No credit card required. Your first project takes less than 5 minutes.