OrkaJS
Orka.JS

Prompt Versioning

Register, version, compare, rollback, and persist prompt templates with Orka AI.

Register Prompts

register-prompts.ts
// Register versions
orka.prompts.register('support', 'Answer: {{ question }}', { author: 'v1' });
orka.prompts.register('support',
'Context: {{ context }}\nQuestion: {{ question }}\nAnswer with empathy.',
{ author: 'v2' }
);
 
// Render the active version
const prompt = orka.prompts.render('support', {
variables: { context: 'User is frustrated', question: 'Where is my order?' },
});

Version Management

get(name, version?)

Get active or specific version

getVersions(name)

List all versions

setActive(name, version)

Set active version

rollback(name)

Revert to previous version

diff(name, from, to)

Compare two versions

delete(name)

Delete a prompt

Persistence

persistance-prompt.ts
import { FilePromptPersistence } from 'orkajs';
import { CodeBlock } from "@/components/code-block";
 
const orka = createOrka({
llm: new OpenAIAdapter({ apiKey: '...' }),
vectorDB: new MemoryVectorAdapter(),
prompts: {
persistence: new FilePromptPersistence('./prompts.json'),
},
});
 
// Save all prompts to disk
await orka.prompts.save();
 
// Load prompts from disk (e.g., on startup)
await orka.prompts.load();

💡 Best Practices

  • Version every change — even small ones. The diff system makes tracking easy.
  • Use metadata to record who made the change and why.
  • Test prompt changes against your evaluation dataset before activating.