Язык сценариев NKT представляет собой построчный декларативный инструмент, созданный специально для задач развертывания, проверки работоспособности и миграции сервисов. В отличие от полноценных языков программирования, он сознательно исключает условия, циклы и функции, ограничиваясь набором из 29 глаголов. Каждый глагол отвечает за атомарное действие, например, установку пакетов, управление службами, создание виртуальных машин или перенос контейнеров. Для реализации сложной логики язык использует описания сервисов и внешние плагины, которые расширяют функционал без изменения ядра.
Синтаксис языка позволяет создавать переменные через команду set, запрашивать конфиденциальные данные, такие как пароли и токены, через ask, и задавать параметры с подсказками через param. Управление хостами осуществляется командами group и host, которые добавляют машины на хаб или создают группы. Команда install ставит NKT на перечисленные хосты, а wait обеспечивает проверку доступности по различным критериям: статус онлайн, открытые порты, ответы HTTP или активность сервисов. Также предусмотрена проверка доступности адреса извне с использованием DNS и сертификатов.
На уровне хоста язык поддерживает работу с пакетами, файрволами (через ufw или firewalld), Docker-стеками и виртуальными машинами. Команда docker stack позволяет управлять контейнерами, а vm create создает ВМ из облачных образов с возможностью установки NKT внутрь. Для работы с Kubernetes предусмотрена команда k8s create, которая формирует кластер на виртуальных машинах, а k8s apply выполняет сухие прогоны манифестов. Особое внимание уделено переносу стеков: команда migrate автоматически планирует остановку, перенос данных через хаб и запуск на новом хосте, откатываясь в случае сбоя.
Интеграция с экосистемой включает веб-интерфейс с редактором сценариев, историю версий и кнопку ИИ для генерации кода из текстовых описаний или объяснения существующего кода. Запуск сценариев возможен через интерфейс или API, где токены имеют строгие права доступа: они могут запускать сохраненные сценарии, но не создавать или редактировать их. Язык также поддерживает готовые ноды для n8n и предоставляет MCP-сервер с инструментами для ИИ-агентов, позволяя управлять хостами, конвейерами и трафиком. Расширяемость обеспечивается описаниями сервисов в формате YAML и внешними плагинами, добавляющими новые команды, например, для работы с Cloudflare DNS или почтовыми доменами. Философия подхода заключается в том, что для задачи линейного развертывания с проверками избыточная логика не требуется, что делает инструмент простым и надежным.