Referência
CLI e verificação no CI
O promptflow roda o motor offline com contagens exatas de tokens da OpenAI. Todo comando lê um arquivo ou a entrada padrão (-) e aceita --json para saída legível por máquina.
Instalação
O pacote npm
@promptflow/cli ainda não foi publicado. Compile-o a partir de uma cópia do repositório do 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
| Comando | O que faz | Código de saída |
|---|---|---|
analyze <file> | Qualidade, dimensões, achados, tokens, intenção | 0 |
optimize <file> | Otimização verificada. --mode, --goal, --budget, --write | 0 |
validate <file> | Somente achados | 1 em qualquer achado crítico |
compare <a> <b> | Diferença de tokens, qualidade e achados | 0 |
tokens <file> | Contagem e custo de entrada estimado (--model) | 0 |
scan <file> | Risco de injeção, dados sensíveis, variáveis sem delimitação | 1 em um achado de segurança crítico |
sanitize <file> | Imprime o texto com os valores sensíveis substituídos | 0 |
check <glob…> | Verificação de CI sobre arquivos de prompts | 1 se algum arquivo falhar |
models | Catálogo de modelos e preços de referência | 0 |
A verificação check
Um arquivo falha quando sua qualidade está abaixo de --min-score, seus tokens passam de --max-tokens ou ele tem um achado igual ou acima de --fail-on (padrão critical, então chaves vazadas sempre falham). As configurações podem ficar em .promptflowrc.json na raiz do repositório:
.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 checkOs globs são resolvidos em relação ao diretório de trabalho e ignoram node_modules, .git e a saída de build.