fleetflow-config

Crates.iofleetflow-config
lib.rsfleetflow-config
version0.1.1
created_at2025-11-09 10:56:16.512769+00
updated_at2025-11-09 11:05:06.52494+00
descriptionConfiguration management for FleetFlow
homepagehttps://github.com/chronista-club/fleetflow
repositoryhttps://github.com/chronista-club/fleetflow
max_upload_size
id1923993
size22,714
Mako (mako-357)

documentation

README

fleetflow-config

Crates.io Documentation License

FleetFlowの設定ファイル検索と管理を提供するライブラリクレート。

概要

fleetflow-configは、FleetFlowの設定ファイルの検索と管理機能を提供します:

  • 設定ファイル検索 - 複数の場所から自動的に設定ファイルを検索
  • 設定ディレクトリ管理 - プラットフォーム固有の設定ディレクトリ
  • 優先順位 - 環境変数、ローカルファイル、グローバル設定の優先順位

使用例

use fleetflow_config::{find_flow_file, get_config_dir};

// 設定ファイルを検索
let flow_file = find_flow_file()?;
println!("Found: {}", flow_file.display());

// 設定ディレクトリを取得
let config_dir = get_config_dir()?;
println!("Config dir: {}", config_dir.display());

設定ファイル検索の優先順位

find_flow_file()は以下の優先順位で設定ファイルを検索します:

  1. 環境変数 FLOW_CONFIG_PATH - 直接パス指定
  2. カレントディレクトリ:
    • flow.local.kdl
    • .flow.local.kdl
    • flow.kdl
    • .flow.kdl
  3. .fleetflowディレクトリ ./.fleetflow/ 内で同様の順序
  4. グローバル設定 ~/.config/fleetflow/flow.kdl

設定ディレクトリ

get_config_dir()は、プラットフォーム固有の設定ディレクトリを返します:

  • Linux: ~/.config/fleetflow/
  • macOS: ~/Library/Application Support/fleetflow/
  • Windows: %APPDATA%\fleetflow\

ディレクトリが存在しない場合は自動的に作成されます。

エラー処理

use fleetflow_config::{find_flow_file, ConfigError};

match find_flow_file() {
    Ok(path) => println!("Found: {}", path.display()),
    Err(ConfigError::FlowFileNotFound) => {
        eprintln!("設定ファイルが見つかりません");
        eprintln!("flow.kdl を作成してください");
    }
    Err(e) => eprintln!("エラー: {}", e),
}

ドキュメント

ライセンス

MIT OR Apache-2.0

Commit count: 0

cargo fmt