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

BefehlFunktionExit-Code
analyze <file>Qualität, Dimensionen, Befunde, Tokens, Absicht0
optimize <file>Verifizierte Optimierung. --mode, --goal, --budget, --write0
validate <file>Nur Befunde1 bei jedem kritischen Befund
compare <a> <b>Differenz bei Tokens, Qualität und Befunden0
tokens <file>Zählung und geschätzte Eingabekosten (--model)0
scan <file>Injection-Risiko, sensible Daten, nicht abgegrenzte Variablen1 bei einem kritischen Sicherheitsbefund
sanitize <file>Gibt den Text mit ersetzten sensiblen Werten aus0
check <glob…>CI-Gate über Prompt-Dateien1, wenn eine Datei durchfällt
modelsModellkatalog und Referenzpreise0

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 check

Globs werden relativ zum Arbeitsverzeichnis aufgelöst und überspringen node_modules, .git und Build-Ausgaben.