Referenz
CLI und CI-Gate
promptflow führt die Engine offline mit exakten OpenAI-Token-Zahlen aus. Jeder Befehl liest eine Datei oder stdin (-) und akzeptiert --json für maschinenlesbare Ausgabe.
Installation
Das npm-Paket
@promptflow/cli ist noch nicht veröffentlicht. Bauen Sie es aus einem Checkout des PromptFlowEngine-Repositorys:shell
# from the root of your PromptFlowEngine checkout
corepack enable && pnpm install
pnpm --filter @promptflow/engine build && pnpm --filter @promptflow/cli build
alias promptflow="node $PWD/packages/cli/dist/cli.js"Befehle
| Befehl | Funktion | Exit-Code |
|---|---|---|
analyze <file> | Qualität, Dimensionen, Befunde, Tokens, Absicht | 0 |
optimize <file> | Verifizierte Optimierung. --mode, --goal, --budget, --write | 0 |
validate <file> | Nur Befunde | 1 bei jedem kritischen Befund |
compare <a> <b> | Differenz bei Tokens, Qualität und Befunden | 0 |
tokens <file> | Zählung und geschätzte Eingabekosten (--model) | 0 |
scan <file> | Injection-Risiko, sensible Daten, nicht abgegrenzte Variablen | 1 bei einem kritischen Sicherheitsbefund |
sanitize <file> | Gibt den Text mit ersetzten sensiblen Werten aus | 0 |
check <glob…> | CI-Gate über Prompt-Dateien | 1, wenn eine Datei durchfällt |
models | Modellkatalog und Referenzpreise | 0 |
Das check-Gate
Eine Datei fällt durch, wenn ihre Qualität unter --min-score liegt, ihre Tokens --max-tokens überschreiten oder sie einen Befund mit mindestens --fail-on hat (Standard critical, geleakte Schlüssel lassen also immer durchfallen). Die Einstellungen können in .promptflowrc.json im Repository-Wurzelverzeichnis stehen:
.promptflowrc.json
{
"include": ["prompts/**/*.md", "src/**/*.prompt.txt"],
"model": "gpt-4.1",
"minScore": 70,
"maxTokens": 2000,
"failOn": "critical",
"ignore": ["missing_length_guidance"]
}.github/workflows/prompts.yml
name: Prompt quality
on: [pull_request]
jobs:
prompts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22 }
# Until @promptflow/cli is on npm, make the built CLI available to the job
# (see Install above), for example as a vendored copy in tools/promptflow.
- run: node tools/promptflow/cli.js checkGlobs werden relativ zum Arbeitsverzeichnis aufgelöst und überspringen node_modules, .git und Build-Ausgaben.