johnlindquist/mdflow
Multi-backend CLI for executable markdown prompts. Run .md files against Claude, Codex, Gemini, or Copilot.
何を解決するか
mdflow はエージェントワークフロー用の Git ネイティブなコントロールプレーンです。一貫性のない、再現性のない AI エージェントタスクの問題を解決し、ユーザーが特定のジョブ(コードレビュー、リリースノートなど)をバージョン管理可能な Markdown ファイルとして定義できるようにします。これにより、プロンプトが一級の CLI コマンドに変換され、パイプ、チェーン、行動評価によって保護された状態で実行可能になります。
動作方法
- Markdown がコマンド: 特定のパターン(例:
task.claude.md)で名付けられたファイルは、自動的に CLI エンジン(Claude、Codex、Gemini など)にマッピングされます。Markdown 本文がプロンプトとして使用され、YAML フロントマターは CLI フラグに変換されます。 - エンジンの解決: どの AI エンジンを実行するかを決定するための解決ラダーを使用しており、明示的な CLI フラグ、環境変数、ファイル名をデフォルトよりも優先します。
- コンテキストの隔離: デフォルトでは、ユーザー設定やセッション永続化などの周囲のコンテキストを削除して、実行が隔離され再現可能になるようにしますが、
_isolated: falseを指定することでオプトアウト可能です。 - ライフサイクルフック: ユーザーは TypeScript ファイル(フック)をワークフローにアタッチして、特定のイベント(例:
userPromptSubmit)時にコンテキストを注入したり、アクションをブロックしたりできます。 - 行動評価:
md evalコマンドにより、隔離されたワークスペースで行動テストケースを実行でき、プロンプトの修正がリグレッションを引き起こさないか確認できます。 - 進化プロトコル:
md evolveコマンドにより、フィードバックに基づいてプロンプトの改善を提案・検証でき、すぐにソースファイルを上書きせずに済みます。
対象ユーザー
AI エージェントのプロンプトをコードとして扱いたい開発者やチーム。バージョン管理、リグレッションテスト、さまざまな CLI ベースの LLM エンジン間での AI タスクの標準化された実行方法を導入したい人向けです。
特徴
- Git ネイティブ: ワークフローは
./flowsディレクトリに保存され、プルリクエストで差分を確認できます。 - Unix フィロソフィー: stdin/stdout をサポートしており、エージェントをパイプ(例:
git diff | md review.md)でつなげられます。 - フロー ワークベンチ: プロジェクト、グローバル、インストール済みのフローを検索・実行できるインタラクティブな CLI サーフェス。
- エンジン非依存:
pi、claude、codex、copilot、gemini、agyなど、幅広いエンジンをサポート。 - テンプレート変数: フロントマター変数、CLI フラグ、インタラクティブなフォームプロンプトを用いて動的入力をサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト