Referencia

CLI y control en CI

promptflow ejecuta el motor sin conexión con recuentos exactos de tokens de OpenAI. Todos los comandos leen un archivo o la entrada estándar (-) y aceptan --json para una salida legible por máquinas.

Instalación

El paquete de npm @promptflow/cli aún no está publicado. Compílalo desde una copia del repositorio de 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"

Comandos

ComandoQué haceCódigo de salida
analyze <file>Calidad, dimensiones, hallazgos, tokens e intención0
optimize <file>Optimización verificada. --mode, --goal, --budget, --write0
validate <file>Solo hallazgos1 ante cualquier hallazgo crítico
compare <a> <b>Diferencia de tokens, calidad y hallazgos0
tokens <file>Recuento y coste de entrada estimado (--model)0
scan <file>Riesgo de inyección, datos sensibles y variables sin delimitar1 ante un hallazgo de seguridad crítico
sanitize <file>Imprime el texto con los valores sensibles sustituidos0
check <glob…>Control de CI sobre archivos de prompts1 si algún archivo falla
modelsCatálogo de modelos y precios de referencia0

El control check

Un archivo falla cuando su calidad está por debajo de --min-score, sus tokens superan --max-tokens o tiene un hallazgo igual o superior a --fail-on (por defecto critical, así que las claves filtradas siempre fallan). La configuración puede ir en .promptflowrc.json en la raíz del repositorio:

.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

Los globs se resuelven respecto al directorio de trabajo y omiten node_modules, .git y la salida de compilación.