リファレンス

CLI と CI ゲート

promptflow は、OpenAI の正確なトークン数でエンジンをオフライン実行します。すべてのコマンドはファイルまたは標準入力(-)を読み取り、機械可読な出力用に --json を受け付けます。

インストール

npm パッケージ @promptflow/cli はまだ公開していません。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"

コマンド

コマンド機能終了コード
analyze <file>品質、評価軸、検出結果、トークン、意図0
optimize <file>検証付きの最適化。--mode、--goal、--budget、--write0
validate <file>検出結果のみ重大な検出結果があれば 1
compare <a> <b>トークン、品質、検出結果の差分0
tokens <file>トークン数と推定入力コスト(--model)0
scan <file>インジェクションのリスク、機密データ、区切られていない変数重大なセキュリティ検出結果があれば 1
sanitize <file>機密性の高い値を置き換えたテキストを出力0
check <glob…>プロンプトファイルに対する CI ゲートいずれかのファイルが失敗したら 1
modelsモデルカタログと参考価格0

check ゲート

ファイルは、品質が --min-score を下回る、トークン数が --max-tokens を超える、または --fail-on 以上の検出結果がある場合に失敗します(デフォルトは critical なので、漏えいしたキーは必ず失敗します)。設定はリポジトリのルートにある .promptflowrc.json に記述できます。

.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

glob は作業ディレクトリからの相対で解決され、node_modules、.git、ビルド出力は対象外です。