Об этом проекте
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`; намеренно не экспортирует команды, переменные окружения, хуки или опции в целях безопасности.
Возможности профиля:
- Синтаксис HCL с диагностикой в стиле Terraform и самовалидацией.
- Типизированные блоки `variable`, читаемые через `var.`; значения передаются через флаги `--var` или `--var-file`.
- Встроенные пространства имён: `env.*` (из `GLAZE_ENV_*`), `path.pwd` / `path.base` и `local.*` из блоков `locals`.
- Строковые функции (upper, lower, replace, split, join, regexreplace, random и т. д.) на основе go-cty.
- Сессии, окна и панели поддерживают переменные окружения, хуки, опции tmux, раскладки (именованные пресеты или необработанные строки раскладки tmux), фокус и изменение размеров/настройку панелей.
- Команды упорядочиваются с помощью `tmux wait-for` (без фиксированных задержек); последняя команда выполняется без ожидания, чтобы длительные процессы не блокировали создание сессии.
Порядок разрешения профиля: `--profile-path`, `./.glaze` или `$GLAZE_PATH/.glaze`. Инструмент поддерживает только Linux и macOS и требует наличия tmux в PATH. Готовые бинарные файлы релизов включают контрольные суммы SHA256 и подписанные аттестации происхождения сборки; для сборки из исходного кода требуется Go 1.26+. Проект распространяется под лицензией MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.