Principle:Promptfoo Promptfoo Interactive Project Setup
| Knowledge Sources | |
|---|---|
| Domains | Developer_Experience, Scaffolding |
| Last Updated | 2026-02-14 08:00 GMT |
Overview
An interactive scaffolding mechanism that generates a complete evaluation project through guided user selections of use case, language, and provider.
Description
Interactive Project Setup guides new users through creating a Promptfoo evaluation project from scratch. It uses interactive terminal prompts to collect preferences (use case type, programming language, LLM provider) and generates a fully configured project directory with config files, prompt templates, and example test data.
This solves the cold-start problem for new users by providing a working evaluation setup that can be immediately executed with `promptfoo eval`, while also educating users about available options.
Usage
Use this principle when initializing a new Promptfoo project. This is triggered by the `promptfoo init` CLI command and is the recommended entry point for first-time users.
Theoretical Basis
Pseudo-code Logic:
1. Prompt user: select use case (compare, rag, agent, redteam)
2. Prompt user: select programming language (if applicable)
3. Prompt user: select LLM provider(s) from supported list
4. Generate project files:
a. promptfooconfig.yaml (from Nunjucks template)
b. Prompt template files (.txt, .json, .py)
c. Context/example files (for RAG use case)
5. Display success message with next steps