Rune — быстрая, аппаратно-ускоренная (GPU) полнофункциональная IDE и терминальный мультиплексор, подходящая как для автоматизированного, так и для ручного программирования.
-
продолжайте работу откуда угодно: все запущенные экземпляры Rune образуют сеть одноранговых узлов с сквозным шифрованием (e2e-encrypted), построенную на базе нашей headscale-сети. Подключайтесь к рабочей станции с ноутбука и к ноутбуку с рабочей станции.
-
всё необходимое в комплекте: языковая аналитика производственного уровня работает сразу после установки. Список поддерживаемых языков доступен в документации.
-
новая модель организации рабочего процесса: оставайтесь в потоке дольше. Пользовательский интерфейс Rune — это экранный мультиплексор, позволяющий свободно настраивать рабочее пространство. Девять слотов рабочего пространства. Неограниченное количество терминалов, вкладок и окон. Встроенный агент или инструменты уровня IDE для вашего собственного.
-
плагины и расширения: расширяйте функциональность Rune с помощью официальных пакетов → или устанавливайте пользовательские прямо из Git-репозитория:
pkg install github.com/unstablebuild/rune-extension-themebuilder. -
нативное приложение: собственный графический конвейер — OpenGL на Linux, Metal на macOS. Никакого Electron.
Установка
curl -fsSL https://rune.build/install.sh | sh
Разработка
git clone git@github.com:unstablebuild/rune.git
Затем выполните:
go run ./cmd/rune
Чтобы собрать пакет приложения для macOS:
make rune-dmg
Подробности — в разделе предварительных требований.
Makefile
Makefile содержит несколько правил для типичных задач, возникающих в процессе разработки.
make # собрать все бинарные файлы в bin/
make debug # собрать с детектором гонок и отладочными командами
make clean # удалить bin/ и target/
# отдельные бинарные файлы
make rune # редактор (bin/rune)
make rune-agent # бинарный файл агентного расширения (bin/rune-agent)
# тестирование и контроль качества кода
make test # запустить набор тестов с детектором гонок
make test-e2e # также запустить e2e-тесты (требуется docker)
make test-no-race # запустить набор тестов без детектора гонок
make coverage # сформировать отчёт о покрытии кода
make lint # запустить golangci-lint
make format # запустить go fmt
make generate # перегенерировать сгенерированные файлы (protobuf, моки, документация)
# заголовки лицензий
make license # добавить заголовок лицензии в файлы, где он отсутствует
make assert_license # завершить с ошибкой, если в каком-либо файле нет канонического заголовка
Остальные цели (dist, release, rune-dmg*, -docker-, -notarize, -dist*) обслуживают внутренние конвейеры Unstable Build для сборки релизов, упаковки и облачного развёртывания — вне этого окружения они работать не предназначены.
Участие в разработке
См. CONTRIBUTING.md.
Для сообщения об уязвимостях безопасности см. SECURITY.md.
Спонсорство
Rune разрабатывается компанией Unstable Build, LLC — самофинансируемой организацией. Если вы хотите поддержать нас финансово, это можно сделать через GitHub Sponsors; возможно, мы даже пришлём вам сувениры.
Лицензия
Rune распространяется под лицензией GNU General Public License версии 3 или, по вашему выбору, любой более поздней версии.