runprompt — .prompt ファイルを実行する小さなPythonスクリプト

AI/ML

概要

runpromptは、.prompt拡張子のファイル(Googleのdotprompt規格に準拠したフォーマット)をコマンドラインから実行するための、非常に小さな単一ファイルのPythonスクリプトです。ファイル先頭のYAMLフロントマターでモデルを指定し、本文には{{name}}のようなテンプレート変数を置けるため、テンプレート化されたプロンプトを簡単に評価してAPIへ投げることができます。ダウンロードして実行権限を付与するだけで使い始められ、環境変数でプロバイダのAPIキーを設定すればAnthropicや他のモデルを扱えます。軽量で依存が少ないため、ローカル実験やCI、スクリプトチェーンへの組み込みに便利です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 58
  • フォーク数: 2
  • ウォッチャー数: 58
  • コミット数: 26
  • ファイル数: 4
  • メインの言語: Python

主な特徴

  • 単一ファイルのPythonスクリプトで配布が容易(curl + chmod で即利用可能)
  • dotprompt形式(YAMLフロントマター + テンプレート本文)に準拠してプロンプトを実行
  • 環境変数でAPIキーを指定し、Anthropicなどのプロバイダと連携可能
  • 最小限の依存でローカル実験やCI統合に適した軽量設計

技術的なポイント

runpromptは「.prompt」ファイルを読み取り、YAMLフロントマターに書かれたメタ情報(例: model: anthropic/claude-…)を解析して実行時の挙動を決定します。本文はテンプレートとして扱われ、ハンドルバー風のプレースホルダ(例: {{name}})で値を埋め込めるため、同一テンプレートを変数のみ差し替えて複数回実行する用途に向きます。READMEの例から、モデル指定によりプロバイダやモデルファミリを判別する仕組み(model名のプレフィックスでAnthropic等を識別)を持つことが読み取れ、実行時には対応するAPIキーを環境変数から参照してリクエストを送信します。

設計上、単一ファイルで完結することを重視しているため、外部ライブラリ依存を最小化しつつ、YAMLのパースやテンプレート展開、HTTPによるAPI叩きを含む処理をコンパクトにまとめています。これにより、インストール手順が簡潔でポータブルに配布可能です。testsディレクトリが含まれていることから、基本的な振る舞い(テンプレート展開、フロントマターの読み取り、プロバイダ分岐など)に対するテストが用意され、信頼性の担保に配慮していることが伺えます。

運用面では、ローカルでのプロンプト検証やスクリプトによる自動生成パイプラインへの組み込み、CI上でのプロンプト回帰テストなどに適しています。逆に、商用レベルのエンタープライズ統合や大規模なエラーハンドリング、複雑なプラグイン方式の拡張性といった点は意図的にシンプルに保たれているため、そのまま大規模運用に直結させるのではなく、必要に応じてラッパーや運用ロジックを追加するのが現実的です。(約1200字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • README.md: file
  • runprompt: file
  • tests: dir

(補足)

  • runprompt: 実際にダウンロードして実行する単一ファイルスクリプト。本体のロジックはここにまとまっています。
  • README.md: クイックスタートや使用例、環境変数の設定方法などが記載されています。
  • tests: 基本的な動作確認用のテスト群が含まれているので、改修時に挙動を検証できます。
  • .github: CIワークフローやIssueテンプレートなどが配置されている可能性があります。

使い方の例(抜粋)

  1. スクリプトを取得して実行権限を与える: curl -O https://raw.githubusercontent.com/chr15m/runprompt/main/runprompt chmod +x runprompt

  2. hello.promptを作る:

    model: anthropic/claude-sonnet-4-20250514

    Say hello to {{name}}!

  3. APIキーを設定して実行: export ANTHROPIC_API_KEY=… ./runprompt hello.prompt —name Alice

このシンプルな流れでテンプレート化されたプロンプトをモデルに投げ、結果を得られます。

まとめ

シンプルで持ち運びしやすい、ローカル向けの.prompt実行ツール。

リポジトリ情報:

READMEの抜粋:

runprompt

A single-file Python script for running .prompt files.

Quick start | Examples | Configuration | Providers

Quick start

curl -O https://raw.githubusercontent.com/chr15m/runprompt/main/runprompt
chmod +x runprompt

Create hello.prompt:

---
model: anthropic/claude-sonnet-4-20250514
---
Say hello to {{name}}!

Run it:

export ANTHROPIC_API_KEY...