# Documentation Site Docusaurus-based documentation at [promptfoo.dev](https://www.promptfoo.dev/). **Key rules:** - Don't start your own dev server for the site (ask user first) - Don't edit `CHANGELOG.md` (auto-generated) - **Commits:** Always use `docs(site):` scope for all site changes (docs, pages, components, plugins, styles) ## Key Principles 1. **Small edits** - Most updates should be 1-5 lines 2. **Search first** - Find existing docs before creating new ones 3. **Don't rewrite** - Improve incrementally 4. **Don't modify headings** - Often externally linked 5. **No fluff** - Avoid embellishment words like "sophisticated" ## Before Making Changes ```bash # Search for existing docs grep -r "topic" site/docs/ find site/docs -name "*keyword*" ``` ## Terminology - Use "eval" not "evaluation" in commands - "Promptfoo" when referring to the company or product, "promptfoo" when referring to the CLI command or in code ## Front Matter (Required) ```markdown --- title: Page Title (under 60 chars) description: Summary (150-160 chars) sidebar_position: 3 --- ``` ## Code Blocks - Add `title="filename.yaml"` only for complete, runnable files - No titles for code fragments - Use `// highlight-next-line` for emphasis - Never remove existing highlight directives ## Admonitions ```markdown :::note Content with empty lines around it. ::: ``` Types: `note`, `warning`, `danger` ## Development ```bash cd site npm run dev # localhost:3000 SKIP_OG_GENERATION=true npm run build # Faster builds ``` ## Anti-Patterns - Verbose, LLM-generated explanations - Repetitive content across pages - Generic examples - Bullet overuse where prose is clearer ## Source Alignment - Red team docs: read `site/docs/red-team/AGENTS.md`; keep behavior aligned with `src/redteam/AGENTS.md`. - Assertion docs: update `site/docs/configuration/expected-outputs/` and `site/docs/tracing.md` when assertion behavior changes. - Code scanning docs: keep `site/docs/code-scanning/` aligned with `src/codeScan/` and `code-scan-action/README.md`.