Skip to content

Fish 設定ガイド

🌐 翻訳と貢献: このドキュメントをあなたの言語で翻訳または改善したいですか? 翻訳ガイドライン をご覧ください。

このガイドでは、fish.toml を使用した Fish ワークスペースの設定方法を説明します。


設定ファイルの概要

Fish はワークスペースのルートにある fish.toml から設定を読み込みます。fish.toml が存在しない場合、Fish は適切なデフォルト設定を自動的に適用します。

toml
[build]
backend = "rust"
jobs = 8
no_cache = false
sandbox = false
semantic = true
critical_path = true
ram_limit = 85

[cache]
dir = "~/.fish/cache"
reflink = true

[remote]
cache_url = "http://127.0.0.1:8080"
token = "secret-cache-token"

[daemon]
port = 9527

[pipelines.build]
depends_on = ["^build"]
inputs = ["src/**/*", "Cargo.toml", "Cargo.lock"]
outputs = ["target/release/**/*"]

[pipelines.test]
depends_on = ["build"]
inputs = ["tests/**/*", "src/**/*"]

トップレベルセクション

[build] —— 実行設定

キーデフォルト説明
backend文字列Autoプライマリツールチェーン (rust, ts, go, cc, python, java, dotnet, docker)。
jobs整数num_cpus最大並列ワーカタスク数。
no_cacheブール値falseローカルおよびリモートキャッシュ検索を無効化。
sandboxブール値falseサンドボックス隔離環境でタスクを実行。
semanticブール値falseAST 意味的変更検知を有効化。
critical_pathブール値false依存グラフのクリティカルパス上のタスクを優先。
ram_limit整数 (1-100)85利用可能メモリがこの割合を下回った場合に並列数を制御。
timeout整数Noneタスク実行タイムアウト(秒)。

[cache] —— ローカルストレージ設定

キーデフォルト説明
dir文字列~/.fish/cacheローカルコンテンツアドレス可能ストレージ (CAS) のパス。
reflinkブール値trueCopy-on-Write (CoW) またはハードリンクを使用して成果物を高速実体化。

[remote] —— 分散キャッシュとリモート実行

キーデフォルト説明
cache_url文字列Noneリモートキャッシュサーバーのアドレス (HTTP)。
token文字列Noneリモート操作用の Bearer 認証トークン。
workers文字列の配列[]リモートワーカーノードのアドレスリスト(例: ["worker1:9000", "worker2:9000"])。
send_sourceブール値false共有ストレージのないワーカーにソースコードのスナップショットを圧縮送信。

[daemon] —— バックグラウンド IPC デーモン

キーデフォルト説明
port整数9527Fish バックグラウンドデーモンがリッスンするローカル TCP ポート。

[pipelines.<task>] —— タスクパイプライン設定

パッケージ間のタスク依存関係とキャッシュ境界を設定します:

toml
[pipelines.build]
depends_on = ["^build"]
inputs = ["src/**/*", "Cargo.toml"]
outputs = ["target/release/*"]

[pipelines.test]
depends_on = ["build"]
inputs = ["tests/**/*", "src/**/*"]

[pipelines.lint]
inputs = ["src/**/*.rs"]