このプロジェクトについて

Glazier(コマンド名 `glaze`)は、tmuxワークスペースを宣言的に管理するコマンドラインツールです。セッション、ウィンドウ、ペインをHCLの `.glaze` ファイルに一度記述すれば、`glaze up` でオンデマンドに再現できます。 主要コマンド: - `glaze up` — プロファイルを適用し、セッション、ウィンドウ、ペインを作成します。`--detached`、`--clear`、`--debug`、カスタムソケット、変数オーバーライドをサポートします。 - `glaze down` — プロファイルが記述するセッションを終了します。冪等で、プロファイルなしで名前指定で終了する `--session` をサポートします。 - `glaze ls` — 対象のtmuxサーバー上のセッションを、ウィンドウ数と開始ディレクトリとともに一覧表示します。 - `glaze format` — プロファイルを正規のHCLに書き換えます。`--validate` は変数コントラクトを強制します。 - `glaze save` — 稼働中のセッションの構造(名前、ディレクトリ、フォーカス、レイアウト)を `.glaze` プロファイルに取り込みます。安全性のため、コマンド、環境変数、フック、オプションは意図的にエクスポートしません。 プロファイルの機能: - Terraform風の診断と自己検証を備えたHCL構文。 - `var.` で読み取る型付き `variable` ブロック。値は `--var` フラグまたは `--var-file` で指定します。 - 組み込み名前空間: `env.*`(`GLAZE_ENV_*` から)、`path.pwd` / `path.base`、`locals` ブロックからの `local.*`。 - go-ctyに支えられた文字列関数(upper、lower、replace、split、join、regexreplace、randomなど)。 - セッション、ウィンドウ、ペインは環境変数、フック、tmuxオプション、レイアウト(名前付きプリセットまたは生のtmuxレイアウト文字列)、フォーカス、ペインのサイズ設定/調整をサポートします。 - コマンドは `tmux wait-for` で順序付けられます(固定スリープなし)。最後のコマンドは待機せずに実行されるため、長時間実行されるプロセスがセッション作成をブロックしません。 プロファイルの解決順序: `--profile-path`、`./.glaze`、または `$GLAZE_PATH/.glaze`。このツールはLinuxとmacOSのみをサポートし、PATH上にtmuxが必要です。ビルド済みリリースバイナリにはSHA256チェックサムと署名済みビルド来歴証明が含まれます。ソースからのビルドにはGo 1.26以上が必要です。このプロジェクトはMITライセンスです。