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
| Commande | Action | Code de sortie |
|---|---|---|
analyze <file> | Qualité, dimensions, constats, tokens, intention | 0 |
optimize <file> | Optimisation vérifiée. --mode, --goal, --budget, --write | 0 |
validate <file> | Constats uniquement | 1 en cas de constat critique |
compare <a> <b> | Écart de tokens, de qualité et de constats | 0 |
tokens <file> | Comptage et coût d’entrée estimé (--model) | 0 |
scan <file> | Risque d’injection, données sensibles, variables non délimitées | 1 en cas de constat de sécurité critique |
sanitize <file> | Affiche le texte avec les valeurs sensibles remplacées | 0 |
check <glob…> | Contrôle CI sur les fichiers de prompts | 1 si un fichier échoue |
models | Catalogue de modèles et prix de référence | 0 |
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 checkLes globs sont résolus par rapport au répertoire de travail et ignorent node_modules, .git et les sorties de build.