Show HN: Promptctl – AIプロンプトのためのGit
Promptctlは、AIプロンプトのバージョン管理を行うCLIツールで、Gitと同様にプロンプトの追跡、差分表示、ロールバックが可能です。さまざまなコマンド(init、commit、log、diff、show、rollbackなど)を提供し、タグ付けやモデル追跡、ファイル監視による自動コミットもサポート。Go言語で作成され、外部依存はなく、すべてのデータは.promptctl/store.jsonに保存されます。
AIプロンプトのバージョン管理は、AIアプリケーション開発において重要な課題です。Promptctlはこの問題を解決するために開発されたCLIツールで、Gitのようにプロンプトの追跡、差分表示、ロールバックを可能にします。Naya AIのShawnaya Williams氏によって開発され、MITライセンスで公開されています。
主な機能
Promptctlはプロンプトのライフサイクル全体を管理します。commitコマンドでプロンプトの新しいバージョンを保存でき、標準入力またはファイルから読み取り、メッセージ、モデルタグ、カスタムタグを付与できます。logコマンドでバージョン履歴を表示し、プレビューやタグフィルターが可能。diffコマンドでバージョン間の差分を色分け表示。rollbackコマンドで以前のバージョンに非破壊的に戻り、新しいバージョンとして保存します。showで特定バージョンの内容表示、searchでコンテンツやタグの検索、exportでMarkdown形式にエクスポート、copyで履歴ごとコピー、renameでリネーム、deleteで削除ができます。
自動監視と便利機能
watchコマンドはファイルの変更を監視し、自動コミットします。エディタでプロンプトを編集しながら、保存のたびにバージョン管理できます。ポーリング間隔の指定も可能。pruneコマンドで最新N個だけ残して古いバージョンを削除。statsでストア全体の統計表示。completionでシェル補完スクリプトを生成します。
技術詳細
PromptctlはGoの標準ライブラリのみを使用しており、外部依存がありません。単一バイナリで動作し、すべてのデータは.promptctl/store.jsonにローカル保存されます。.promptctl/を.gitignoreに追加することで履歴をローカルに保つことができ、チームで共有する場合はstore.jsonのみを追跡することも可能です。
ロードマップ
今後の計画として、リモート同期(S3、GitHub Gist)、ターミナルでの並列差分表示、VS Code拡張機能などが予定されています。コミュニティからのコントリビューションも歓迎されています。
Promptctlは、プロンプトエンジニアリングに専門的なバージョン管理をもたらし、AI開発の効率と保守性を向上させるツールです。