Products / AI Developer Tools
PromptKit
Versioned YAML/JSON prompt templates + CLI + eval stub
Versioned YAML/JSON prompt templates with {{variables}}, few-shot slots, OpenAI message export, CLI render, and a tiny eval stub (string match / optional LLM judge BYOK).
Value
Problem. Prompts get pasted across repos as half-broken strings. Versioning, variables, and few-shots become tribal knowledge.
How it helps. Versioned YAML/JSON prompt templates with {{variables}}, few-shot slots, OpenAI message export, CLI render, and a tiny eval stub (string match / optional LLM judge BYOK).
Why buy. A prompt-ops kit you run locally — not a hosted CMS.
- YAML/JSON prompts with id + version
- Strict {{var}} interpolation + {{#fewshot}} expansion
- CLI promptkit render + toOpenAIChatMessages export
How it works
flowchart LR
File["YAML / JSON"] --> Load["loadPromptFile"]
Load --> Render["renderPrompt"]
Render --> OpenAI["toOpenAIChatMessages"]
Render --> Eval["runEval stub"]
CLI["promptkit render"] --> Load
Mermaid flowchart (render in GitHub / VS Code / mermaid.live).
Use case
Render support-triage.yaml with a ticket variable and pipe messages into chat/completions.
What you get
- Library + CLI
- examples: support-triage, code-review, fewshot-qa
- Eval stub (string_match / llm_judge)
- 21 Vitest tests
- MIT license
Project structure
promptkit/
src/
load.ts, render.ts, types.ts
cli/ eval/ export/openai.ts
examples/ tests/
Quick start
npm install && npm test && npm run build
npx tsx src/cli/index.ts render examples/support-triage.yaml -v ticket="Please refund order #42"
Example
From examples/support-triage.yaml
id: support-triage
version: "1.0.0"
messages:
- role: system
content: You help users of {{product}}.
- role: user
content: "{{ticket}}"
Tested
21 Vitest tests — load, render, OpenAI export, eval stub, CLI render/vars.
npm test
2026-09-20 — 21 passed; npm run build OK
Design decisions
- Strict vars by default (fail on missing); --loose opt-in
- Prompts as files in git for reviewable diffs
- Separate EvalHarness for fuller JSONL suites
Limitations
- Not a hosted prompt CMS or collaboration UI
- Eval stub is minimal — full suites → EvalHarness
- LLM judge needs BYOK and is opt-in
- No automatic prompt deployment pipeline
Who it’s for
AI builders who want versioned prompts in git with a CLI.
Not for: Teams needing a multiplayer prompt CMS with approvals.
What you own
Full MIT-licensed TypeScript source via Gumroad ZIP. Fork it, ship it commercially, keep the license notice. You are responsible for secrets, hardening, and production ops.
Related
EvalHarness · AgentForge · RagPipe · McpForge
Demo