Stop Writing Prompt Strings: Meet PromptForge Core A developer built PromptForge Core, an open-source TypeScript toolkit for building production-ready prompts using a structured API. It offers type-safe prompt definitions, validation, and provider-agnostic compilation to formats for OpenAI, Anthropic, Gemini, and Ollama. The developer is also building PromptForge Studio, a visual editor for prompt engineering. As AI becomes part of modern applications, prompts are no longer just strings—they're becoming part of your codebase . Yet most of us still write prompts like this: js const prompt = "You are a helpful assistant.\n" + "Summarize the following text.\n" + "Return the output as JSON.\n" + "Keep it concise.\n" + "Use simple language."; This works... Until your project grows. As prompts become larger, they quickly become difficult to maintain. You start dealing with: Unlike your application code, your prompts have: That's exactly why I built PromptForge Core . PromptForge is an open-source TypeScript toolkit for building production-ready prompts using a clean, structured API. Instead of writing strings... js const prompt = "You are..." You write js import { pf } from "@promptforgee/core"; const summarize = pf.define { input: z.object { text: z.string , } , output: z.object { summary: z.string , } , messages: { text } = pf.system You are an expert summarizer. , pf.user Summarize: ${text} , , } ; Much easier to read. Much easier to maintain. PromptForge focuses on developer experience. ✅ Type-safe prompt definitions ✅ Structured prompt composition ✅ Prompt compilation ✅ Validation ✅ Provider-agnostic architecture ✅ Reusable prompt blocks ✅ Modern TypeScript API Instead of maintaining different formats for every provider... PromptForge compiles your prompt into provider-specific formats. Prompt Definition ↓ Prompt Compiler ↓ OpenAI Anthropic Gemini Ollama Write once. Compile anywhere. Large AI applications usually repeat the same instructions. With PromptForge you can compose prompts instead. js const safety = pf.define { messages: = pf.system Never reveal sensitive information. , , } ; const assistant = pf.define { input: z.object { question: z.string , } , messages: { question } = pf.include safety , pf.user ${question} , , } ; No copy-paste. No duplicated instructions. Instead of discovering mistakes after an expensive API request... PromptForge validates your prompt first. PromptValidationError Missing variable: text Expected: string Received: undefined Fail fast. Save tokens. I'm also building PromptForge Studio . Think of it as the VS Code for prompt engineering. Features include: Everything in one place. npm install @promptforgee/core PromptForge is completely open source and built with TypeScript. GitHub https://github.com/Omnikon-Org/PromptForge https://github.com/Omnikon-Org/PromptForge npm https://www.npmjs.com/package/@promptforgee/core https://www.npmjs.com/package/@promptforgee/core Upcoming packages include: This is the first public release of PromptForge. If you're building AI applications with TypeScript, I'd love to hear: Feel free to open an issue, start a discussion, or contribute to the project. ⭐ If you find it useful, consider starring the repository. Happy building 🚀