Prompt Engineering
Intermediate

Prompt Templates in TypeScript

Store prompts as typed, reviewed application code instead of one-off strings.

35 min
3 sections
typescript
templates
versioning
1
2
3

01. Keep prompt builders close to features

Section 1 of 3

Production prompts should be versioned, reviewed, and tested like code. A typed prompt builder makes dynamic values explicit and reduces accidental prompt injection through string concatenation.

typescript
type ReviewPromptInput = {
  diffSummary: string;
  domainRules: string[];
};

export function buildReviewPrompt(input: ReviewPromptInput) {
  return [
    "# Identity",
    "You are a senior engineer reviewing a pull request.",
    "",
    "# Domain rules",
    ...input.domainRules.map((rule) => "- " + rule),
    "",
    "# Diff summary",
    "<diff_summary>",
    input.diffSummary,
    "</diff_summary>",
  ].join("\n");
}
Back to Course