Что такое just?
just — это удобный исполнитель команд, написанный на Rust Кейси Родармором. Он сохраняет и запускает специфичные для проекта команды, называемые рецептами, которые хранятся в файле с именем justfile с синтаксисом, вдохновлённым make. В отличие от make, just не является системой сборки: рецепты — это просто команды для выполнения, поэтому здесь нет фиктивных целей (phony) и зависимости от времени изменения файлов. Набрав более 25 тысяч звёзд на GitHub, он стал предпочтительным инструментом запуска задач для современных проектов.
.PHONY повсюду? Надоели ошибки табуляции против пробелов и неявные правила сборки, которые срабатывают, когда вы меньше всего этого ожидаете? just сохраняет привычное ощущение рецептов Makefile, но избавляется от груза системы сборки — каждый рецепт это просто команда.
⚡ Ключевые возможности just
📝 Синтаксис в стиле make
Пишите рецепты в знакомом, читаемом justfile. Если вы знаете Makefile, вы уже знаете большую часть just — без причуд.
🧩 Параметры рецептов
Рецепты принимают аргументы и имеют значения по умолчанию, поэтому один рецепт может адаптироваться ко многим вызовам без дополнительных скриптов.
🐚 Любая оболочка или язык
Пишите рецепты на sh, bash, Python, Node или чём-либо ещё с помощью строки shebang. just запускает каждый рецепт с выбранным вами интерпретатором.
📋 Список и обнаружение
Запустите just --list, чтобы увидеть каждый рецепт с его комментарием-документацией. Новички могут мгновенно изучить задачи проекта.
🔐 .env и переменные
Загружайте файлы окружения, определяйте переменные и подставляйте их в рецепты. Держите конфигурацию в порядке и вне ваших команд.
🌍 Кроссплатформенность
Единый статический бинарный файл, который одинаково работает на Linux, macOS и Windows — без среды выполнения, без интерпретатора, без причуд.
🏆 Преимущества для производительности
- Экономия времени: Запускайте любую задачу проекта с помощью
just <recipe>вместо запоминания длинных команд - Самодокументирование:
just --listпоказывает каждую задачу и её описание - Единообразие: Вся команда запускает одни и те же команды одинаково
- Без причуд сборки: Рецепты — это команды, а не цели — никаких сюрпризов с устаревшими метками времени
- Переносимость: Один justfile работает на Linux, macOS и Windows
🆕 Что нового в just 1.56.0+
- Новые функции: Дополнительные встроенные функции выражений для путей, строк и окружения
- Атрибуты рецептов: Больше атрибутов для управления тем, как и когда запускаются рецепты
- Улучшенное автодополнение: Улучшенные скрипты автодополнения для bash, zsh и fish
- Более понятные ошибки: Более полезные сообщения об ошибках разбора и выполнения
- Кроссплатформенность: Продолжающиеся улучшения для Windows и обработки оболочек
- Man-страница: Актуальная man-страница
just.1, поставляемая с пакетом
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
Шаг 2: Установить just
Шаг 3: Создать ваш первый justfile
🎯 Примеры базового использования
Запуск рецептов:
Работа с justfile:
Автодополнение оболочки:
🚀 Почему выбрать deb.griffo.io?
- Официальный Ubuntu: Доступен, но часто устаревшие версии
- Cargo Install: Требует цепочки инструментов Rust и компиляции
- Скрипт установки: Ручные обновления без управления пакетами
- deb.griffo.io: Последняя версия (1.56.0+) с автоматическими обновлениями
- ✅ Последние возможности: Получайте новейшие атрибуты и функции рецептов
- ✅ Без компиляции Rust: Готовые бинарные файлы, цепочка инструментов не нужна
- ✅ Автоматические обновления: Пакеты обновляются в течение нескольких часов после выхода апстрима
- ✅ Полный пакет: Включает автодополнение оболочки и man-страницу
- ✅ Мультидистрибутив: Работает на Jammy и Noble
- ✅ Простое обслуживание: Стандартные команды apt для обновлений
📦 Репозиторий сборки пакетов
Пакеты Ubuntu автоматически собираются и поддерживаются в этом репозитории GitHub:
- 🤖 just-debian - Latest release builds
🔗 Связанные пакеты
Также доступно из deb.griffo.io:
- fzf Fuzzy Finder - Обеспечивает работу
just --chooseдля интерактивного выбора рецептов - Jujutsu - Современная, совместимая с Git система контроля версий
- Helix Editor - Постмодернистский модальный редактор для редактирования ваших justfile