Using DotPrompt

Use Google's DotPrompt specification to define prompts with metadata, templates, and validation.

Quick Start

import 'package:dotprompt_dart/dotprompt_dart.dart';

final dotPrompt = DotPrompt('''
---
model: openai
input:
  default:
    length: 3
    text: "The quick brown fox jumps over the lazy dog."
---
Summarize this in {{length}} words: {{text}}
''');

// Extract model and render prompt
final prompt = dotPrompt.render();
final agent = Agent(dotPrompt.frontMatter.model!);

final result = await agent.send(prompt);
print(result.output); // "Fox jumps dog."

With Variables

final dotPrompt = DotPrompt('''
---
model: anthropic
---
Translate "{{phrase}}" to {{language}}
''');

final prompt = dotPrompt.render({
  'phrase': 'Hello world',
  'language': 'Spanish',
});

final agent = Agent(dotPrompt.frontMatter.model!);
await agent.send(prompt);

From Files

final file = File('prompts/summarize.prompt');
final content = await file.readAsString();
final dotPrompt = DotPrompt(content);

final agent = Agent(dotPrompt.frontMatter.model!);
await agent.send(dotPrompt.render());

Next Steps