Service Manager · Go
Хватит жонглировать вкладками терминала
Один бинарник, который запускает сервисы в правильном порядке, ждёт пока они реально поднимутся, и нормально останавливает всё при выходе.
Terminal
$_
Конфигурация
Один файл. Любой проект.
Положи devservices.yaml в корень проекта — kb-dev найдёт его автоматически, поднимаясь по директориям от текущей.
Работает с любым стеком: Docker, pnpm, npm, make, shell. KB Labs использует .kb/devservices.yaml — тот же формат.
yaml
name: my-project
services:
postgres:
type: docker
command: docker run --rm -p 5432:5432 postgres:16
health_check: localhost:5432
port: 5432
api:
command: pnpm dev
port: 3000
health_check: http://localhost:3000/health
depends_on: [postgres]
worker:
command: pnpm worker
depends_on: [postgres]Команды
Всё поддаётся автоматизации.
kb-dev startЗапуск всех сервисов в порядке зависимостей. Health-проверки перед "alive".kb-dev stopGraceful-остановка всех работающих сервисов.kb-dev statusСостояние, PID, порт и uptime каждого сервиса.kb-dev restart workflowПерезапуск конкретного сервиса по имени.kb-dev logs gateway --followСтриминг живых логов сервиса. Ctrl-C для остановки.kb-dev doctorДиагностика окружения: порты, зависимости, конфиг, health.Все команды поддерживают --json для скриптов и CI
Как это работает
Детали, которые важны.
Знает когда сервис реально упал
Отслеживает реальные PID — сам запускал процессы. Без сканирования портов, без устаревшего состояния.
Не называет живым пока не ответит
HTTP, TCP и command health-проверки с задержкой. Статус alive только после прохождения проверки.
Запускает в правильном порядке
Читает зависимости сервисов из devservices.yaml и запускает в топологическом порядке автоматически.
Установить
Один бинарник. Без зависимостей.
curl -fsSL https://kblabs.ru/kb-dev/install.sh | sh