📚

【v0.3.0】TUIで操作できるCLIファイル転送ツール Vento をアップデートしました!

に公開

はじめに

こんにちは、中田恭大(@kyotalab)です。

Rust製のCLIファイル転送ツール「Vento」に、TUI(Text-based User Interface)によるプロファイル編集機能を追加した v0.3.0 をリリースしました!

本記事では、新機能の概要と、今後の展望について簡単に紹介します。


🆕 v0.3.0の新機能

✅ TUIによる vento admin 操作画面の追加

$ vento admin

コマンドを実行すると、以下の操作が可能なTUI画面に遷移します:

  • プロファイル一覧の表示(Profile)
  • 設定ファイル(Config)の表示・編集
  • プロファイルの新規作成(Ctrl+N)
  • プロファイルの削除(Ctrl+D)
  • プロファイルの複製(Ctrl+C)
  • 編集モードに切り替えてフィールド単位で値を更新(Enter → 編集 → Ctrl+S で保存)

vento-admin-tui

✅ 編集可能な項目

  • プロファイルID / 説明
  • Source / Destination の種別、パス、ホスト、ポート
  • 認証情報(ユーザ名、パスワード参照、鍵ファイル参照など)
  • トリガーの種別(Manual / Schedule)および cron式
  • 転送プロトコル(SFTP / SCP)
  • 各種コマンド(Pre / Post / OnError)
  • 設定ファイルの出力先、ログレベル、最大ファイルサイズ など

✅ キーバインド一覧

操作 キー
編集開始 Enter
項目移動 ↑ / ↓ / Tab / Shift+Tab
文字入力 任意の文字キー
カーソル移動 ← / →
保存 Ctrl+S
新規作成 Ctrl+N
削除 Ctrl+D
複製 Ctrl+C
モード切替 Tab(Profile ↔ Config)
戻る/終了 Q / Esc

💡 TUI機能を追加した背景

従来の Vento では、profiles.yaml を手動で編集する必要がありました。
しかし、設定項目が増えるにつれて YAML の直編集が煩雑になり、
エラーの原因にもなっていました。

そのため、CLIから手軽にプロファイルや設定を編集できる安全なインターフェースとして
TUI管理画面を導入しました。

設定ファイルの整合性は保ちつつ、構造体へのマッピングと保存処理も全て Rust で制御しています。


🔭 今後の展望

今後の構想として、以下のような機能も検討中です:

  • 転送ジョブのスケジューリング(cron登録)
  • 実行ログの TUI 表示
  • WebDAV / HTTPS / S3 などのプロトコル対応

また、TUIは ratatuicrossterm をベースに作られており、将来的には
他のプロジェクト(設定エディタ、データ管理ツールなど)にも展開できるTUIパーツ群として再利用可能にする予定です。


🏁 最後に

今回の v0.3.0 では、TUIという操作体験の軸が加わったことで、
CLIツールとしての幅が大きく広がりました。

ぜひ一度試していただき、使い心地や改善点などあればフィードバックください!

GitHub: https://github.com/kyotalab/vento


今後も実用的かつ拡張性のあるCLIツールをRustで開発・発信していきます 💪

📦 以下コマンドでインストールしてお試しください!

brew tap kyotalab/vento
brew install vento

以上、 v0.3.0 のリリース紹介でした!

Discussion