Этот проект достиг минимально жизнеспособного уровня качества продукта. Хотя участники тестируют его в качестве своего ежедневного драйвера, он может быть нестабильным для некоторых команд. В будущих выпусках будут восполнены недостающие функции и улучшена стабильность. Его дизайн также может меняться по мере взросления.
Nu поставляется с набором встроенных команд (перечислены ниже). Если команда неизвестна, команда выполнит ее (используя cmd в Windows или bash в Linux и MacOS), правильно пройдя через stdin, stdout и stderr, поэтому такие вещи, как ваши ежедневные рабочие процессы git и даже vim, будут работать просто отлично.
Nu поддерживает плагины, которые предлагают дополнительные функции для оболочки и следуют той же модели структурированных данных, что и встроенные команды. Это позволяет вам расширять nu для ваших нужд.
В каталоге плагинов есть несколько примеров.
Плагины — это двоичные файлы, доступные по вашему пути и соответствующие соглашению об именах «nu_plugin_*». Эти двоичные файлы взаимодействуют с nu через простой протокол JSON-RPC, где команда идентифицирует себя и передает свою конфигурацию, которая затем делает ее доступной для использования. Если плагин является фильтром, данные передаются ему по одному элементу за раз, а в ответ он может передавать данные обратно через stdin/stdout. Если плагин является приемником, ему предоставляется полный вектор окончательных данных и предоставляется свобода действий над стандартным вводом/выводом, чтобы использовать его по своему усмотрению.