Starship - Ваш терминал еще никогда не был таким быстрым и умным
Знакомая ситуация? Открываешь терминал, а там — скучная строка с именем пользователя и текущей директорией. Информации минимум, а чтобы узнать статус Git-репозитория или версию Node.js, приходится вводить дополнительные команды. Вроде мелочь, но из таких мелочей складывается продуктивность и, чего уж там, настроение разработчика.
К счастью, мир Open Source не стоит на месте, и сегодня я хочу рассказать вам о проекте, который способен радикально преобразить ваш опыт работы с командной строкой. Встречайте — Starship, минималистичный, невероятно быстрый и бесконечно настраиваемый промпт для любого шелла.
Что такое Starship и зачем он нужен?
Представьте, что ваш терминал — это приборная панель космического корабля. Стандартный промпт — это базовая панель с парой лампочек. Starship же превращает её в полноценный центр управления: здесь и показания скорости, и уровень топлива, и курс, и даже данные о погоде на ближайшей планете. И всё это — в реальном времени, без задержек.
По сути, Starship — это не просто красивый промпт. Это интеллектуальный помощник, который в нужный момент выводит самую важную информацию прямо в командную строку. Работаете в Git-репозитории? Увидите текущую ветку, статус изменений. Переключились на проект на Node.js? Промпт покажет версию Node.js. Зашли в директорию с проектом на Python? Вот вам версия Python и активное виртуальное окружение. И так далее, для десятков инструментов и языков.
Этот проект будет полезен каждому, кто регулярно работает в терминале: от системных администраторов до фронтенд-разработчиков, от дата-сайентистов до DevOps-инженеров. Если вы цените своё время и не хотите тратить его на рутинные проверки, Starship — ваш выбор.

Ключевые особенности, которые заставят вас влюбиться
Starship не просто так завоевал более 50 тысяч звёзд на GitHub. У него есть несколько по-настоящему killer-фич:
1. Молниеносная скорость 🚀
Пожалуй, это первое, что бросается в глаза. Starship написан на Rust, и это не просто модное слово. Rust позволяет создавать невероятно производительные приложения, и Starship — яркое тому подтверждение. Забудьте о задержках при переключении директорий или выполнении команд, когда промпт "думает". Starship работает настолько быстро, что вы его просто не замечаете. Он не мешает, а помогает.
2. Универсальность на всех фронтах
Один промпт для всех ваших шеллов и операционных систем? Да, это Starship! Будь то Bash, Zsh, Fish, PowerShell, Nushell или даже Cmd с Clink — Starship работает везде. И неважно, сидите вы на Linux, macOS или Windows. Это значит, что вы можете настроить свой идеальный промпт один раз и использовать его на всех своих машинах и во всех окружениях, сохраняя единообразие и привычный комфорт.
3. Бесконечная кастомизация
Здесь Starship раскрывается по-настоящему. Вы можете настроить каждый аспект вашего промпта: какие модули отображать, в каком порядке, какого цвета, какие иконки использовать. Хотите видеть статус Git? Пожалуйста. Нужен индикатор заряда батареи? Легко! Информация о Kubernetes-кластере? Без проблем.
Настройка осуществляется через простой файл starship.toml. Вот небольшой пример, чтобы вы поняли, насколько это гибко:
# ~/.config/starship.toml
# Отключить стандартный символ $
# disable_cmd_duration = true
# Изменить формат промпта
format = """$username@$hostname $directory $git_branch $git_status $cmd_duration
$character"""
# Настройки для модуля username
[username]
style_user = "bold yellow"
show_always = true
# Настройки для модуля directory
[directory]
truncation_length = 3
truncate_to_repo = false
style = "bold green"
# Настройки для модуля git_branch
[git_branch]
symbol = "🌱 "
style = "bold purple"
# Настройки для модуля git_status
[git_status]
stashed = "📦 "
ahead = "🏎️💨 "
behind = "🐢 "
diverged = "🔱 "
up_to_date = "✅ "
untracked = "🤷"
conflicted = "⚔️ "
renamed = "📛 "
modified = "📝 "
staged = " staging"
deleted = "🗑️ "
style = "bold red"
# Настройки для модуля character (символ промпта)
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
Вы можете начать с готовых пресетов, чтобы вдохновиться, а затем довести всё до идеала под свои нужды.
4. Интеллектуальная информативность
Starship не просто выводит данные, он делает это умно. Он показывает только ту информацию, которая актуальна в текущем контексте. Например, модуль Node.js появится только тогда, когда вы находитесь в директории с проектом на Node.js. Это позволяет избежать захламления промпта и сохранять его минималистичным, но при этом максимально полезным.
Поддерживаются десятки модулей для самых разных инструментов:
- Языки программирования: Node.js, Python, Rust, Go, Ruby, PHP, Java, .NET, Elixir, Swift, Haskell и многие другие.
- Системы контроля версий: Git (ветка, статус, изменения).
- Облачные провайдеры: AWS, GCP, Azure.
- Виртуализация и контейнеры: Docker, Kubernetes.
- Менеджеры пакетов: npm, Cargo, Pip.
- И многое другое!
Под капотом: почему Rust?
Как я уже упоминал, Starship написан на Rust. Это современный системный язык программирования, который славится своей производительностью, безопасностью и надёжностью. Для такого инструмента, как промпт, который постоянно работает в фоне и должен быть максимально отзывчивым, выбор Rust оказался идеальным. Он позволяет Starship быть не только функциональным, но и невероятно эффективным, потребляя минимум ресурсов.
Как начать пользоваться Starship?
Установка Starship — процесс удивительно простой и быстрый.
Шаг 1: Установите Nerd Font. Для корректного отображения всех красивых иконок и символов, которые предлагает Starship, вам понадобится Nerd Font. Это шрифты, расширенные тысячами глифов из популярных наборов иконок. Например, FiraCode Nerd Font — отличный выбор.
Шаг 2: Установите Starship. Самый простой способ для Linux и macOS:
curl -sS https://starship.rs/install.sh | sh
Для Windows, BSD, или если вы предпочитаете пакетные менеджеры, есть множество вариантов: brew install starship, choco install starship, apt install starship, pacman -S starship и так далее. Подробные инструкции для вашей ОС и пакетного менеджера вы всегда найдёте в документации.
Шаг 3: Настройте ваш шелл.
После установки нужно сказать вашему шеллу, чтобы он использовал Starship. Это делается добавлением одной строки в конфигурационный файл вашего шелла (например, ~/.bashrc для Bash или ~/.zshrc для Zsh).
Для Bash:
eval "$(starship init bash)"
Для Zsh:
eval "$(starship init zsh)"
И так далее для других шеллов. Полный список команд инициализации также есть в документации.
Шаг 4: Настройте Starship под себя.
Создайте файл ~/.config/starship.toml (или используйте другой путь, указанный в документации) и начните экспериментировать с конфигурацией, как в примере выше.
Выводы: Стоит ли попробовать?
Однозначно да! Если вы проводите много времени в терминале, Starship — это одно из тех улучшений, которое вы почувствуете сразу и которое будет приносить пользу каждый день. Это не просто "красивая обёртка", это функциональный инструмент, который делает вашу работу эффективнее и приятнее.
Он идеально подойдёт:
- Разработчикам, которым нужна актуальная информация о проекте (Git, версии языков) всегда под рукой.
- DevOps-инженерам и системным администраторам, работающим с множеством различных окружений и инструментов.
- Любому, кто ценит скорость и минимализм, но не хочет жертвовать информативностью.
Starship — это глоток свежего воздуха для вашей командной строки. Попробуйте, и, возможно, вы больше никогда не захотите возвращаться к стандартному промпту.
