Référence

CLI et contrôle CI

promptflow exécute le moteur hors ligne avec des comptages de tokens OpenAI exacts. Chaque commande lit un fichier ou l’entrée standard (-) et accepte --json pour une sortie lisible par machine.

Installation

Le paquet npm @promptflow/cli n’est pas encore publié. Compilez-le depuis une copie du dépôt PromptFlowEngine :
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"

Commandes

CommandeActionCode de sortie
analyze <file>Qualité, dimensions, constats, tokens, intention0
optimize <file>Optimisation vérifiée. --mode, --goal, --budget, --write0
validate <file>Constats uniquement1 en cas de constat critique
compare <a> <b>Écart de tokens, de qualité et de constats0
tokens <file>Comptage et coût d’entrée estimé (--model)0
scan <file>Risque d’injection, données sensibles, variables non délimitées1 en cas de constat de sécurité critique
sanitize <file>Affiche le texte avec les valeurs sensibles remplacées0
check <glob…>Contrôle CI sur les fichiers de prompts1 si un fichier échoue
modelsCatalogue de modèles et prix de référence0

Le contrôle check

Un fichier échoue quand sa qualité est inférieure à --min-score, que ses tokens dépassent --max-tokens ou qu’il présente un constat au moins égal à --fail-on (critical par défaut : une clé divulguée fait donc toujours échouer). Les réglages peuvent se trouver dans .promptflowrc.json à la racine du dépôt :

.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

Les globs sont résolus par rapport au répertoire de travail et ignorent node_modules, .git et les sorties de build.